(57)【要約】【課題】互いに異なる言語で作成されたプログラムで動作する制御装置からなる制御システムにおいて、一方の制御装置から他方の制御装置のプログラムを実行することができる制御システムおよび制御方法を提供する。【解決手段】制御システムの各装置で通信によって内容を共有化するメモリ領域を設け、メモリデータを介して一方の制御装置から他方の制御装置のプログラムを動作させることができるようにする。【選択図】図２
2010061193.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる言語で作成されたプログラムに従って動作するプログラム実行手段をそれぞれ有する第１および第２の制御装置を備えた制御システムであって、
前記第１の制御装置は、
前記第２の制御装置に対する指示内容を記憶する指示記憶手段を備え、
前記第２の制御装置は、
前記指示記憶手段を介して前記第１の制御装置から受けた指示内容を記憶する受付記憶手段を備え、
前記第１の制御装置のプログラム実行手段が前記指示記憶手段に指示内容を記憶し、前記第２の制御装置が前記指示記憶手段に記憶された指示内容を読み出して前記受付記憶手段に記憶し、該記憶された指示内容に従って前記第２の制御装置のプログラム実行手段が動作を行う、
ことを特徴とする制御システム。
【請求項２】
前記指示記憶手段は、
前記第２の制御装置が読み出し可能な動作指示内容を記憶する第１の書込メモリ領域を具備し、
前記受付記憶手段は、
前記第１の書込メモリ領域から読み出した動作指示内容を記憶する第１の読出メモリ領域を具備し、
前記第１の制御装置と、前記第２の制御装置との通信を介して、
前記第２の制御装置が前記第１の書込メモリ領域に記憶されている動作指示内容を読み出して、該読み出した動作指示内容を前記第１の読出メモリ領域に記憶することによって、前記第１の制御装置からの動作指示を受け付ける、
ことを特徴とする請求項１に記載の制御システム。
【請求項３】
前記受付記憶手段は、
前記第１の制御装置が読み出し可能な動作状態内容を記憶する第２の書込メモリ領域を具備し、
前記指示記憶手段は、
前記第２の書込メモリ領域から読み出した動作状態内容を記憶する第２の読出メモリ領域を具備し、
前記第１の制御装置と、前記第２の制御装置との通信を介して、
前記第１の制御装置が前記第２の書込メモリ領域に記憶されている動作状態内容を読み出して、該読み出した動作状態内容を前記第２の読出メモリ領域に記憶することによって、前記第２の制御装置の動作状況を把握する、
ことを特徴とする請求項２に記載の制御システム。
【請求項４】
前記第１の制御装置と、前記第２の制御装置との通信は、
前記第２の制御装置による前記第１の書込メモリ領域の読み出しと、
前記第１の制御装置による前記第２の書込メモリ領域の読み出しと、
が互いに重複しないように予め定められた周期で通信を行う、
ことを特徴とする請求項３に記載の制御システム。
【請求項５】
互いに異なる言語で作成されたプログラムに従って動作するプログラム実行手段をそれぞれ有する第１および第２の制御装置を備えた制御システムにおける制御方法であって、
前記第１の制御装置のプログラム実行手段が前記第２の制御装置に対する指示内容を指示記憶手段に記憶する手順と、
前記第２の制御装置が指示記憶手段に記憶された指示内容を読み出して、該読み出した指示内容を受付記憶手段に記憶することによって前記第１の制御装置からの指示内容を受け付ける手順と、
前記第２の制御装置のプログラム実行手段が該記憶された指示内容に従って動作を行う手順と、
を備えたことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに異なる言語で作成されたプログラムで動作する制御装置からなる制御システムおよび制御方法に関する。
【背景技術】
【０００２】
従来、生産設備等の設備を制御するためのプログラマブルロジックコントローラ（以下、ＰＬＣという）は、例えば、ラダープログラム等の専用の言語で作成されたプログラムで動作している。汎用のパーソナルコンピュータ等の汎用コンピュータ（以下、汎用ＰＣという）を用いて例えば、Ｃ言語等の汎用の言語で作成されたプログラムをＰＬＣで動作させるためには、該汎用の言語で作成されたプログラムを専用の言語で作成されたプログラムに移植することが必要であった。一般に、ＰＬＣの専用言語の仕様は統一されていないため、このような汎用の言語で作成されたプログラムの移植は難しく、汎用の言語で作成されたプログラムを専用言語で作成されたプログラムに移植するには、両方の言語に関する知識が必要であり、また、使用するＰＬＣ毎に移植作業が必要となるため、汎用ＰＣを用いたＰＬＣの動作環境の整備は、時間がかかっていた。
【０００３】
このようなプログラムの移植作業を簡略化するため、図９のＰＬＣ１０１では、汎用の言語で作成され、ラダープログラム１２２から実行可能な関数が登録された汎用言語プログラム１２４を、予め外部の汎用ＰＣによって実行コードに変換し、入出力インターフェース１３０およびバスライン１５０を介してＰＬＣ１０１内のメモリ１２０に格納しておく。ＰＬＣ１０１は、システムプログラム１２１に基づいて、ラダープログラム１２２および該汎用言語プログラム１２４のそれぞれの実行の仕方を決める。ＰＬＣ１０１がシーケンス制御を行う際、ＰＬＣ１０１内のＭＰＵ（Micro Processing Unit）１１０が、ラダープログラム１２２と、汎用言語プログラム１２４と、システムプログラム１２１とをそれぞれメモリ１２０から読み出して、ラダープログラム１２２または汎用言語プログラム１２４に基づいて、それぞれに対応した手順を実行する。このことによって、異なる言語で作成されたプログラムでＰＬＣ１０１が動作することを可能としている（特許文献１参照）。
【特許文献１】特開２００７−３３４４６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、実行コードによって異なる言語で作成されたプログラムで動作するため、制御装置が該実行コードで動作することができる機能を備えていなくてはならないという問題がある。
【０００５】
本発明は、上記の課題認識に基づいてなされたものであり、互いに異なる言語で作成されたプログラムで動作する制御装置からなる制御システムにおいて、特別な機能を備えた制御装置を用いることなく、一方の制御装置から他方の制御装置のプログラムを制御することができる制御システムおよび制御方法を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記の課題を解決するため、本発明の制御システムは、互いに異なる言語で作成されたプログラムに従って動作するプログラム実行手段をそれぞれ有する第１および第２の制御装置を備えた制御システムであって、前記第１の制御装置は、前記第２の制御装置に対する指示内容を記憶する指示記憶手段を備え、前記第２の制御装置は、前記指示記憶手段を介して前記第１の制御装置から受けた指示内容を記憶する受付記憶手段を備え、前記第１の制御装置のプログラム実行手段が前記指示記憶手段に指示内容を記憶し、前記第２の制御装置が前記指示記憶手段に記憶された指示内容を読み出して前記受付記憶手段に記憶し、該記憶された指示内容に従って前記第２の制御装置のプログラム実行手段が動作を行う、ことを特徴とする。
【０００７】
また、本発明の前記指示記憶手段は、前記第２の制御装置が読み出し可能な動作指示内容を記憶する第１の書込メモリ領域を具備し、前記受付記憶手段は、前記第１の書込メモリ領域から読み出した動作指示内容を記憶する第１の読出メモリ領域を具備し、前記第１の制御装置と、前記第２の制御装置との通信を介して、前記第２の制御装置が前記第１の書込メモリ領域に記憶されている動作指示内容を読み出して、該読み出した動作指示内容を前記第１の読出メモリ領域に記憶することによって、前記第１の制御装置からの動作指示を受け付ける、ことを特徴とする。
【０００８】
また、本発明の前記受付記憶手段は、前記第１の制御装置が読み出し可能な動作状態内容を記憶する第２の書込メモリ領域を具備し、前記指示記憶手段は、前記第２の書込メモリ領域から読み出した動作状態内容を記憶する第２の読出メモリ領域を具備し、前記第１の制御装置と、前記第２の制御装置との通信を介して、前記第１の制御装置が前記第２の書込メモリ領域に記憶されている動作状態内容を読み出して、該読み出した動作状態内容を前記第２の読出メモリ領域に記憶することによって、前記第２の制御装置の動作状況を把握する、ことを特徴とする。
【０００９】
また、本発明の前記第１の制御装置と、前記第２の制御装置との通信は、前記第２の制御装置による前記第１の書込メモリ領域の読み出しと、前記第１の制御装置による前記第２の書込メモリ領域の読み出しと、が互いに重複しないように予め定められた周期で通信を行う、ことを特徴とする。
【００１０】
また、本発明の制御方法は、互いに異なる言語で作成されたプログラムに従って動作するプログラム実行手段をそれぞれ有する第１および第２の制御装置を備えた制御システムにおける制御方法であって、前記第１の制御装置のプログラム実行手段が前記第２の制御装置に対する指示内容を指示記憶手段に記憶する手順と、前記第２の制御装置が指示記憶手段に記憶された指示内容を読み出して、該読み出した指示内容を受付記憶手段に記憶することによって前記第１の制御装置からの指示内容を受け付ける手順と、前記第２の制御装置のプログラム実行手段が該記憶された指示内容に従って動作を行う手順と、を備えたことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、互いに異なる言語で作成されたプログラムで動作する制御装置同士において、内容を共有化した記憶手段のデータのみを用いて制御を行うことが可能となるので、特別な機能を備えた制御装置を用いることなく、一方の制御装置から他方の制御装置のプログラムを制御することができるという効果が得られる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態について、図面を参照して説明する。図１は、本発明の本実施形態による制御システムの構成を示した図である。図１において、制御システムは、生産設備の制御を行うプログラマブルロジックコントローラからなるＰＬＣ１と、汎用のパーソナルコンピュータからなる汎用ＰＣ２とが互いに通信ケーブル３によって接続されている。
また、図２は、本実施形態における制御システムの構成を示したブロック図である。図２において、ＰＬＣ１は、ＰＬＣ書込用メモリ１１、ＰＬＣ読出用メモリ１２、プログラムメモリ１３、ＰＬＣプログラム実行部１４、通信部１５が、バスライン１７に接続され、制御ＩＦ１６が、ＰＬＣプログラム実行部１４に接続されている。また、汎用ＰＣ２は、汎用ＰＣ書込用メモリ２１、汎用ＰＣ読出用メモリ２２、プログラムメモリ２３、汎用ＰＣプログラム実行部２４、通信部２５が、バスライン２７に接続されている。また、ＰＬＣ１の通信部１５と、汎用ＰＣ２の通信部２５が、通信ケーブル３に接続されている。
なお、ＰＬＣ１および汎用ＰＣ２はそれぞれ、全体の制御を行うための図示しない制御手段（例えば、ＭＰＵ等）を備え、該制御手段によって各部の動作が制御されている。
【００１３】
プログラムメモリ１３は、ＰＬＣ１が実行可能な専用の言語で作成されたプログラム（以下、ラダープログラムという）を記憶するメモリである。
【００１４】
ＰＬＣ書込用メモリ１１は、ＰＬＣ１が実行中のラダープログラムの動作状態を表すデータを記憶するメモリである。
ＰＬＣ書込用メモリ１１には、ＰＬＣプログラム実行部１４によってＰＬＣ１の動作状態を表すデータが記憶される。ＰＬＣ書込用メモリ１１に記憶されたデータは、通信部１５によって読み出されて、通信ケーブル３、および通信部２５を介して汎用ＰＣ読出用メモリ２２に転送される。このことによって、ＰＬＣ１が汎用ＰＣ２に動作状態を伝える。
【００１５】
ＰＬＣ読出用メモリ１２は、汎用ＰＣプログラム実行部２４からのラダープログラムの実行を指示するデータ、およびラダープログラムを実行する際に該ラダープログラムに引き渡すデータを記憶するメモリである。
ＰＬＣ読出用メモリ１２には、通信部１５、通信ケーブル３、および通信部２５を介して転送された汎用ＰＣ書込用メモリ２１のデータが記憶される。ＰＬＣ読出用メモリ１２に記憶されたデータをＰＬＣプログラム実行部１４が読み出すことによって、汎用ＰＣ２からＰＬＣ１への動作指示を受け付ける。
【００１６】
ＰＬＣプログラム実行部１４は、制御ＩＦ１６に接続され、ＰＬＣ１が制御する生産設備等の制御対象を動作させるために、プログラムメモリ１３に記憶されたラダープログラムを読み出して実行する、例えばＣＰＵ(Central Processing Unit)等の処理手段である。
ＰＬＣプログラム実行部１４は、ＰＬＣ読出用メモリ１２に記憶されたラダープログラムの実行を指示するデータに応じて、ラダープログラムをプログラムメモリ１３から読み出し、該読み出したラダープログラムの処理手順に従って処理を実行する。また、ＰＬＣプログラム実行部１４は、ラダープログラムの処理に応じてＰＬＣ１に接続された制御対象に対する制御信号を制御ＩＦ１６に出力する。また、ＰＬＣプログラム実行部１４は、ラダープログラムの処理に応じてＰＬＣ読出用メモリ１２に記憶された該ラダープログラムに引き渡すデータに基づいて、制御ＩＦ１６に制御信号を出力する。このことによって、ラダープログラムに記載された動作を、制御ＩＦ１６を介してＰＬＣ１の制御対象に実行させる。
また、ＰＬＣプログラム実行部１４は、実行中のラダープログラムの動作状態に応じて、ラダープログラムの動作状態を表すデータを、ＰＬＣ書込用メモリ１１に書き込む。  
【００１７】
通信部１５は、汎用ＰＣ２の通信部２５と通信を行う通信手段である。
通信部１５は、予め定められた周期に従って通信ケーブル３を介して通信部２５から受信した、ラダープログラムの実行を指示するデータ、および該ラダープログラムに引き渡すデータをＰＬＣ読出用メモリ１２に書き込む。また、ＰＬＣ書込用メモリ１１に記憶されているラダープログラムの動作状態を表すデータを読み出し、通信ケーブル３を介して通信部２５に読み出したデータを送信する。
【００１８】
制御ＩＦ１６は、ＰＬＣプログラム実行部１４からの制御信号に応じて、接続された制御対象、すなわち、ＰＬＣ１の制御対象に対する制御を行うための制御信号を出力するインターフェース部である。
【００１９】
プログラムメモリ２３は、ＰＬＣ１に接続された制御対象を動作させるために、ＰＬＣ１内のラダープログラムを実行させる、例えば、Ｃ言語等の汎用の言語で作成されたプログラム（以下、制御プログラムという）を記憶するメモリである。
【００２０】
汎用ＰＣ書込用メモリ２１は、汎用ＰＣプログラム実行部２４によって実行されている制御プログラムが、ラダープログラムを実行する際にラダープログラムの実行を指示するデータ、および該ラダープログラムに引き渡すデータを記憶するメモリである。
汎用ＰＣ書込用メモリ２１に記憶されたデータは、通信部２５によって読み出されて、通信ケーブル３、および通信部１５を介してＰＬＣ読出用メモリ１２に転送される。このことによって、汎用ＰＣ２からＰＬＣ１への動作指示が行われる。
【００２１】
汎用ＰＣ読出用メモリ２２は、ＰＬＣ１が実行中のラダープログラムの動作状態を表すデータを記憶するメモリである。
汎用ＰＣ読出用メモリ２２には、通信部２５、通信ケーブル３、および通信部１５を介して転送されたＰＬＣ書込用メモリ１１のデータが記憶される。汎用ＰＣ読出用メモリ２２に記憶されたデータを汎用ＰＣプログラム実行部２４が読み出すことによって、汎用ＰＣ２がＰＬＣ１の動作状態を把握する。
【００２２】
汎用ＰＣプログラム実行部２４は、制御プログラムを実行するために、プログラムメモリ２３に記憶された制御プログラムを読み出して、該読み出した制御プログラムに基づいた処理手順に従って、制御プログラムに記載された処理を実行する、例えばＣＰＵ等の処理手段である。
汎用ＰＣプログラム実行部２４は、制御プログラムの処理によって、ＰＬＣ１に接続された制御対象を動作させる際は、汎用ＰＣ書込用メモリ２１にラダープログラムを動作させるためのデータを書き込み、ＰＬＣ１にラダープログラムを実行させる。このことにより、ＰＬＣ１に接続された制御対象に動作を実行させることができる。また、汎用ＰＣプログラム実行部２４は、汎用ＰＣ読出用メモリ２２からラダープログラムの動作状態を表すデータを読み出してラダープログラムの動作状態、すなわち、ＰＬＣ１に接続された制御対象の動作状態を把握し、該読み出したラダープログラムの動作状態に応じて実行中の制御プログラムの処理を実行する。
【００２３】
通信部２５は、ＰＬＣ１の通信部１５と通信を行う通信手段である。
通信部２５は、予め定められた周期に従って汎用ＰＣ書込用メモリ２１に記憶されているデータを読み出し、通信ケーブル３を介して通信部１５に、読み出したデータを送信する。また、通信ケーブル３を介して通信部１５から受信した、ラダープログラムの動作状態を表すデータを汎用ＰＣ読出用メモリ２２に書き込む。
なお、通信部２５による通信と、通信部１５による通信とが互いに重ならないように通信を行う周期が設定されている。
【００２４】
次に、本実施形態における汎用ＰＣ２の処理手順について説明する。図３は、本実施形態の制御システムにおける汎用ＰＣ２の処理手順を示したフローチャートである。
【００２５】
まず、ステップＳ１００において、汎用ＰＣプログラム実行部２４は、プログラムメモリ２３から制御プログラムを読み込み、ステップＳ１１０において制御プログラムを実行する。続いて、汎用ＰＣプログラム実行部２４は、ステップＳ１２０において、実行中の制御プログラムにおいてＰＬＣ１による動作が必要であるか否かを判断する。ＰＬＣ１による動作が必要である場合は、ステップＳ１２１において、ＰＬＣ１のラダープログラムに実行を指示するデータ、およびラダープログラムを実行する際に該ラダープログラムに引き渡すデータを汎用ＰＣ書込用メモリ２１に書き込む。
【００２６】
続いて、汎用ＰＣプログラム実行部２４は、ステップＳ１２２において、汎用ＰＣ読出用メモリ２２からデータを読み出す。続いて、汎用ＰＣプログラム実行部２４は、ステップＳ１２３において、読み出した汎用ＰＣ読出用メモリ２２のデータから、ＰＬＣ１のラダープログラムの動作が完了したか否かを確認する。ＰＬＣ１のラダープログラムの動作が完了していない場合は、ステップＳ１２４において、読み出した汎用ＰＣ読出用メモリ２２のデータから、ＰＬＣ１のラダープログラムの動作が正常であるか否かを確認する。ＰＬＣ１のラダープログラムの動作が正常である場合は、ステップＳ１２２に戻って、汎用ＰＣ読出用メモリ２２からのデータ読み出し、およびＰＬＣ１のラダープログラムの動作状態の確認を繰り返す。また、ステップＳ１２４において、ＰＬＣ１のラダープログラムの動作が正常でない場合は、次のステップＳ１２５において、エラー処理を行う。
【００２７】
続いて、汎用ＰＣプログラム実行部２４は、ステップＳ１２０においてＰＬＣ１による動作が必要でない場合、ステップＳ１２３においてＰＬＣ１のラダープログラムの動作が完了した場合、またはステップＳ１２５において、エラー処理を行った場合は、ステップＳ１３０において、実行中の制御プログラムの処理が完了したか否かを確認する。制御プログラムの処理が完了した場合は、処理を完了する。また、ステップＳ１３０において制御プログラムの処理が完了していない場合は、ステップＳ１１０に戻って、制御プログラムの処理を継続する。
【００２８】
次に、本実施形態におけるＰＬＣ１の処理手順について説明する。図４は、本実施形態の制御システムにおけるＰＬＣ１の処理手順を示したフローチャートである。なお、本実施形態の制御システムにおけるＰＬＣ１の処理は、通信部１５を介して汎用ＰＣ書込用メモリ２１のデータがＰＬＣ読出用メモリ１２に書き込まれる毎に行われる。
【００２９】
まず、ステップＳ２００において、ＰＬＣプログラム実行部１４は、ＰＬＣ読出用メモリ１２からデータを読み出す。続いて、ＰＬＣプログラム実行部１４は、ステップ２１０において、読み出したＰＬＣ読出用メモリ１２のデータから汎用ＰＣ２からのラダープログラムの動作要求があるか否かを確認する。ラダープログラムの動作要求がある場合は、ステップＳ２２０において、ＰＬＣプログラム実行部１４は、プログラムメモリ１３から汎用ＰＣ２からの要求に対応するラダープログラムを読み込み、ステップＳ２３０において、ラダープログラムの動作を開始することを伝えるためのデータをＰＬＣ書込用メモリ１１に書き込む。なお、ステップＳ２１０において、読み出したＰＬＣ読出用メモリ１２のデータに汎用ＰＣ２からのラダープログラムの動作要求がない場合は、処理を完了する。
【００３０】
続いて、ＰＬＣプログラム実行部１４は、ステップＳ２４０において、ラダープログラムを実行する。続いて、ＰＬＣプログラム実行部１４は、ステップＳ２５０において、実行中のラダープログラムにおいて制御ＩＦ１６を介してＰＬＣ１に接続された制御対象による動作が必要であるか否かを判断し、制御対象による動作が必要である場合は、ステップＳ２５１において、制御ＩＦ１６に制御対象を動作させるための制御信号を出力する。
【００３１】
続いて、ＰＬＣプログラム実行部１４は、ステップＳ２５２において、制御ＩＦ１６を介して制御対象の動作状況を確認し、制御対象の動作が完了したか否かを確認する。制御対象の動作が完了していない場合は、ステップＳ２５３において、制御ＩＦ１６を介して制御対象の動作が正常であるか否かを確認する。制御対象の動作が正常である場合は、ステップＳ２５２に戻って、制御ＩＦ１６を介した制御対象の動作状況の確認を繰り返す。また、ステップＳ２５３において、制御対象の動作が正常でない場合は、次のステップＳ２５４において、エラー処理を行う。
【００３２】
続いて、ＰＬＣプログラム実行部１４は、ステップＳ２５０において制御対象による動作が必要でない場合、ステップＳ２５２において制御対象の動作が完了した場合、またはステップＳ２５４において、エラー処理を行った場合は、ステップＳ２６０において、実行中のラダープログラムの動作状況を伝えるためのデータをＰＬＣ書込用メモリ１１に書き込む。続いて、ＰＬＣプログラム実行部１４は、ステップＳ２７０において、実行中のラダープログラムの処理が完了したか否かを確認し、ラダープログラムの処理が完了した場合は、ステップＳ２８０において、ＰＬＣ書込用メモリ１１にラダープログラムの動作が完了したことを伝えるためのデータを書き込み、処理を完了する。また、ステップＳ２７０においてラダープログラムの処理が完了していない場合は、ステップＳ２４０に戻って、ラダープログラムの処理を継続する。
【００３３】
次に、本実施形態において、モータを制御する具体例を説明する。図５は、本実施形態においてＰＬＣの制御対象としてモータを接続した制御システムの構成を示した図である。図５において、制御システムを構成するＰＬＣ１、汎用ＰＣ２、および通信ケーブル３は、図１に示した構成と同様である。また、ＰＬＣ１には、制御対象としてＰＬＣ１からの制御信号に基づいた動作を行うモータ４が接続されている。また、図示しないがモータ４は、図２の制御ＩＦ１６に接続され、ＰＬＣプログラム実行部１４からの制御信号に応じて制御ＩＦ１６を介して制御される。
【００３４】
次に、本実施形態において、ＰＬＣ１と汎用ＰＣ２間で通信ケーブル３を介してデータを共有するメモリの構成について説明する。図６は、本実施形態における汎用ＰＣ書込用メモリ２１、およびＰＬＣ読出用メモリ１２のデータ構成の一例である。また、図７は、本実施形態におけるＰＬＣ書込用メモリ１１、および汎用ＰＣ読出用メモリ２２のデータ構成の一例である。
【００３５】
図６において、汎用ＰＣ書込用メモリ２１には、制御プログラムの処理に応じて汎用ＰＣプログラム実行部２４からＰＬＣ１のラダープログラムを実行させ、ＰＬＣ１に接続された制御対象であるモータ４を動作させるためのモータ動作指示領域（アドレス：ｗｔｄｔ［０］）、モータ４への設定データを記憶するためのデータ領域（モータ速度＝アドレス：ｗｔｄｔ［１］、およびモータ回転回数＝アドレス：ｗｔｄｔ［２］）が予め設定されている。また、モータ動作指示領域（アドレス：ｗｔｄｔ［０］）の各ビットは、汎用ＰＣプログラム実行部２４から指示する内容に応じた動作内容、例えば、ビット“０”＝動作実行、ビット“１”＝動作停止、ビット“２”＝リセット、ビット“５”＝一時停止が予め設定されている。
【００３６】
また、ＰＬＣ読出用メモリ１２には、汎用ＰＣ書込用メモリ２１に記憶されたデータを記憶するため、汎用ＰＣ書込用メモリ２１と同じ構成でモータ動作指示領域（アドレス：Ｄ２００）、データ領域（モータ速度＝アドレス：Ｄ２０１、およびモータ回転回数＝アドレス：Ｄ２０２）が予め設定されている。
【００３７】
汎用ＰＣプログラム実行部２４は、制御プログラムの処理に応じてモータ４を動作させる際に、汎用ＰＣ書込用メモリ２１にモータ４に対する動作指示、および設定データを書き込む。通信部２５が汎用ＰＣ書込用メモリ２１からデータを読み出して、通信ケーブル３および通信部１５を介して汎用ＰＣ書込用メモリ２１のデータがＰＬＣ読出用メモリ１２に転送（コピー）される。このことよって、ＰＬＣ１のラダープログラムを実行させ、ＰＬＣ１に接続された制御対象であるモータ４を動作させる。
【００３８】
図７において、ＰＬＣ書込用メモリ１１には、ラダープログラムの処理に応じてＰＬＣプログラム実行部１４が制御対象であるモータ４を動作させている状態を示すモータ動作状態領域（アドレス：Ｄ１００）、モータ４の動作状態を示すデータ領域（モータ速度＝アドレス：Ｄ１０１、およびモータ回転回数＝アドレス：Ｄ１０２］）が予め設定されている。また、モータ動作状態領域（アドレス：Ｄ１００）の各ビットは、ラダープログラムから動作させているモータ４の状態に応じた状態、例えば、ビット“３”＝動作中、ビット“４”＝動作完了、ビット“６”＝エラー停止が予め設定されている。
【００３９】
また、汎用ＰＣ読出用メモリ２２には、ＰＬＣ書込用メモリ１１に記憶されたデータを記憶するため、ＰＬＣ書込用メモリ１１と同じ構成でモータ動作状態領域（アドレス：ｒｄｄｔ［０］）、データ領域（モータ速度＝アドレス：ｒｄｄｔ［１］、およびモータ回転回数＝アドレス：ｒｄｄｔ［２］）が予め設定されている。
【００４０】
ＰＬＣプログラム実行部１４は、ラダープログラムの処理によって動作させているモータ４の動作状態を汎用ＰＣ２に伝える際に、ＰＬＣ書込用メモリ１１にモータ４の動作状態、および状態データを書き込む。通信部１５がＰＬＣ書込用メモリ１１からデータを読み出して、通信ケーブル３および通信部２５を介してＰＬＣ書込用メモリ１１のデータが汎用ＰＣ読出用メモリ２２に転送（コピー）される。このことよって、汎用ＰＣ２で動作している制御プログラムが、ＰＬＣ１に接続された制御対象であるモータ４の動作状態を把握する。
【００４１】
次に、本実施形態において、モータを動作させる処理手順について説明する。図８は、本実施形態の制御システムにおいてモータ４を動作させる処理手順を示したフローチャートである。なお、図８は、本実施形態の制御システムの全体の処理から、汎用ＰＣ２からＰＬＣ１に接続されたモータ４に対する動作実行指示を出し、該動作実行指示に応じてＰＬＣ１が動作し、モータ４の動作状態を汎用ＰＣ２に伝える処理手順を抜き出したフローチャートである。
【００４２】
まず、制御プログラムの処理によってＰＬＣ１に接続されたモータ４の動作が必要である場合、ステップＳ３００において、汎用ＰＣプログラム実行部２４は、ＰＬＣ１に接続されたモータ４を動作させるため、モータ速度指示のデータ（ｗｔｄｔ［１］＝１００［ｒｐｍ］）、モータ回転回数指示のデータ（ｗｔｄｔ［２］＝１５０［回転］）を汎用ＰＣ書込用メモリ２１に書き込み、続いて、モータ動作指示のデータ（ｗｔｄｔ［０］のビット“０”に動作実行を示すデータ＝“１”）を汎用ＰＣ書込用メモリ２１に書き込む。
【００４３】
その後の通信の周期において、通信部２５は、汎用ＰＣ書込用メモリ２１のデータを読み出し、通信ケーブル３を介して通信部１５に読み出した汎用ＰＣ書込用メモリ２１のデータを送信（通信ａ）する。通信部１５は、通信ａで送信されてきた汎用ＰＣ書込用メモリ２１のデータを受信し、受信した汎用ＰＣ書込用メモリ２１のデータをＰＬＣ読出用メモリ１２に書き込む。
【００４４】
続いて、ＰＬＣプログラム実行部１４は、ステップＳ４００において、ＰＬＣ読出用メモリ１２からモータ動作指示を示すデータ（Ｄ２００のビット“０”が動作実行を示すデータ＝“１”）を読み出し、モータ動作が指示されたことを確認し、対応するラダープログラムを実行する。続いて、ＰＬＣプログラム実行部１４は、ステップＳ４１０において、ＰＬＣ読出用メモリ１２からモータ動作を行うためのモータ速度指示データ（Ｄ２０１＝１００［ｒｐｍ］）、モータ回転回数指示データ（Ｄ２０２＝１５０［回転］）を読み出し、読み出したモータ速度指示データと、モータ回転回数指示データとに応じてモータ４の動作を開始する。
【００４５】
続いて、ＰＬＣプログラム実行部１４は、ステップＳ４２０において、モータ４の動作が実行中であることを示すデータ（Ｄ１００のビット“３”に実行中を示すデータ＝“１”）をＰＬＣ書込用メモリ１１に書き込む。
【００４６】
その後の通信の周期において、通信部１５は、ＰＬＣ書込用メモリ１１のデータを読み出し、通信ケーブル３を介して通信部２５に読み出したＰＬＣ書込用メモリ１１のデータを送信（通信ｂ）する。通信部２５は、通信ｂで送信されてきたＰＬＣ書込用メモリ１１のデータを受信し、受信したＰＬＣ書込用メモリ１１のデータを汎用ＰＣ読出用メモリ２２に書き込む。
【００４７】
続いて、ＰＬＣプログラム実行部１４は、ステップＳ４３０において、モータ４の動作状態を示すモータ速度状態のデータ（例えば、Ｄ１０１＝１０［ｒｐｍ］）、モータ回転回数状態のデータ（例えば、Ｄ１０２＝２０［回転］）をＰＬＣ書込用メモリ１１に書き込む。
【００４８】
その後の通信の周期において、通信部１５および通信部２５は、上述の通信ｂと同様に通信ケーブル３を介してＰＬＣ書込用メモリ１１のデータを汎用ＰＣ読出用メモリ２２に書き込む（通信ｃ）。
【００４９】
続いて、ＰＬＣプログラム実行部１４は、ステップＳ４４０において、モータの動作が完了したか否かを確認し、モータ４の動作が完了した場合は、ステップＳ４５０において、モータ４の動作が完了したことを示すデータ（Ｄ１００のビット“４”に動作完了を示すデータ＝“１”）をＰＬＣ書込用メモリ１１に書き込み、処理を完了する。
【００５０】
その後の通信の周期において、通信部１５および通信部２５は、上述の通信ｂと同様に通信ケーブル３を介してＰＬＣ書込用メモリ１１のデータを汎用ＰＣ読出用メモリ２２に書き込む（通信ｄ）。ステップＳ４４０において、モータ４の動作が完了していない場合は、ステップＳ４３０に戻って、ＰＬＣ書込用メモリ１１内のモータ４の動作状態を示すデータを更新する。
【００５１】
汎用ＰＣプログラム実行部２４は、ステップＳ３１０において、ステップＳ４２０で書き込まれた汎用ＰＣ読出用メモリ２２のモータ動作中を示すデータを読み出し、モータ４が動作中であるか否かを判断する。モータ４が動作中である（ｒｄｄｔ［０］のビット“３”が動作中を示すデータ＝“１”）場合は、ステップＳ３２０において、ステップＳ４３０で書き込まれた汎用ＰＣ読出用メモリ２２からモータ速度状態のデータ（例えば、ｒｄｄｔ［１］＝１０［ｒｐｍ］）、モータ回転回数状態のデータ（例えば、ｒｄｄｔ［２］＝２０［回転］）を読み出し、モータ４の動作状態を把握する。ステップＳ３１０において、モータ４が動作中でない場合は、ステップＳ３１０を繰り返す。
【００５２】
また、汎用ＰＣプログラム実行部２４は、ステップＳ３３０において、ステップＳ４５０で書き込まれた汎用ＰＣ読出用メモリ２２のモータ動作完了を示すデータを読み出し、モータ４の動作が完了したか否かを判断する。モータ４の動作が完了した（ｒｄｄｔ［０］のビット“４”が動作完了を示すデータ＝“１”）場合は、処理を完了する。ステップＳ３３０において、モータ４の動作が完了していない場合は、ステップＳ３１０に戻って、モータ４の動作状態の確認を繰り返す。
【００５３】
なお、上記の説明において、モータ４の動作に関するデータの通信は、通信ａ（汎用ＰＣ書込用メモリ２１とＰＬＣ読出用メモリ１２との通信）、および通信ｂ、ｃ、ｄ（ＰＬＣ書込用メモリ１１と汎用ＰＣ読出用メモリ２２との通信）のみを示したが、通信ケーブル３を介したＰＬＣ１の通信部１５と汎用ＰＣ２の通信部２５との通信は、汎用ＰＣ書込用メモリ２１のデータをＰＬＣ読出用メモリ１２に転送する通信と、ＰＬＣ書込用メモリ１１のデータを汎用ＰＣ読出用メモリ２２に転送する通信とが互いに重ならないように予め定められた周期で定期的に行われている。このことにより、ＰＬＣ読出用メモリ１２と、汎用ＰＣ読出用メモリ２２のデータは、汎用ＰＣ２の実行している制御プログラム、およびＰＬＣ１の実行しているラダープログラムの処理の進度に影響されることなく、予め定められた周期で更新されることとなる。
【００５４】
上記に述べたとおり、本発明を実施するための最良の形態によれば、互いに異なる言語で作成されたプログラムで動作する制御システム同士で、共通するメモリデータを介して一方の制御装置から他方の制御装置を動作させることができる。
【００５５】
なお、本実施形態において、ＰＬＣ１と汎用ＰＣ２との通信は、通信ケーブル３を用いて行う構成としたが、メモリデータを送受信する通信は、有線の通信に限らず無線の通信によって行うことも可能である。また、本発明においては、使用する通信規格は規定しない。
【００５６】
また、本実施例において、ＰＬＣ１に接続された制御対象は、モータ４であったが、本発明においては、ＰＬＣ１に接続する制御対象は規定しない。
【００５７】
また、本実施形態において、ＰＬＣ１におけるＰＬＣ書込用メモリ１１とＰＬＣ読出用メモリ１２とは、独立したメモリで構成したが、ＰＬＣ書込用メモリ１１とＰＬＣ読出用メモリ１２とを同じメモリで構成し、メモリ内で領域を分けて使用することもできる。また、ＰＬＣ書込用メモリ１１とＰＬＣ読出用メモリ１２とを同じメモリとした場合には、モータ動作指示（アドレス：Ｄ２００）と、モータ動作状態（アドレス：Ｄ１００）とを同じアドレス例えばＤ１００として、動作または状態の内容が重複しないように各ビットの表す内容を設定することもできる。
また上記と同様な考えで、汎用ＰＣ２においても汎用ＰＣ書込用メモリ２１と汎用ＰＣ読出用メモリ２２を同じメモリで構成することもできる。
【００５８】
また、ＰＬＣ１におけるＰＬＣ書込用メモリ１１と、ＰＬＣ読出用メモリ１２と、プログラムメモリ１３とも、独立したメモリで構成したが、プログラムメモリ１３がデータバス１７に接続される構成であるときは、これらのＰＬＣ書込用メモリ１１、ＰＬＣ読出用メモリ１２、プログラムメモリ１３を同じメモリで構成し、メモリ内で領域を分けて使用することもできる。
また上記と同様な考えで、プログラムメモリ２３がデータバス２７に接続される構成であるときは、汎用ＰＣ書込用メモリ２１、汎用ＰＣ読出用メモリ２２、プログラムメモリ２３を同じメモリで構成することもできる。
【００５９】
また、本実施形態において、ＰＬＣ書込用メモリ１１、ＰＬＣ読出用メモリ１２、汎用ＰＣ書込用メモリ２１、汎用ＰＣ読出用メモリ２２の各アドレスおよび各ビットの表す内容は、予め定められているものとしたが、メモリ領域の範囲のみを予め定めておき、各アドレスおよび各ビットの表す内容をＰＬＣ１と汎用ＰＣ２との通信によって定める、または変更する構成とすることもできる。
【００６０】
また、本実施形態において、汎用ＰＣ書込用メモリ２１のデータのＰＬＣ読出用メモリ１２への転送と、ＰＬＣ書込用メモリ１１のデータの汎用ＰＣ読出用メモリ２２への転送とは、読み出したメモリの全データを対象としていたが、汎用ＰＣ２およびＰＬＣ１は、実行中のプログラムによって動作させている制御対象を把握することができるので、該動作させている制御対象に関係するメモリ領域のみを転送することもできる。
【００６１】
また、本実施形態において、ＰＬＣ書込用メモリ１１、ＰＬＣ読出用メモリ１２への書き込み、およびＰＬＣ書込用メモリ１１、ＰＬＣ読出用メモリ１２からの読み出しは、ＰＬＣプログラム実行部１４および通信部１５が行っているが、制御プログラムまたはラダープログラムの作成時には、図示しない入出力インターフェース（例えば、キーボード、マウス、ディスプレイ）を介して直接、ＰＬＣ書込用メモリ１１やＰＬＣ読出用メモリ１２にアクセスすることができる構成とすることもできる。このことにより、プログラム作成時の検証を容易にすることができる。
また上記と同様な考えで、汎用ＰＣ書込用メモリ２１や汎用ＰＣ読出用メモリ２２に直接アクセスすることができる構成とすることもできる。
【００６２】
また、本実施形態において、ＰＬＣ１および汎用ＰＣ２の全体の制御は、図示しない制御手段によって行い、ＰＬＣプログラム実行部１４および汎用ＰＣプログラム実行部２４とは別の制御手段を備える構成としていたが、ＰＬＣプログラム実行部１４および汎用ＰＣプログラム実行部２４がＰＬＣ１および汎用ＰＣ２の全体の制御を行う構成とすることもできる。
この場合、例えば、汎用ＰＣ書込用メモリ２１のデータのＰＬＣ読出用メモリ１２への送信と、ＰＬＣ書込用メモリ１１のデータの汎用ＰＣ読出用メモリ２２への受信とを汎用ＰＣ２、すなわち汎用ＰＣプログラム実行部２４が実行中の制御プログラムが管理することができるので、制御プログラムで通信のタイミングを規定してもよい。
【００６３】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施形態による制御システムの構成を示した図である。
【図２】本実施形態における制御システムの構成を示したブロック図である。
【図３】本実施形態の制御システムにおける汎用ＰＣの処理手順を示したフローチャートである。
【図４】本実施形態の制御システムにおけるＰＬＣの処理手順を示したフローチャートである。
【図５】本実施形態において制御対象を接続した制御システムの構成を示した図である。
【図６】本実施形態における汎用ＰＣ書込用メモリ、およびＰＬＣ読出用メモリのデータ構成の一例である。
【図７】本実施形態におけるＰＬＣ書込用メモリ、および汎用ＰＣ読出用メモリのデータ構成の一例である。
【図８】本実施形態の制御システムにおけるモータ動作の処理手順を示したフローチャートである。
【図９】従来の制御システムの構成を示したブロック図である。
【符号の説明】
【００６５】
１  ＰＬＣ  ２  汎用ＰＣ  ３  通信ケーブル  １１  ＰＬＣ書込用メモリ  １２  ＰＬＣ読出用メモリ  １３  プログラムメモリ  １４  ＰＬＣプログラム実行部  １５  通信部  １６  制御ＩＦ  １７  バスライン  ２１  汎用ＰＣ書込用メモリ  ２２  汎用ＰＣ読出用メモリ  ２３  プログラムメモリ  ２４  汎用ＰＣプログラム実行部  ２５  通信部  ２７  バスライン  ４  モータ
【図１】
2010061193.tif 000003
【図２】
2010061193.tif 000004
【図３】
2010061193.tif 000005
【図４】
2010061193.tif 000006
【図５】
2010061193.tif 000007
【図６】
2010061193.tif 000008
【図７】
2010061193.tif 000009
【図８】
2010061193.tif 000010
【図９】
2010061193.tif 000011