(57)【要約】【課題】ネットワークアクセスに関する処理量を増大を可及的に抑えつつユーザプログラムを動作させるＯＳの変更を簡単に行うことができる制御装置を得る。【解決手段】制御データおよび宛先の機器を指定する相手先情報を生成するユーザＣＰＵと、制御データを送信するためのヘッダを生成するシステムＣＰＵと、相手先情報に基づいて制御データの送信元となるネットワークユニットを選定するデータ送信ハードウェアインタフェースと、を備え、ユーザＣＰＵは制御データをデータ送信ハードウェアインタフェースに送信し、データ送信ハードウェアインタフェースはユーザＣＰＵから送信されてきた制御データを選定したネットワークユニットに逐次転送し、選定されたネットワークユニットはヘッダおよびデータ送信ハードウェアインタフェースから転送されてきた制御データを宛先の機器に送信する。【選択図】図５
2011008578.tif 000002
【特許請求の範囲】
【請求項１】
一つ以上のネットワークに夫々接続するための接続インタフェースである一つ以上のネットワークユニットを備え、前記夫々のネットワークユニットが接続しているネットワークを介して接続された機器へ前記機器を制御するための制御データを送信する制御装置において、
制御データおよび前記制御データの宛先の機器を指定する相手先情報を生成するユーザＣＰＵと、
前記宛先の機器に前記制御データを送信するためのヘッダを生成するシステムＣＰＵと、
前記ユーザＣＰＵが生成した相手先情報に基づいて前記制御データの送信元となるネットワークユニットを自制御装置が備えるネットワークユニットから選定するデータ送信ハードウェアインタフェースと、
を備え、
前記ユーザＣＰＵは前記生成した制御データを前記データ送信ハードウェアインタフェースに送信し、前記データ送信ハードウェアインタフェースは前記ユーザＣＰＵから送信されてきた制御データを前記選定したネットワークユニットに逐次転送し、前記選定されたネットワークユニットは前記システムＣＰＵが生成したヘッダおよび前記データ送信ハードウェアインタフェースから転送されてきた制御データを宛先の機器に送信する、
ことを特徴とする制御装置。
【請求項２】
前記ユーザＣＰＵは、前記ユーザＣＰＵが生成した相手先情報を前記データ送信ハードウェアインタフェースに送信し、前記システムＣＰＵは、前記データ送信ハードウェアインタフェースが受信した相手先情報を読み出し、前記読み出した相手先情報に基づいてヘッダを生成する、ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記夫々のネットワークユニットが自制御装置が備える複数の接続チャネルのうちの何れのチャネルに接続されているかを夫々示すユニット判別情報をさらに有し、
前記データ送信ハードウェアインタフェースは、前記相手先情報および前記ユニット判別情報に基づいてネットワークユニットを選定する、ことを特徴とする請求項１に記載の制御装置。
【請求項４】
前記ユーザＣＰＵは第１のオペレーティングシステムと前記第１のオペレーティングシステム上で動作する汎用高級言語で記述されたユーザプログラムとに基づいて動作し、前記システムＣＰＵは第２のオペレーティングシステムと前記第２のオペレーティングシステム上で動作するシステムプログラムとに基づいて動作する、ことを特徴とする請求項１〜３のうちの何れか１項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用機器などの被制御装置の制御を行う制御装置に関する。
【背景技術】
【０００２】
近年、汎用高級言語で記述される高度な処理を実行する制御プログラムをプログラマブルコントローラ（ＰＬＣ）用のラダー言語に移植することなく使用することができ、かつ従来のラダー言語などのシーケンスプログラムを利用したＰＬＣと同等以上の被制御装置に対する制御性能を実現する制御装置が開発されている。例えば、Ｃ言語を用いた制御装置によれば、過去のＣ言語プログラム資産が流用でき、かつ三角関数などラダー言語が不得意とする関数も簡単に扱うことができる。
【０００３】
このような制御装置に関し、高級言語で記述された制御プログラム（以降、ユーザプログラムという）を実行するためのオペレーティングシステム（ＯＳ）を自由に選択したいというユーザサイドからの要望がある。ところが、ＯＳを変更できるようにするとなると、メーカサイドでは制御装置の種々の基本機能をユーザプログラムから利用可能にするためのドライバやライブラリなどのプログラム（以降、システムプログラムという）をＯＳ毎に作らなければならず、メーカサイドの負担が増大するという問題があった。この問題を解決するための技術として、マルチＣＰＵ構成にし、複数のＯＳを夫々別々のＣＰＵで動作させる技術が有効である。すなわち、制御装置に２個のＣＰＵを搭載し、一方のＣＰＵにおいてユーザサイドが希望するＯＳおよびユーザプログラムを動作させ、他方のＣＰＵにおいてメーカサイドが用意するＯＳおよびシステムプログラムを動作させ、複数ポートを有する共有メモリを介してＣＰＵ間の情報の授受を行うようにする。
【０００４】
マルチＣＰＵに関連する技術として、特許文献１には、夫々のＣＰＵユニットが独立して各入出力ユニットにアクセスすることが可能にするＰＬＣが開示されている。また、特許文献２には、夫々異なるＯＳで動作するメインプロセッサとサブプロセッサを有し、異なる２つのＯＳから非同期に起動される入出力命令の競合処理を行い、両プロセッサ間の情報の授受を行うプロセッサシステムが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０５−１７３９８６号公報
【特許文献２】特開平０４−１９９３５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
制御装置は、ＰＬＣや被制御装置が接続されたネットワークに接続して使用される場合がある。ＯＳ間の情報の授受を共有メモリを介して実行するようにすると、前記したネットワークにおいて自制御装置以外の機器に該機器や該機器を介した他の機器を制御するためのデータ（制御データ）を送信する際のデータの書き込み／読み出し処理が少なくとも１回分増加し、アクセス遅延が生じることが懸念される。特許文献１および特許文献２の技術は、単に二つのＣＰＵ間や入出力ユニットに対するアクセスの調停に関する技術であって、前述のネットワークアクセスに関する遅延の問題を解決できるものではなかった。
【０００７】
本発明は、上記に鑑みてなされたものであって、ネットワークアクセスに関する処理量を増大を可及的に抑えつつユーザプログラムを動作させるＯＳの変更を簡単に行うことができる制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、一つ以上のネットワークに夫々接続するための接続インタフェースである一つ以上のネットワークユニットを備え、前記夫々のネットワークユニットが接続しているネットワークを介して接続された機器へ前記機器を制御するための制御データを送信する制御装置において、制御データおよび前記制御データの宛先の機器を指定する相手先情報を生成するユーザＣＰＵと、前記宛先の機器に前記制御データを送信するためのヘッダを生成するシステムＣＰＵと、前記ユーザＣＰＵが生成した相手先情報に基づいて前記制御データの送信元となるネットワークユニットを自制御装置が備えるネットワークユニットから選定するデータ送信ハードウェアインタフェースと、を備え、前記ユーザＣＰＵは前記生成した制御データを前記データ送信ハードウェアインタフェースに送信し、前記データ送信ハードウェアインタフェースは前記ユーザＣＰＵから送信されてきた制御データを前記選定したネットワークユニットに逐次転送し、前記選定されたネットワークユニットは前記システムＣＰＵが生成したヘッダおよび前記データ送信ハードウェアインタフェースから転送されてきた制御データを宛先の機器に送信する、ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、共有メモリアクセスに由来する遅延を発生することがなく、かつユーザプログラムとシステムプログラムとが別々のＣＰＵで動作する構成となっているので、ネットワークアクセスに関する処理量を増大を可及的に抑えつつユーザプログラムを動作させるＯＳの変更を簡単に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、１ＣＰＵ構成の制御装置の構成および特徴を示す図である。
【図２】図２は、ネットワーク構成の一例を示す図である。
【図３】図３は、ＣＰＵを一つ有する構成と二つのＣＰＵを有する構成とを比較する概念図である。
【図４】図４は、共有メモリを有する制御装置の構成例を示す図である。
【図５】図５は、本発明の実施の形態の制御装置の構成を示す図である。
【図６】図６は、本発明の実施の形態の制御装置の動作を示すフローチャートである。
【図７】図７は、本発明の実施の形態の制御装置の動作を説明するための図である。
【発明を実施するための形態】
【００１１】
以下に、本発明にかかる制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態．
まず、理解を助けるために、一つのＣＰＵ上でＯＳとシステムプログラムとユーザプログラムとを実行する場合の制御装置について説明する。図１は、一つのＣＰＵを有する制御装置の構成および特徴を概略的に説明する図である。
【００１３】
図１に示すように、制御装置１００は、ＣＰＵ１１０と、ユーザ用メモリ１２０と、ＰＬＣバス１３０と、を備えている。ＣＰＵ１１０、ユーザ用メモリ１２０、およびＰＬＣ３は夫々内部バスで接続されている。また、ＰＬＣバス１３０は制御装置の目的に合わせて用意される補助ユニットを接続するためのスロット（チャネル）を備えている。ＰＬＣバス１３０に接続可能な補助ユニットには、Ａ／Ｄ変換を行うためのＡ／Ｄ変換ユニットや、複数の駆動軸の位置決めを行うモーションコントローラユニットや、他の制御装置やＰＬＣと通信を行うためのネットワークインタフェースとして機能するネットワークユニットなどがある。ここでは、ＰＬＣバス１３０のチャネル１とチャネル２に夫々ネットワークユニット１４０が接続されている。
【００１４】
図２は、制御装置１００を使用したネットワーク構成の一例を説明する図である。ネットワークには夫々識別番号（ネットワークＮｏ．）が付されている。ここでは、制御装置１００は、チャネル１に接続されているネットワークユニット１４０はネットワークＮｏ．１に接続され、チャネル２に接続されているネットワークユニット１４０はネットワークＮｏ．２に接続されている。ネットワークＮｏ．１には、制御装置１００を含めて４つの機器（制御装置、ＰＬＣ、被制御装置など）が接続されており、夫々の機器にはネットワークＮｏ．１内で互いに識別するための局番が与えられている。ネットワークＮｏ．２には制御装置１００を含めて３つの機器が接続されており、夫々の機器には同様にネットワークＮｏ．２内で互いに識別するための局番が与えられている。なお、制御装置１００は、ネットワークＮｏ．１およびＮｏ．２の両方に接続されており、双方のネットワーク内で互いに識別できる共通の局番である１が与えられている。
【００１５】
図１に戻り、ユーザ用メモリ１２０は、どのネットワークユニットがどのチャネルに接続されているかを示す情報（ユニット判別情報）を含む、ＰＬＣバス１３０が備えるチャネル毎の補助ユニットに関する設定情報であるシステム設定情報１２３を記憶している。システム設定情報１２３は設定ツールなどにより生成される。制御装置１００は、ネットワークを介して他の機器にデータを送信する場合、ＣＰＵ１１０は、ユーザプログラムの制御の下に、他の機器に送信するデータ（ライトデータ１２２）と、送信先（相手先）の機器を指定する情報（相手先情報１２１）と、を用意（生成）する。相手先情報１２１は、例えば、相手先機器が備えるネットワークユニットが接続されているＰＬＣバスのチャネル番号（チャネルＮｏ．）と、相手先機器が接続されているネットワークＮｏ．と、相手先機器の局番と、相手先機器のＣＰＵ番号（ＣＰＵＮｏ．）と、相手先機器におけるライトデータ１２２の格納先のデバイス名、デバイス番号（デバイスＮｏ．）、およびライトデータ１２２のワード数（送信ワード数）と、を含んでいる。
【００１６】
ＣＰＵ１１０は、システムプログラムの制御の下に、相手先情報１２１を参照し、ライトデータ１２２を送信するためのヘッダ１２４をユーザ用メモリ１２０内に生成する。また、ＣＰＵ１１０は、システムプログラムの制御の下に、相手先情報１２１とシステム設定情報１２３とに基づいて、自制御装置１００のどのチャネルに接続されているネットワークユニット１４０から相手先機器に送信するかを求める。例えば、制御装置１００がネットワークＮｏ．２の局番３のチャネル２にライトデータ１２２を送信する場合、ＣＰＵ１１０は、自制御装置１００のチャネル２に接続されているネットワークユニット１４０が送信元のネットワークユニット１４０であるということを求める。ＣＰＵ１１０は、求めたネットワークユニット１４０が備えるバッファ領域にヘッダ１２４およびライトデータ１２２を転送し、転送したネットワークユニット１４０に相手先機器へヘッダ１２４およびライトデータ１２２を送信させる。
【００１７】
このように、一つのＣＰＵにＯＳとシステムプログラムとユーザプログラムとを動作させる場合、システムプログラムとユーザプログラムとが同一ＯＳ上で協働してネットワークへのアクセスを行う。したがって、前述のように、このように一つのＣＰＵでシステムプログラムとユーザプログラムを動作させる制御装置１００の場合、ユーザサイドからのＯＳを変更する要望に対応するためには、システムプログラムを作り変えなければならず、メーカサイドの負担が大きいという問題があった。この問題は、システムプログラムとユーザプログラムとを別々のＣＰＵで動作させることによって解決できる。図３は、ＣＰＵを一つ有する構成と二つのＣＰＵを有する構成とを比較した概念図である。図３左図は、一つのＣＰＵにＯＳとシステムプログラムとユーザプログラムとを動作させている場合を示している。一つのＯＳにシステムプログラムとユーザプログラムとが動作しているので、両方のプログラムは一つのＯＳに対応したものである必要がある。図３右図は、システムプログラムとユーザプログラムとを夫々異なるＣＰＵで実行するようにした場合を示している。図示するように、システムプログラム用のＯＳとユーザプログラム用のＯＳとを分けることができるので、ユーザサイドはユーザプログラムに合わせたＯＳを選択することができる。
【００１８】
ところで、システムプログラムとユーザプログラムとを夫々異なるＣＰＵで実行する場合の一つの構成例として、二つ以上のポートを有する共有メモリを介してシステムプログラムとユーザプログラムとの間の情報の授受を行わせる構成が考えられる。図４は、共有メモリを有する制御装置の構成例を示す図である。図示するように、この構成の制御装置は、ユーザサイドが希望するＯＳとユーザプログラムとが動作するＣＰＵ（ユーザＣＰＵ）と、メーカサイドが用意するＯＳとシステムプログラムとが動作するＣＰＵ（システムＣＰＵ）と、を備え、両ＣＰＵ間の通信は共有メモリを介して行うように構成されている。このように構成される場合、ユーザＣＰＵは、いったんライトデータ１２２を共有メモリに書き込み、システムＣＰＵは、書き込まれたライトデータ１２２を読み出して自制御装置に接続されているネットワークユニットに転送する動作を行う。つまり、図１に示した構成に比べて、図４に示した構成では、ユーザプログラムを動作させるためのＯＳをメーカサイドの負担を増加させることなく簡単に変更できるメリットを有するものの、共有メモリに読み書きする処理にかかる分だけ遅延する、という問題を有している。これに対して、本発明の実施の形態によれば、ユーザＣＰＵとシステムＣＰＵとの間の情報の授受をハードウェアにより実現することによって、前記図４に示した構成のメリットを有しつつネットワークアクセスの処理の遅延を極力抑えたことが主たる特徴となっている。
【００１９】
図５は、本実施の形態の制御装置の構成を説明する図である。図示するように、本実施の形態の制御装置２００は、ユーザが希望するＯＳと該ＯＳ上で動作するユーザプログラムとに基づいて動作するユーザＣＰＵ２１０と、ユーザ用メモリ２２０と、を備えている。ユーザＣＰＵ２１０とユーザ用メモリ２２０とは内部バスで接続されており、ユーザＣＰＵ２１０は、ユーザ用メモリ２２０内にライトデータ２２１および相手先情報２２２を生成する。
【００２０】
また、制御装置２００は、メーカサイドが用意するＯＳと該ＯＳ上で動作するシステムプログラムとに基づいて動作するシステムＣＰＵ２３０と、システム設定情報２４１を格納しているシステム用メモリ２４０と、ＰＬＣバス２５０と、を備えている。システムＣＰＵ２３０、システム用メモリ２４０、およびＰＬＣバス２５０は、夫々内部バスで接続されている。システムＣＰＵ２３０は、ライトデータ２２１を相手先の機器に送信するためのヘッダを生成するヘッダ生成部２３１を備えている。ヘッダ生成部２３１は、システムＣＰＵ２３０がシステムプログラムを実行することによってシステムＣＰＵ２３０内に生成される機能部である。ＰＬＣバス２５０は、図１に示したＰＬＣバス１３０と同様に、補助ユニットが接続されるチャネルを備えている。ここでは、２個のネットワークユニット２６０が夫々チャネル１、チャネル２に接続されている。
【００２１】
なお、相手先情報２２２、ライトデータ２２１、およびシステム設定情報１２３は、図１において説明した相手先情報１２１、ライトデータ１２２、およびシステム設定情報１２３と夫々同等である。
【００２２】
ユーザＣＰＵ２１０側の内部バスとシステムＣＰＵ２３０側の内部バスとはデータ送信インタフェース２７０を介して接続されている。データ送信インタフェース２７０は、ユーザＣＰＵ２１０とシステムＣＰＵ２３０との間の情報の授受を簡単にするとともに、ネットワークアクセスを効率化するためのハードウェアで構成されるユニットである。データ送信インタフェース２７０は、相手先情報２２２およびシステム設定情報２４１に基づいて自制御装置２００に接続されているネットワークユニット２６０のうちの送信側のネットワークユニットを選定する送信側選定部２７１と、各種データを格納するデータ格納領域２７２と、ユーザＣＰＵ２１０とシステムＣＰＵ２３０との間で意思疎通するための各種フラグを格納するフラグ格納領域２７３と、を備えている。データ格納領域２７２に格納される各種データには、ユーザ用メモリ２２０に用意された相手先情報２２２のコピーや、システム用メモリ２４０が記憶しているシステム設定情報２４１が含む、どのチャネルに接続されているネットワークユニットがどのネットワークに接続されているかを示すユニット判別情報が含まれる。また、フラグ格納領域に格納されるフラグには、相手先情報２２２のデータ格納領域２７２へのコピーの完了を示す相手先情報ライト完了フラグ、ライトデータ２２１のネットワークユニット２６０への送信完了を示すライト完了フラグ、およびヘッダ生成部２３１によるヘッダ生成の完了を示すヘッダ生成完了フラグを含んでいる。これらのフラグは、ユーザＣＰＵ２１０またはシステムＣＰＵ２３０に対する割り込み要求として機能する。
【００２３】
次に、上記のように構成される本実施の形態の制御装置２００の動作を図６および図７を参照して説明する。図６（ａ）、（ｂ）、（ｃ）は夫々、ユーザＣＰＵ２１０、データ送信インタフェース２７０、システムＣＰＵ２３０の動作を説明するフローチャートである。また、図７は、制御装置２００の動作を説明するための図である。
【００２４】
図６（ａ）において、ユーザＣＰＵ２１０は、まず、相手先情報２２２およびライトデータ２２１をユーザ用メモリ２２０に用意する（ステップＳ１、図７（１））。そして、ユーザＣＰＵ２１０は、データ送信インタフェース２７０のデータ格納領域２７２に相手先情報２２２を書き込む（ステップＳ２、図７（２））。相手先情報２２２の書き込みが完了すると、フラグ格納領域２７３の相手先情報ライト完了フラグを１にする（ステップＳ３、図７（３））。
【００２５】
図６（ｂ）において、データ送信インタフェース２７０では、初期状態においては、相手先情報ライト完了フラグが０となっており（ステップＳ１１、Ｎｏ）、ユーザＣＰＵ２１０のステップＳ３の動作により相手先情報ライト完了フラグが１になると（ステップＳ１１、Ｙｅｓ）、１となった相手先情報ライト完了フラグがシステムＣＰＵ２３０に対してヘッダを生成させるための割り込み要求として機能する（ステップＳ１２、図７（４））。そして、データ送信インタフェース２７０の送信側選定部２７１は、データ格納領域２７２に書き込まれた相手先情報およびユニット判別情報に基づいて、自制御装置２００に接続されているネットワークユニット２６０のうちの送信元のネットワークユニットを選定し（ステップＳ１３、図７（７））、データ送信インタフェース２７０はヘッダ生成完了フラグが１になるまで待機する状態に移行する（ステップＳ１４、Ｎｏ）。
【００２６】
図６（ｃ）において、システムＣＰＵ２３０は、システム用メモリ２４０に格納されているシステム設定情報からユニット判別情報を抽出し、データ格納領域２７２にユニット判別情報を書き込んでおく（ステップＳ２１）。データ送信インタフェース２７０からステップＳ１２の動作によりヘッダを生成する割り込み要求を受信すると（ステップＳ２２）、ヘッダ生成部２３１は、データ格納領域２７２から相手先情報を読み出し、読み出した相手先情報に基づいてヘッダをシステム用メモリ２４０内に生成し（図７（５））、送信元のネットワークユニットに前記生成したヘッダを送信する（ステップＳ２３）。ここで、システムＣＰＵ２３０は、システム用メモリ２４０に格納されているシステム設定情報２４１と読み出した相手先情報とに基づいて、自制御装置２００に接続されているネットワークユニット２６０のうちの送信元のネットワークユニットを求めるようにしている。システムＣＰＵ２３０は、ヘッダの送信を終了すると、ヘッダ生成完了フラグを１にする（ステップＳ２４、図７（６））。
【００２７】
図６（ｂ）において、ヘッダ生成完了フラグが１になると（ステップＳ１４、Ｙｅｓ）、データ送信インタフェース２７０の１となったヘッダ生成完了フラグはユーザＣＰＵ２１０に対してライトデータの転送を開始する割り込み要求（データ転送開始割り込み）として機能する（ステップＳ１５、図７（８））。
【００２８】
図６（ａ）において、ユーザＣＰＵ２１０は、データ転送開始割り込みを受信すると（ステップＳ４）、データ送信インタフェース２７０にライトデータ２２１を送り出す（ステップＳ５、図７（９））。ライトデータ２２１の送り出しが完了すると、ユーザＣＰＵ２１０は、データ送信インタフェース２７０のライト完了フラグを１にし（ステップＳ６、図７（１１））、動作を終了する。
【００２９】
図６（ｂ）において、データ送信インタフェース２７０は、ユーザＣＰＵ２１０からライトデータ２２１が送信されてくると、送信されてきたライトデータ２２１をステップＳ１３にて選定したネットワークユニットに逐次転送する（ステップＳ１６、図７（１０））。このように、ユーザＣＰＵ２１０は、データ送信インタフェース２７０に一時蓄積することなくライトデータ２２１をネットワークユニット２６０に送信することができるので、図４にて説明した共有メモリを有する構造のように共有メモリアクセスに由来する遅延を発生することがない。
【００３０】
ライト完了フラグが１になると（ステップＳ１７、Ｙｅｓ）、１となったライト完了フラグは、システムＣＰＵ２３０に対してライトデータ２２１の転送が完了したことを示す割り込み要求（データ転送完了割り込み）として機能し（ステップＳ１８、図７（１２））、データ送信インタフェース２７０は動作を終了する。
【００３１】
図６（ｃ）において、システムＣＰＵ２３０は、データ転送完了割り込みを受信すると（ステップＳ２５）、ヘッダおよびライトデータ２２１を受信した自制御装置２００が有するネットワークユニット２６０と相手先のネットワークユニットとの間で通信を行うためのハンドシェイク処理を行わせ（ステップＳ２６、図７（１３））、ヘッダおよびライトデータ２２１を相手先のネットワークユニットに送信させて動作が終了となる。
【００３２】
以上のように、本発明の実施の形態によれば、ライトデータ２２１およびライトデータ２２１の相手先の機器を指定する相手先情報２２２を用意するユーザＣＰＵ２１０と、相手先の機器にライトデータ２２１を送信するためのヘッダを生成するシステムＣＰＵ２３０と、相手先情報２２２に基づいてライトデータ２２１の送信元となるネットワークユニット２６０を選定するデータ送信インタフェースと、を備え、ユーザＣＰＵ２１０は用意したライトデータ２２１をデータ送信インタフェース２７０に送信し、データ送信インタフェース２７０はユーザＣＰＵ２１０から送信されてきたライトデータ２２１を選定したネットワークユニット２６０に逐次転送し、選定されたネットワークユニット２６０はシステムＣＰＵ２３０が生成したヘッダおよびデータ送信インタフェース２７０から転送されてきたライトデータ２２１を相手先の機器に送信するように構成したので、共有メモリアクセスに由来する遅延を発生することがなく、かつユーザプログラムとシステムプログラムとが別々のＣＰＵで動作する構成となっているので、ネットワークアクセスに関する処理量を増大を可及的に抑えつつユーザプログラムを動作させるＯＳの変更を簡単に行うことができるようになる。また、システムＣＰＵ２３０がヘッダ生成処理を行うので、ユーザプログラムは相手先情報２２２およびライトデータ２２１を用意するだけでネットワークアクセスを行うことができるので、ユーザはシステムＣＰＵ２３０の動作、すなわちシステムＣＰＵ２３０上で動作しているＯＳおよび該ＯＳ上で動作するシステムプログラムの仕様を詳しく知らなくてもユーザプログラムのプログラミングを行うことができる。また、メーカはユーザプログラムおよびユーザプログラムを動作させるためのＯＳの変更に伴ってシステムプログラムを変更することを免れることができる。また、システムＣＰＵ２３０はユーザＣＰＵ２１０からネットワークユニット２６０までのライトデータ２２１の転送に関わらないので、システムＣＰＵ２３０にかかる負荷を減らすことができるようになる。
【００３３】
また、ユーザＣＰＵ２１０は、用意した相手先情報２２２をデータ送信インタフェース２７０のデータ格納領域２７２に格納し、システムＣＰＵ２３０は、データ格納領域２７２に格納されている相手先情報を読み出し、読み出した相手先情報に基づいてヘッダを生成するように構成したので、ユーザはシステムＣＰＵ２３０の動作、すなわちシステムＣＰＵ２３０上で動作しているＯＳおよび該ＯＳ上で動作するシステムプログラムの仕様を詳しく知らなくてもユーザプログラムのプログラミングを行うことができる。また、メーカはユーザプログラムおよびユーザプログラムを動作させるためのＯＳの変更に伴ってシステムプログラムを変更することを免れることができる。
【産業上の利用可能性】
【００３４】
以上のように、本発明にかかる制御装置は、産業用機器などの被制御装置の制御を行う制御装置に適用して好適である。
【符号の説明】
【００３５】
１００  制御装置
１１０  ＣＰＵ
１２０  ユーザ用メモリ
１２１  相手先情報
１２２  ライトデータ
１２３  システム設定情報
１２４  ヘッダ
１３０  ＰＬＣバス
１４０  ネットワークユニット
２００  制御装置
２１０  ユーザＣＰＵ
２２０  ユーザ用メモリ
２２１  ライトデータ
２２２  相手先情報
２３０  システムＣＰＵ
２３１  ヘッダ生成部
２４０  システム用メモリ
２４１  システム設定情報
２５０  ＰＬＣバス
２６０  ネットワークユニット
２７０  データ送信インタフェース
２７１  送信側選定部
２７２  データ格納領域
２７３  フラグ格納領域
【図１】
2011008578.tif 000003
【図２】
2011008578.tif 000004
【図３】
2011008578.tif 000005
【図４】
2011008578.tif 000006
【図５】
2011008578.tif 000007
【図６】
2011008578.tif 000008
【図７】
2011008578.tif 000009