(57)【要約】【課題】制御プログラム及び情報プログラムとが共存するコントロール装置において柔軟な機能変更を可能とすること。【解決手段】コントロール装置が、プログラム配布装置から提供された実行管理情報を保存する実行管理情報テーブルと、少なくとも一方のプログラムを実行する際に、この実行管理情報テーブルに保存された実行管理情報に基づいて少なくとも一方のプログラムの実行を制御するタスク管理部と、を備える。【選択図】図１
2018084994.tif 000002
【特許請求の範囲】
【請求項１】
制御装置専用言語で記述され実行の前にコンパイル処理を必要としない制御プログラム、及び、汎用プログラミング言語を用いて記述され実行の前にコンパイル処理を必要とする情報プログラムを管理するプログラム配布装置と、前記プログラム配布装置から提供される前記制御プログラム及び前記情報プログラムが共存しつつ同一のプラットフォーム上で動作するコントロール装置と、を備えるコントロールシステムにおいて、
前記プログラム配布装置は、
前記制御プログラム及び前記情報プログラムを管理するプログラム管理部と、
前記制御プログラム及び前記情報プログラムのうち少なくとも一方のプログラムが前記コントロール装置における実行の際に用いるパラメータを表す実行管理情報を生成する実行管理情報生成部と、
要求に応じて前記少なくとも一方のプログラムを提供する際に併せて前記少なくとも一方のプログラムに対応する前記実行管理情報を提供するプログラム配布部と、
を備え、
前記コントロール装置は、
前記プログラム配布装置から提供された前記実行管理情報を保存する実行管理情報テーブルと、
前記少なくとも一方のプログラムを実行する際に、前記実行管理情報テーブルに保存された前記実行管理情報に基づいて前記少なくとも一方のプログラムの実行を制御するタスク管理部と、
を備えることを特徴とするコントロールシステム。
【請求項２】
前記コントロール装置は、
前記制御プログラム及び前記情報プログラムの各タスクが使用する所定の記憶容量の記憶領域を有するメモリを備え、
前記実行管理情報生成部は、
前記実行管理情報として少なくとも、前記制御プログラム及び前記情報プログラムの各タスクの優先度、及び、前記制御プログラム及び前記情報プログラムの各タスクが使用可能な前記メモリ内の上限記憶容量の少なくとも一方のパラメータを生成することを特徴とする請求項１に記載のコントロールシステム。
【請求項３】
前記同一のプラットフォームはＬｉｎｕｘ（登録商標）であり、
前記タスク管理部は、
前記優先度をｃｈｒｔコマンドを用いて設定する一方、前記制御プログラム及び前記情報プログラムの各タスクが使用可能な前記メモリの上限記憶容量をｃｇｒｏｕｐｓ機能を用いて設定することを特徴とする請求項２に記載のコントロールシステム。
【請求項４】
制御装置専用言語で記述され実行の前にコンパイル処理を必要としない制御プログラム、及び、汎用プログラミング言語を用いて記述され実行の前にコンパイル処理を必要とする情報プログラムを管理するプログラム配布装置と、前記プログラム配布装置から提供される前記制御プログラム及び前記情報プログラムが共存しつつ同一のプラットフォーム上で動作するコントロール装置と、を備えるコントロールシステムにおけるプログラム配布方法において、
前記プログラム配布装置が、前記制御プログラム及び前記情報プログラムを管理するプログラム管理ステップと、
前記プログラム配布装置が、前記制御プログラム及び前記情報プログラムのうち少なくとも一方のプログラムが前記コントロール装置における実行の際に用いるパラメータを表す実行管理情報を生成する実行管理情報生成ステップと、
前記プログラム配布装置が、要求に応じて前記少なくとも一方のプログラムを提供する際に併せて前記少なくとも一方のプログラムに対応する前記実行管理情報を提供するプログラム配布ステップと、
を実行し、
前記コントロール装置が、前記プログラム配布装置から提供された前記実行管理情報を保存する実行管理情報保存ステップと、
前記コントロール装置が、前記少なくとも一方のプログラムを実行する際に、前記実行管理情報テーブルに保存された前記実行管理情報に基づいて前記少なくとも一方のプログラムの実行を制御するタスク管理ステップと、
を実行することを特徴とするコントロールシステムにおけるプログラム配布方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントロールシステム及びコントロール方法に関し、特に、コントロール装置及びプログラム配布装置を備えるコントロールシステムに適用して好適なものである。
【背景技術】
【０００２】
コントロール装置は、シーケンス制御装置、モーション制御装置又はプログラマブル・ロジック・コントローラ（ＰＬＣ）とも呼ばれている。コントロール装置は、ラダー・ロジック（ＬＤ言語）、シーケンシャル・ファンクション・チャート（ＳＦＣ言語）、ファンクション・ブロック（ＦＢＤ言語）、ストラクチャード・テキスト（ＳＴ言語）、インストラクション・リスト（ＩＬ言語）のような制御装置特有のプログラミング言語を用いて制御内容が記述される。このような制御内容を実行するプログラムを「制御プログラム」と呼ぶ。
【０００３】
このようなコントロール装置において、複雑な算術演算やＳＣＡＤＡ、ＭＥＳ、クラウドシステムとの情報の送受信のような情報通信処理が必要な場合がある。このような情報通信処理は、上述の制御装置特有の言語でプログラミングすることが困難な場合があり、Ｃ言語またはＪａｖａ（登録商標）言語などの情報通信分野で使われるプログラミング言語を用いて記述することがある。このような情報通信処理を実行するプログラムを「情報プログラム」と呼ぶ。
【０００４】
単一のコントロール装置における制御プログラムと情報プログラムを共存させる方法については、例えば、特許文献１に開示されている。この特許文献１におけるコントロール装置は、プロセス間通信を行うためのＰＯＵ（Program Organization Unit）拡張メインモジュールと、ユーザが作成したＣ言語ＰＯＵを管理し、ラダー・ロジック等のＰＬＣプログラムを実行するＳＬＣ（Software Logic Controller）ランタイムとの通信を実行するＰＯＵ拡張サブモジュールと、Ｃ言語ＰＯＵを呼び出すためのファンクション・ブロックと、ユーザが作成したＣ言語ＰＯＵを備える。このコントロール装置は、Ｃ言語ＰＯＵとＳＬＣランタイムが別プロセスとなっておりＣ言語ＰＯＵを変更してもＳＬＣランタイムを変更する必要がないため、再コンパイルが不要な構成となっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１８９５０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１におけるコントローラは、Ｃ言語ＰＯＵ（情報プログラムに相当）とＳＬＣランタイム（制御プログラムに相当）が別プロセスとなっており、Ｃ言語ＰＯＵの変更時にＳＬＣランタイムの再コンパイルが不要な構成となっているが、新たな機能を有するＣ言語ＰＯＵの追加については考慮されていない。
【０００７】
本発明は以上の点を考慮してなされたもので、制御プログラム及び情報プログラムが同一プラットフォーム上に共存するコントロール装置において柔軟な機能変更を可能とするコントロールシステム及びコントロール方法を提案しようとするものである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため、本発明においては、制御装置専用言語で記述され実行の前にコンパイル処理を必要としない制御プログラム、及び、汎用プログラミング言語を用いて記述され実行の前にコンパイル処理を必要とする情報プログラムを管理するプログラム配布装置と、前記プログラム配布装置から提供される前記制御プログラム及び前記情報プログラムが共存しつつ同一のプラットフォーム上で動作するコントロール装置と、を備えるコントロールシステムにおいて、前記プログラム配布装置は、前記制御プログラム及び前記情報プログラムを管理するプログラム管理部と、前記制御プログラム及び前記情報プログラムのうち少なくとも一方のプログラムが前記コントロール装置における実行の際に用いるパラメータを表す実行管理情報を生成する実行管理情報生成部と、要求に応じて前記少なくとも一方のプログラムを提供する際に併せて前記少なくとも一方のプログラムに対応する前記実行管理情報を提供するプログラム配布部と、を備え、前記コントロール装置は、前記プログラム配布装置から提供された前記実行管理情報を保存する実行管理情報テーブルと、前記少なくとも一方のプログラムを実行する際に、前記実行管理情報テーブルに保存された前記実行管理情報に基づいて前記少なくとも一方のプログラムの実行を制御するタスク管理部と、を備えることを特徴とする。
【０００９】
また、本発明においては、制御装置専用言語で記述され実行の前にコンパイル処理を必要としない制御プログラム、及び、汎用プログラミング言語を用いて記述され実行の前にコンパイル処理を必要とする情報プログラムを管理するプログラム配布装置と、前記プログラム配布装置から提供される前記制御プログラム及び前記情報プログラムが共存しつつ同一のプラットフォーム上で動作するコントロール装置と、を備えるコントロールシステムにおけるプログラム配布方法において、前記プログラム配布装置が、前記制御プログラム及び前記情報プログラムを管理するプログラム管理ステップと、前記プログラム配布装置が、前記制御プログラム及び前記情報プログラムのうち少なくとも一方のプログラムが前記コントロール装置における実行の際に用いるパラメータを表す実行管理情報を生成する実行管理情報生成ステップと、前記プログラム配布装置が、要求に応じて前記少なくとも一方のプログラムを提供する際に併せて前記少なくとも一方のプログラムに対応する前記実行管理情報を提供するプログラム配布ステップと、を実行し、前記コントロール装置が、前記プログラム配布装置から提供された前記実行管理情報を保存する実行管理情報保存ステップと、前記コントロール装置が、前記少なくとも一方のプログラムを実行する際に、前記実行管理情報テーブルに保存された前記実行管理情報に基づいて前記少なくとも一方のプログラムの実行を制御するタスク管理ステップと、を実行することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、制御プログラム及び情報プログラムが同一プラットフォーム上に共存するコントロール装置において柔軟に機能変更を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態によるコントロールシステムのハードウェア構成例を示すブロック図である。
【図２】第１の実施の形態によるコントロールシステムの機能的な概略構成を示すブロック図である。
【図３】図２に示す実行管理情報テーブルのテーブル構成例を示す図である。
【図４】コントロール装置がプログラム配布装置から所望のプログラムをダウンロードするプログラムダウンロード処理の一例を示すフローチャートである。
【図５】プログラム実行処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面について、本発明の一実施の形態について詳述する。
【００１３】
（１）第１の実施の形態
図１は、第１の実施の形態によるコントロールシステムのハードウェア構成例を示す。このコントロールシステムでは、プログラム配布装置１０１、コントロール装置１０９、Ｉ／Ｏモジュール１１９及び周辺機器１２０がネットワーク１０８に接続されている。
【００１４】
周辺機器１２０は、センサ及びドライブなどの少なくとも１つの機器である。Ｉ／Ｏモジュール１１９は、周辺機器１２０が必要に応じて着脱可能に装着されるバススロットとして機能する。
【００１５】
プログラム配布装置１０１は、制御プログラム及び情報プログラムを管理している。プログラム配布装置１０１は、ＥＰＲＯＭ２０１、ＣＰＵ２０２、メインメモリ２０３、周辺制御装置２０５、不揮発性記憶装置２０６及びネットワークインターフェース（図示のネットワークＩ／Ｆに相当）２０７を備える。プログラム配布装置１０１は、ネットワークインターフェース２０７を介してネットワーク１０８に接続されている。
【００１６】
プログラム配布装置１０１は、周辺制御装置２０５の制御によってネットワーク１０８を経由してコントロール装置１０９に対して制御プログラムを提供したり情報プログラムを提供する。このプログラム配布装置１０１では、ＣＰＵ２０２の制御によって、不揮発性記憶装置２０６に予め格納されている制御プログラム及び情報プログラムを要求に応じて提供する。
【００１７】
周辺制御装置２０５は、バス２０４を介してＥＰＲＯＭ２０１、ＣＰＵ２０２及びメインメモリ２０３に接続されている。ＣＰＵ２０２は、ＥＰＲＯＭ２０１に予め格納されている管理プログラムをメインメモリ２０３上に読み出して実行し、この管理プログラムによって上記制御プログラム及び情報プログラムを管理している。
【００１８】
この管理プログラムは、要求に応じて逐次、上述した制御プログラム及び情報プログラムのうち少なくとも一方のプログラムを提供する。この管理プログラムは、後述するプログラム配布部１０２及び実行監視情報生成部１０３に相当する。
【００１９】
一方、コントロール装置１０９は、ＥＰＲＯＭ２０８、ＣＰＵ２０９、メインメモリ２１０、周辺制御装置２１２、Ｉ／Ｏ制御装置２１４、不揮発性記憶装置２１５及びネットワークインターフェース（図示のネットワークＩ／Ｆに相当）２１３を備えている。コントロール装置１０９では、プログラム配布装置１０１から提供される制御プログラム及び情報プログラムが例えばＬｉｎｕｘ（登録商標）のような同一のプラットフォーム上で共存しつつ動作する。
【００２０】
周辺制御装置２１２は、ネットワークＩ／Ｆ２１３、Ｉ／Ｏ制御装置２１４、不揮発性記憶装置２１５及びバス２１１に接続されている。このバス２１１には、その他にもＥＰＲＯＭ２０８、ＣＰＵ２０９及びメインメモリ２１０が接続されている。
【００２１】
ＥＰＲＯＭ２０８には、初期状態で予めコントロール装置１０８に用意されている制御プログラム及び情報プログラムが格納されている。ＣＰＵ２０９は、複数のコアを備えており、各コアを独立させて動作させることができる。ＣＰＵ２０９は、ＥＰＲＯＭ２０８に予め格納されている制御プログラム及び情報プログラムをメインメモリ２１０に読み出して実行し、これら制御プログラム及び情報プログラムの動作を制御する。すなわち、これらの制御プログラム及び情報プログラムが読み出されて実行されると、制御プログラム１１４及び情報プログラム１１５となる。
【００２２】
ＣＰＵ２０９は、周辺制御装置２１２を制御してネットワークＩ／Ｆ２１３を介してプログラム配布装置１０１からの制御プログラム及び情報プログラムのダウンロードを制御する。
【００２３】
ＣＰＵ２０９は、周辺制御装置２１２を制御してＩ／Ｏ制御装置２１４及び複数のＩ／Ｏモジュール１１９を介して複数の周辺機器１２０を制御する。これら各周辺機器１２０は、各Ｉ／Ｏモジュール１１９に対応付けられており、例えばデジタルＩ／Ｏレジスタと一対一に管理されレジスタ操作で逐一操作が可能となっている。
【００２４】
図２は、第１の実施の形態によるコントロールシステムの機能的な概略構成例を示す。プログラム配布装置１０１は、プログラム管理データベース（図示のプログラム管理ＤＢに相当）１０４、プログラム配布部１０２及び実行管理情報生成部１０３を備えている。これらプログラム配布部１０２及び実行管理情報生成部１０３は記述の管理プログラムに相当する。
【００２５】
プログラム管理データベース１０４は、制御プログラム１０５及び情報プログラム１０６を管理する。実行管理情報生成部１０３は、制御プログラム１０５及び情報プログラム１０６のうち少なくとも一方のプログラムがコントロール装置１０９において実行される際のパラメータを表す実行管理情報を生成する。この実行管理情報は、例えば制御プログラム１０５及び情報プログラム１０６の各タスクの優先度、及び、制御プログラム１０５及び情報プログラム１０６ごとに使用可能な上限記憶容量のようなパラメータである。
【００２６】
プログラム配布部１０２は、要求に応じて上記少なくとも一方のプログラムを提供する際に併せて上記少なくとも一方のプログラムに対応するパラメータ値を示す実行管理情報を提供する。
【００２７】
コントロール装置１０９は、シーケンス制御装置、モーション制御装置、又はプログラマブル・ロジック・コントローラ（ＰＬＣ）とも呼ばれ、ラダー・ロジック（ＬＤ言語）、シーケンシャル・ファンクション・チャート（ＳＦＣ言語）、ファンクション・ブロック（ＦＢＤ言語）、ストラクチャード・テキスト（ＳＴ言語）、インストラクション・リスト（ＩＬ言語）のような制御装置特有のプログラミング言語で制御内容が記述される。第１の実施の形態では、このような制御内容を実行するプログラムを「制御プログラム」と呼ぶ。
【００２８】
一方、このようなコントロール装置１０９では、複雑な算術演算、ＳＣＡＤＡ、ＭＥＳ、クラウドシステムとの情報の送受信のような情報通信処理が必要な場合がある。このような情報通信処理は、コントロール装置１０９特有の言語でプログラミングすることが困難な場合があり、いわゆるＣ言語またはＪａｖａ（登録商標）言語などの情報通信分野で使われるプログラミング言語を用いて記述する場合がある。第１の実施の形態では、このような情報通信処理を実行するプログラムを「情報プログラム」と呼ぶ。
【００２９】
プログラム管理データベース１０４は、上述した制御内容を実行する機能を有する制御プログラム１０５、及び、上述した情報通信処理を実行する機能を有する情報プログラム１０６を管理している。
【００３０】
コントロール装置１０９は、タスク管理部１１０、制御プログラム実行部１１１、情報プログラム実行部１１２、実行管理情報テーブル１１３及びＩ／Ｏ制御部１１７を備えている。
【００３１】
制御プログラム実行部１１１は、例えばランタイムライブラリであり、制御プログラム１１４からの呼び出しに応じて制御プログラム１１４とともに動作する。情報プログラム実行部１１２は、例えばいわゆるライブラリであり、情報プログラム１１５からの呼び出しに応じて情報プログラム１１５とともに動作する。
【００３２】
なお、制御プログラム１１４は、プログラム配布装置１０１からコントロール装置１０９に配布済みの制御プログラム１０５を示し、情報プログラム１１５は、プログラム配布装置１０１からコントロール装置１０９に配布済みの情報プログラム１０６を示している。
【００３３】
実行管理情報テーブル１１３は、プログラム配布装置１０１から提供された上記少なくとも一方のプログラムとともに受け取った上記実行管理情報が保存される。
【００３４】
一方、タスク管理部１１０は、主として２つの機能を備えており、プログラム受信機能及びプログラム実行管理機能を有する。プログラム受信機能は、要求に応じてプログラム配布装置１０１から提供される上記少なくとも一方のプログラムを受信する機能である。一方、プログラム実行管理機能は、上記少なくとも一方のプログラムを実行する際に、実行管理情報テーブル１１３に保存された前記実行管理情報に基づいて前記少なくとも一方のプログラムの実行を制御する機能である。
【００３５】
上述したようにコントロール装置１０９は、制御プログラム１１４及び情報プログラム１１５の各タスクが使用する所定の記憶容量の記憶領域を有するメインメモリ２１０を備える。
【００３６】
ここで、プログラム配布装置１０１では、実行管理情報生成部１０３が、実行管理情報として少なくとも、制御プログラム１０５及び情報プログラム１０６の各タスクの優先度、及び、制御プログラム１０５及び情報プログラム１０６の各タスクによって使用可能なメインメモリ２１０の上限記憶容量の少なくとも一方のパラメータ値を示す実行管理情報を生成する。
【００３７】
図３は、図２に示す実行管理情報テーブル１１３のテーブル構成例を示す。実行管理情報テーブル１１３は、そのカラムとして、例えばプログラム名３０１、プログラム種別３０２、タスク優先度３０３、実行周期３０４、メモリ上限３０５、ＣＰＵコア番号３０６及び利用デバイス３０７を有する。
【００３８】
プログラム名３０１は、各プログラムの名称を表している。プログラム種別３０２は、各プログラムが制御プログラム１１４であるか情報プログラム１１５であるかというプログラムの種別を表している。なお、上述したプログラム名３０１の先頭３文字においても、制御プログラム１１４であるか情報プログラム１１５であるかを識別可能であり、「ＣＴＬ」は制御プログラム１１４を表しており、「ＩＣＴ」は情報プログラム１１５であることを表している。
【００３９】
タスク優先度３０３は、実行中の制御プログラム１１４及び情報プログラム１１５に対応するタスクの優先度を表している。タスク優先度３０３では、例えば「０（優先度：高）」から「２０（優先度：低）」までの間で優先度が設定可能である。
【００４０】
実行周期３０４は、制御プログラム１１４及び情報プログラム１１５における定常処理が実行される周期を表している。メモリ上限３０５は、各プログラムがメインメモリ２０３の記憶領域において使用可能な記憶容量を表している。
【００４１】
ＣＰＵコア番号３０６は、コントロール装置１０９のＣＰＵ２０９に搭載されている複数のコアのうちどちらのコアを各プログラムに割り当てるかを表している。
【００４２】
利用デバイス３０７は、コントロール装置１０９がＩ／Ｏモジュール１１９を介して利用するデバイスとしての周辺機器１２０の種類を表している。
【００４３】
図４は、コントロール装置１０９がプログラム配布装置１０１から所望のプログラムをダウンロードするプログラムダウンロード処理の一例を示す。まず、プログラム配布装置１０１では、図示しない操作画面を用いたユーザの操作に応じて、ダウンロードすべきプログラムが選択される（ステップＳ４０１）。これにより、プログラム配布部１０２は、対応する特定のプログラムをプログラム管理データベース１０４において特定する。
【００４４】
次にプログラム配布装置１０１では、操作画面においてユーザの操作に応じて上記特定のプログラムについて実行管理情報が設定される（ステップＳ４０２）。この実行管理情報には、例えば図３に示すようにタスク優先度３０３が含められている。これにより、実行管理情報生成部１０３は、ユーザの入力内容に応じて上記特定のプログラムの動作態様に関するパラメータとして、例えば、各プログラムの各タスクが実行される際の優先度、及び、各タスクが使用可能なメインメモリ２１０内の上限記憶容量の少なくとも一方のパラメータを設定することができる。以下、一例として主として優先度を取り上げて説明する。以上までが、プログラム配布装置１０１における処理を表しており、これ以降はコントロール装置１０９における処理を表している。
【００４５】
プログラム配布装置１０１は、コントロール装置１０９の要求に応じて、上記特定のプログラム及びこれに対応付けられた実行管理情報をコントロール装置１０９にダウンロードする（ステップＳ４０３）。
【００４６】
次にコントロール装置１０９では、タスク管理部１１０が、上記ダウンロードされた上記特定のプログラムを受信する（既述のプログラム受信機能に相当）。タスク管理部１１０は、受信が完了すると、上記特定のプログラムが制御プログラムである場合には制御プログラム１１４としてメインメモリ２１０に保存する（ステップＳ４０４）。
【００４７】
次にコントロール装置１０９では、タスク管理部１１０が上記特定のプログラムとともにダウンロードした実行管理情報を実行管理情報テーブル１１３に追記する（既述のプログラム実行管理機能に相当）（ステップＳ４０５）。
【００４８】
図５は、プログラム実行処理の一例を示す。このプログラム実行処理は、コントロール装置１０９において上記特定のプログラムが実行される場合の処理内容を表している。
【００４９】
タスク管理部１１０は、ある所定のプログラムを新たに実行しようとした際、実行管理情報テーブル１１３から、当該所定のプログラムに対応する実行管理情報を読み出す（ステップＳ５０１）。当該所定のプログラムに対応する実行管理情報としては、実行管理情報テーブル１１３における優先度３０３において管理している、当該所定のプログラムの各タスクが実行される際における優先度を含む。
【００５０】
次にタスク管理部１１０は、当該読み出された実行管理情報に基づいて当該所定のプログラムのパラメータとして、例えば、当該所定のプログラム（制御プログラム１０５及び情報プログラム１０４の少なくとも一方のプログラム）の各タスクの優先度を設定したり、各タスクが使用可能なメインメモリ２１０の上限記憶容量をＬｉｎｕｘ（登録商標）のｃｈｒｔコマンド（ステップＳ５０２）。タスク管理部１１０は、このような優先度をＬｉｎｕｘ（登録商標）のｃｈｒｔコマンドを用いて設定する。一方、タスク管理部１１０は、上述した上限記憶容量をｃｇｒｏｕｐｓ機能を用いて設定する。
【００５１】
以上のような実施の形態によれば、制御プログラム１１４及び情報プログラム１１５が同一プラットフォーム上に共存するコントロール装置１０９において制御プログラム１１４及び情報プログラム１１５がそれぞれ対応するパラメータに応じて互いに影響を与えない範囲でのみ動作するようになる（ステップＳ５０３）。即ち、制御プログラム１１４及び情報プログラム１１５は、互いに、例えばタスクの追加、更新又は削除のような機能変更に際し、他のプログラムの停止を伴う必要がないばかりでなく、情報プログラム１１５は、再コンパイルを必要としない。このため、制御プログラム１１４及び情報プログラム１１５の各タスクの追加、更新及び削除のいずれの機能的な変更も行い易くなるため、コントロール装置１０９は柔軟な機能変更を可能とする。
【００５２】
（２）第２の実施の形態
第２の実施の形態によるコントロールシステムは、既述の第１の実施の形態によるコントロールシステムとほぼ同様な構成であるため、同様な構成については同一の符号を用いて説明を省略し、以下、異なる点を中心として説明する。
【００５３】
第２の実施の形態によるコントロールシステムでは、上述した操作画面（図示せず）に、図３に示す実行管理情報テーブル１１３に基づいて、上述したプログラムの各タスクが使用可能なメインメモリ２１０の上限記憶容量に応じて導き出される残りリソース、すなわち、各タスクが使用可能なメインメモリ２１０の残容量を表示している。
【００５４】
プログラム配布装置１０１では、上述した操作画面において所定の操作に応じて、例えば残りリソースなどが選択されると、当該残りリソースを含むパラメータ値を示す実行管理情報を、選択されたプログラムとともにコントロール装置１０９にダウンロードする。既述のようにコントロール装置１０９では、タスク管理部１１０が当該選択されたプログラムとともに上記実行管理情報を受け取り、この実行管理情報を実行管理情報テーブル１１３に登録する。
【００５５】
既述のように、当該選択されたプログラムが制御プログラム１１４であれば、制御プログラム実行部１１１が、上記実行管理情報に基づく残りリソースをパラメータ値として、当該選択されたプログラムである制御プログラム１１４を実行する。一方、当該選択されたプログラムが情報プログラム１１５であれば、情報プログラム実行部１１２が、上記実行管理情報に基づく残りリソースをパラメータ値として、当該選択されたプログラムである情報プログラム１１５を実行する。
【００５６】
以上のような構成とすると、第１の実施の形態と同様な効果を得ることができるとともに、さらに、そのような各タスクが使用可能なメインメモリ２１０の残りリソースに接したユーザが適切な情報に基づいてダウンロード設定を行うことができるとともに、上述した選択されたプログラムが既存のプログラムに影響を与えないようにすることができる。
【００５７】
（３）変型例
上述した実施の形態では、次のような変型例を採用することができる。第１の変型例としては、例えばハイパバイザ等を利用してＯＳ層から分けるようにしても良い。
【００５８】
（４）その他の実施形態
上記実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その趣旨を逸脱しない限り、様々な形態で実施することができる。例えば、上記実施形態では、各種プログラムの処理をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、処理結果に矛盾が生じない限り、処理の順序を入れ替え又は並行動作するように構成しても良い。
【産業上の利用可能性】
【００５９】
本発明は、制御プログラム及び情報プログラムとが共存するコントロール装置を備えるコントロールシステム及びコントロール方法に広く適用することができる。
【符号の説明】
【００６０】
１０１……プログラム配布装置、１０２……プログラム配布部、１０３……実行管理情報生成部、１０４……プログラム管理データベース、１０５……制御プログラム、１０６……情報プログラム、１０９……コントロール装置、１１０……タスク管理部、１１３……実行管理情報テーブル、１１４……制御プログラム、１１５……情報プログラム。
【図１】
2018084994.tif 000003
【図２】
2018084994.tif 000004
【図３】
2018084994.tif 000005
【図４】
2018084994.tif 000006
【図５】
2018084994.tif 000007