(57)【特許請求の範囲】
【請求項１】
プログラマブルコントローラに対してデータの設定やデータのモニタリングを実行させる複数のツールを有するパーソナルコンピュータにおいて、
上記複数のツールの各ツール番号とメッセージを識別するシーケンシャルＩＤとを対応させて格納するツール対応テーブルと、
上記複数のツールから出力されたコマンドデータを受け付けて、各コマンドデータに該コマンドデータの送信先を示す送信先アドレスと該コマンドデータを識別するシーケンシャルＩＤを付加したコマンドメッセージを形成するコマンドメッセージ形成手段と、
上記コマンドメッセージ形成手段で形成されたコマンドメッセージを格納するコマンドメッセージ格納手段と、
上記コマンドメッセージ格納手段に格納されたコマンドメッセージを読み出して、該コマンドメッセージに含まれる送信先アドレスのプログラマブルコントローラ宛てに該コマンドメッセージを送信し、該送信したコマンドメッセージに対するプログラマブルコントローラからのレスポンスメッセージを受信するメッセージ通信手段と、
上記メッセージ通信手段で受信したレスポンスメッセージを格納するレスポンスメッセージ格納手段と、
上記レスポンスメッセージ格納手段に格納されたレスポンスメッセージを読み出して、該レスポンスメッセージに含まれるシーケンシャルＩＤと上記ツール対応テーブルのツール番号およびシーケンシャルＩＤとに基づいて、送信先のツール番号を取得して該送信先のツール宛てに出力するレスポンスデータを形成するレスポンスデータ形成手段と、
を具備し、
上記送信したコマンドメッセージに対するレスポンスメッセージを受信しなくても、上記ツールから出力されたコマンドデータを受け付けてコマンドメッセージを送信する
ことを特徴とするパーソナルコンピュータ。
【請求項２】
共通の通信ポートを介して接続されたプログラマブルコントローラに対してデータの設定やデータのモニタリングを実行させる複数のツールを稼働するパーソナルコンピュータの通信方法において、
上記複数のツールの各ツール番号とメッセージを識別するシーケンシャルＩＤとを対応させて格納し、
上記複数のツールから出力されたコマンドデータを受け付けて、各コマンドデータに該コマンドデータの送信先を示す送信先アドレスと該コマンドデータを識別するシーケンシャルＩＤを付加したコマンドメッセージを形成して格納し、
上記格納されたコマンドメッセージを読み出して、該コマンドメッセージに含まれる送信先アドレスのプログラマブルコントローラ宛てに該コマンドメッセージを送信し、
上記送信されたコマンドメッセージに対するプログラマブルコントローラからのレスポンスメッセージを受信して格納し、
上記格納されたレスポンスメッセージを読み出して、該レスポンスメッセージに含まれるシーケンシャルＩＤと上記格納されたツール番号およびシーケンシャルＩＤとに基づいて、送信先のツール番号を取得して該送信先のツール宛てに出力するレスポンスデータを形成し、
上記送信したコマンドメッセージに対するレスポンスメッセージを受信しなくても、上記ツールから出力されたコマンドデータを受け付けてコマンドメッセージを送信する
ことを特徴とするパーソナルコンピュータの通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数のプログラマブルコントローラと、パーソナルコンピュータとで構築されたプログラマブルコントローラシステムに関する。
【０００２】
【従来の技術】
近年、センサ，アクチュエータ等を制御するプログラマブルコントローラは、例えば図１４に示すように、ＣＰＵユニット５０と、システムバス９０を介してＣＰＵユニット５０と接続するＮＣユニット等からなる高機能Ｉ／Ｏユニット６０および他の通信ユニットとデータを送受信する通信ユニット７０とから構成されている。
【０００３】
ＣＰＵユニット５０は、ラック上に有する高機能Ｉ／Ｏユニット６０および通信ユニット７０を制御するようになっているとともに、ツールケーブル１００を介してデータを設定させるツール（アプリケーションソフトウェア）１，高機能Ｉ／Ｏユニット６０でモニタリングを実行させるツール２（アプリケーションソフトウェア）を稼働させるパーソナルコンピュータ８０と接続するようになっている。
【０００４】
高機能Ｉ／Ｏユニット６０は、特殊な制御、例えばＮＣ制御，ＰＩＤ制御等を実施するものである。
【０００５】
通信ユニット７０は、他のノードとなる別のＣＰＵユニット５０または高機能Ｉ／Ｏユニット６０とデータを送受信するようになっている。
【０００６】
【発明が解決しようとする課題】
上述した従来のプログラマブルコントローラでは、ＣＰＵユニット５０に接続するパーソナルコンピュータ８０が、ＣＰＵユニット５０にデータを設定するツール１または高機能Ｉ／Ｏユニット６０でモニタリングを実行させるツール２（アプリケーションソフトウェア）を稼働させるものであるが、パーソナルコンピュータ８０上で複数のアプリケーションを同時にＣＰＵユニット５０と通信させることができないため、仮にツール１が稼働しているときにツール２を稼働させたい場合には、一旦、ツール１の稼働を停止したうえで、ツール２を稼働させなければならず、作業効率が悪いという問題点があった。
【０００７】
なお、図１５に示すように、高機能ユニット６０にパーソナルコンピュータ９０をさらに接続し、高機能Ｉ／Ｏユニット６０でモニタリングを実行させるツール２を実行さると、上述した問題点が解決されるが、パーソナルコンピュータが余分に必要となり、装置コストが高くなるという問題点があった。
【０００８】
そこで、この発明は上述した問題点に鑑み、所定のツールを稼働させるに際し、作業効率を向上させるとともに、装置コストを抑えるプログラマブルコントローラシステムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上述の目的を達成するために、この発明において、パーソナルコンピュータは、ツールからプログラマブルコントローラに対して送信すべ旨の指示を受けると、形成したコマンドメッセージを送信バッファに格納し、また、プログラマブルコントローラに送信したコマンドメッセージに対するレスポンスメッセージを受信バッファに格納するように構成したため、コマンドメッセージに対するレスポンスメッセージを受信しなくても、ツールの指示に基づきコマンドメッセージを送信することができる。
【００１０】
また、この発明では、プログラマブルコントローラが、パーソナルコンピュータから受信したコマンドメッセージから送信先を読み取り、読み取った送信先が自己宛ての場合には、そのコマンドメッセージに基づいた処理を実行し、その後、コマンドメッセージに対するレスポンスメッセージをパーソナルコンピュータに送信する。
【００１１】
一方、プログラマブルコントローラは、読み取った送信先が第２のプログラマブルコントローラの場合には、コマンドメッセージを第２のプログラマブルコントローラに送信し、この第２のプログラマブルコントローラからのレスポンスメッセージを受信すると、受信したレスポンスメッセージをパーソナルコンピュータに送信する。
【００１２】
【発明の実施の形態】
以下、この発明に係るプログラマブルロジックコントローラシステムを図面を参照して説明する。
【００１３】
図１はこの発明に係るプログラマブルロジックコントローラシステムの一実施形態を示すブロック図である。
【００１４】
この実施形態のプログラマブルロジックコントローラシステム（以下、ＰＬＣシステムという）は、センサ，アクチュエータ等の制御対象機器を制御する第１のプログラマブルコントローラ（以下、第１のＰＬＣという、）１および第２のプログラマブルコントローラ（以下、第２のＰＬＣという）１ａと、後述するツールを稼働するパーソナルコンピュータ（以下、パソコンという）２とから構成されている。
【００１５】
第１のＰＬＣ１は、ＣＰＵユニット１１と、高機能ユニット１２と、通信ユニット１３とを備えており、これらがデータバス，アドレスバス等からなるシステムバス１４と接続された構成になっている。
【００１６】
ＣＰＵユニット１１は、ラック上に有する高機能Ｉ／Ｏユニット１２および通信ユニット１３を制御するとともに、ツールケーブル３を介してパソコン２と接続されており、パソコン２から受信したツールの所定処理を実行するようになっている。
【００１７】
このＣＰＵユニット１１は、ＣＰＵユニット１１自身を制御するマイクロコンピュータ（マイコン）１１１と、マイクロコンピュータ１１１がシステムバス１４を介して各ユニット１２，１３にアクセスするためのインタフェースを行うマイコンバスＡＳＩＣ１１２と、ツールからの受信データ（以下、コマンドメッセージという）を複数格納するとともにツールに対して送信する送信データ（レスポンスメッセージという）を格納するメモリ１１３と、通信処理を行う通信処理プログラムを格納する通信処理プログラムメモリ１１４とを有するような構成になっている。
【００１８】
通信処理プログラムは、図２に示すように、パーソナルコンピュータ２から受信したコマンドメッセージを受信するコマンド受信手段１１４ａと、コマンドメッセージに対するレスポンスメッセージを形成するレスポンス形成手段１１４ｂと、レスポンス形成手段１１４ｂで形成したレスポンスメッセージをパーソナルコンピュータ２に送信するレスポンス送信手段１１４ｃと、コマンド受信手段１１４ａが受信したコマンドメッセージから送信先を読み取る送信先読取り手段１１４ｄと、送信先読取り手段１１４ｄで読み取られた送信手段の宛先を判断し、宛先を第２のＰＬＣ１ａであると判断した場合には、通信ユニット１３にコマンドメッセージを転送し、一方、宛先が自己であるであると判断した場合には、レスポンス形成手段１１４ｂにコマンドメッセージに対するレスポンスメッセージを形成させる指示を出力する宛先判断手段１１４ｅとを有している。
【００１９】
高機能Ｉ／Ｏユニット１２は、特殊な制御を行うためのユニット、例えばＮＣユニット等であり、高機能Ｉ／Ｏユニット自身を制御するマイクロコンピュータ（マイコン）１２１と、システムバス１４とこのユニットのインタフェースを行うバスＡＳＩＣ１２２と、ＣＰＵユニット１１から送信されてきたコマンドおよびＣＰＵユニット１１に対して送信するレスポンスを格納するメモリ１２３とを有するような構成になっている。
【００２０】
通信ユニット１３は、ＣＰＵユニット１１から受信したコマンドメッセージを、接続している他のノードに有する通信ユニットに送信するとともに、それに対するレスポンス等を受信し、これをＣＰＵユニット１１に送信するようになっており、通信ユニット自身を制御するマイクロコンピュータ（マイコン）１３１と、システムバス１４とこのユニットのインタフェースを行うバスＡＳＩＣ１３２と、ＣＰＵユニット１１から送信されてきたコマンド等およびＣＰＵユニット１１に対して送信するレスポンスメッセージ格納するメモリ１３３とを有する構成になっている。
【００２１】
パーソナルコンピュータ２は、表示画面上に複数のウィンドウを表示できるものであって、このウィンドウを使用して複数のツール２１（アプリケーションソフトウェア）（図面上では＃１のツール２１および＃２のツール２１）を実行するようになっている。
【００２２】
このパーソナルコンピュータ２は、図３に示すように、＃１〜＃ｎのツール２１と、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）  ２２と、＃１〜＃ｍの通信ドライバ２３と、各通信ドライバ２３ごとに有する送信バッファ２４および受信バッファ２５と、各通信ドライバ２３ごとに有する通信ポート２６と、後述する送信用ツール対応テーブル２７と、後述する受信用ツール対応テーブル２８とから構成されている。
【００２３】
＃１〜＃ｎのツール２１は、ＣＰＵユニット１１に所定のデータ値を設定させるもの、高機能Ｉ／Ｏユニット１２が制御している制御対象機器のモニタリングを行わせるものがある。
【００２４】
ＯＳ２２は、市販のパーソナルコンピュータにおいて使用されているＯＳ、例えばウィンドウ９５／ＮＴ等であって、複数のタスク（ソフトウェア）の実行をタイムシェアリングすることで、あたかも同時にタスクが実行されているかのようになっている。
【００２５】
＃１〜＃ｍの通信ドライバ２３は、＃ｉのツール２１の指示に基づき、コマンドメッセージを所定のノードに送信する際に、プロトコルに従ったフレーム構成を有するコマンドメッセージを形成し、この形成したコマンドメッセージを送信バッファ２４に送信するようになっている。
【００２６】
また、＃１〜＃ｍの通信ドライバ２３は、＃ｊのツール２１宛てのレスポンスメッセージを受信バッファ２５から受けると、受けたレスポンスメッセージからメッセージデータを形成し、これを＃ｊのツール２１に出力するようになっている。
【００２７】
なお、＃１〜＃ｍの通信ドライバ２３がコマンドメッセージを形成する処理および受けたレスポンスメッセージからメッセージデータを形成する処理を、後に詳細に説明する。
【００２８】
送信バッファ２４は、通信ドライバ２３が形成した通信プロトコルに適合したフレームからなるコマンドメッセージを送信するまで一時格納するものである。
【００２９】
受信バッファ２５は、他のノードから受信したレスポンスメッセージを一時格納するものである。
【００３０】
＃１〜＃ｍの通信ポート２６は、通信ドライバ２３と対になっており、パーソナルコンピュータが一般的に保有している外部機器と接続するためのＩ／Ｆ、または、パーソナルコンピュータに拡張ボードを組み込み、拡張された外部機器と接続するＩ／ＦからなるシリアルＩ／Ｆ（ＲＳ２３２Ｃ等）を有している。
【００３１】
送信用ツール対応テーブル２７は、図４（ａ）に示すように、コマンドメッセージを送信したとき、そのコマンドメッセージを送信させるツール２１と、このツール２１の指示に基づき通信ドライバ２３が形成したコマンドメッセージを識別する値であるシーケンシャルＩＤとを有する送信用ツール対応データを格納するものである。
【００３２】
シーケンシャルＩＤは、各ツール２１毎に取り得る値の範囲、例えば１０の範囲に決められている。このことは、通信ドライバ２３が形成したコマンドメッセージを送信できない場合に、同じコマンドメッセージを形成して送信することができるリトライ回数が規定されていることになる。
【００３３】
因みに、Ａの印の送信用ツール対応データは、通信ドライバ２３で形成されたコマンドメッセージが、＃２のツールからの指示に基づくものであり、リトライ回数が０であることを示している。
【００３４】
受信用ツール対応テーブル２８は、図４（ｂ）に示すように、レスポンスメッセージを受信したとき、この受信したレスポンスメッセージを出力する先のツール２１と、この受信したレスポンスメッセージを特定するメッセージＩＤとを有する受信用ツール対応データを格納するものである。
【００３５】
因みに、Ｂの印の受信用ツール対応データは、通信ドライバ２３で受信したレスポンスメッセージの宛先が＃４のツール２１のものであり、かつ、このレスポンスメッセージを受信するまでのリトライ回数が３であることを示している。
【００３６】
ここで、コマンドメッセージおよびレスポンスメッセージのフレーム構成を説明する。
【００３７】
図５はコマンドメッセージおよびレスポンスメッセージのフレーム構成を示すフレーム構成図である。
【００３８】
コマンドメッセージは、図５（ａ）に示すように、メッセージの種別を指定するコマンドヘッダ１Ａ，送信先アドレスおよび送信元アドレス１Ｂ，このコマンドメッセージを特定するシーケンシャルＩＤ（ＳＩＤ）１Ｃ，および送信先に送るデータ（コマンドデータ）１Ｄからなるフレーム構成になっている。
【００３９】
レスポンスメッセージは、図５（ｂ）に示すように、メッセージの種別を指定するレスポンスヘッダ２Ａ，送信先アドレスおよび送信元アドレス２Ｂ，このレスポンスメッセージを特定するシーケンシャルＩＤ（ＳＩＤ）２Ｃ，および送信先のツール２１に送るデータ（レスポンスデータ）２Ｄからなるフレーム構成になっている。
【００４０】
次に、この実施の形態のＰＬＣシステムの動作を、（１）第１のＰＬＣ１の動作と、（２）パーソナルコンピュータ２の動作とに分けて説明する。
【００４１】
（１）第１のＰＬＣ１の動作について
第１のＰＬＣ１の動作を図２を参照して説明する。
【００４２】
第１のＰＬＣ１のコマンド受信手段１１４ａが、パーソナルコンピュータ２からコマンドメッセージを受信すると（図２中の▲１▼参照）、受信したコマンドメッセージを送信先読取り手段１１４ｄに出力する（図２中の▲２▼参照）。
【００４３】
次に、送信先読取り手段１１４ｄは、受けたコマンドメッセージから送信先を読み取り、読み取った送信先を宛先判断手段１１４ｅに出力する（図２中の▲３▼参照）。
【００４４】
宛先判断手段１１４ｅは、送信先読取り手段１１４ｄから送信先を受けると、宛先を判断し、宛先を第２のＰＬＣ１ａであると判断した場合には、通信ユニット１３にコマンドメッセージを転送し（図２中の４参照）、一方、宛先が自己であると判断した場合には、レスポンス形成手段１１４ｂにコマンドメッセージに対するレスポンスメッセージを形成させる指示を出力する（図２中の５参照）。
【００４５】
レスポンス形成手段１１４ｂは、レスポンスメッセージを形成するように指示を宛先判断手段１１４ｅから受けると、レスポンスメッセージを形成し、レスポンス送信手段１１４ｃに出力する。
【００４６】
レスポンス送信手段１１４ｃは、レスポンス送信手段１１４ｂまたは第２のＰＬＣ１ａからのレスポンスメッセージを受けると（図２中の▲６▼，▲７▼参照）、このレスポンスメッセージをパーソナルコンピュータ２に送信する（図２中の▲８▼参照）。
【００４７】
（２）パーソナルコンピュータ２の動作について
ここで、パーソナルコンピュータ２の動作について、▲１▼コマンドメッセージを第１のＰＬＣ１（ＣＰＵユニット１１）に送信させる動作と、▲２▼レスポンスメッセージを第１のＰＬＣ１（ＣＰＵユニット１１）から受信する動作に分けて説明する。
【００４８】
▲１▼コマンドメッセージを第１のＰＬＣ１（ＣＰＵユニット１１）に送信させる動作について
なお、このコマンドメッセージを送信させる指示を出力したツール２１は、＃ｊのツール２１とする。
【００４９】
パーソナルコンピュータ２の＃ｊのツール２１が、所定のノードの送信先（ＣＰＵユニット１１）に対してコマンドメッセージを送信させる旨の指示と（図６中の▲１▼参照）、コマンドデータ１ＤをＯＳ２２を介して＃ｉの通信ドライバ２３に出力すると、＃ｉの通信ドライバ２３は、＃ｊのツール２１から受けたコマンドデータ１Ｄを内蔵する＃ｊの送信バッファ２３１に格納する（図６中の▲２▼参照）。
【００５０】
続いて、＃ｉの通信ドライバ２３は、送信用ツール対応テーブル２７を参照して（図６中の▲３▼参照）、コマンドデータの前にシーケンシャルＩＤ１Ｃを付加し、さらに、このシーケンシャルＩＤ１Ｃの前にこのコマンドデータの送信先のアドレスおよび送信元のアドレス１Ｂを付加し、さらにまた、これらのアドレス１Ｂの前にコマンドヘッダ１Ａを付加してコマンドメッセージを形成し、この形成したコマンドメッセージを送信バッファ２４に格納する（図６中の▲４▼参照）。
【００５１】
＃ｉの通信ポート２６は、送信バッファ２４にコマンドメッセージ２４が格納されていると、このコマンドメッセージを読み出し（図６中の▲５▼参照）、コマンドメッセージの送信先宛てに送信する（図６中の▲６▼参照）。
【００５２】
▲２▼レスポンスメッセージをＰＬＣ１（ＣＰＵユニット１１）から受信する動作について
ここで、受信したレスポンスメッセージを受けとるツール２１は、＃ｋのツールとする。
【００５３】
＃ｉの通信ポート２６は、レスポンスメッセージを受けると（図６中の▲７▼参照）、このメッセージを受信バッファに格納する（図６中の▲８▼参照）。
【００５４】
＃ｉの通信ドライバ２３は、受信バッファ２５にレスポンスメッセージが格納されると、格納されているレスポンスメッセージを読み出し、レスポンスヘッダが示すメッセージの種別がレスポンスメッセージであると確認すると、次にメッセージから送信先アドレス（＃ｋのツール２１のアドレス）および送信元アドレス２Ｂと、シーケンシャルＩＤ２Ｃとを読み出したのち、送信先のアドレス（＃ｋのツール２１のアドレス）を参照して、＃ｋの受信用ツール対応データを受信用ツール対応テーブル２８に格納する（図６中の９参照）。
【００５５】
＃ｉの通信ドライバ２３は、＃ｋの受信用ツール対応データを受信用ツール対応テーブル２８に格納すると、レスポンスメッセージからレスポンスヘッダ２Ａ，送信先アドレスおよび送信元アドレス２Ｂ、並びにシーケンシャルＩＤ２Ｃを除去し、レスポンスデータを形成し、これを＃ｋの受信バッファ２３２に格納する（図６中のａ参照）。
【００５６】
＃ｋのツール２１は、ＯＳ２２を介して、＃ｉの通信ドライバ２３に有する＃ｋの受信バッファ２３２からレスポンスデータを読み出す（図６中のｂ参照）。
【００５７】
この実施形態のＰＬＣシステムでは、パーソナルコンピュータ２が、ツール２１から第１のＰＬＣ１に対して送信すべき旨の指示を受けると、形成したコマンドメッセージを送信バッファ２４に格納し、また、第１のＰＬＣ１に送信したコマンドメッセージに対するレスポンスメッセージを受信バッファ２５に格納するようにしたことにより、コマンドメッセージに対するレスポンスメッセージを受信しなくても、ツール２１の指示に基づきコマンドメッセージを送信することができる。
【００５８】
このため、ツール２１を稼働させるに際してその作業効率を向上させるとともに、複数のパーソナルコンピュータ２を備える必要をなくしコストを抑えることができる。
【００５９】
ここで、第１のＰＬＣ１は、パーソナルコンピュータ２から受信したコマンドメッセージから送信先を読み取り、読み取った送信先が自己宛ての場合には、そのコマンドメッセージに基づいた処理を実行し、その後、コマンドメッセージに対するレスポンスメッセージをパーソナルコンピュータ２に送信する。
【００６０】
一方、第１のＰＬＣ１は、読み取った送信先が第２のＰＬＣ１ａの場合には、コマンドメッセージを第２のＰＬＣ１ａに送信し、第２のＰＬＣ１ａからのレスポンスメッセージを受信すると、受信したレスポンスメッセージをパーソナルコンピュータ２に送信する。
【００６１】
本実施形態のＰＬＣシステムでは、上述したような構成を有することにより、パーソナルコンピュータ２とＣＰＵユニット１１、および、ＣＰＵユニット１１および通信ユニット１３を介してパーソナルコンピュータ２と他のＣＰＵユニット１１との送信処理は、図７に示すようになる。
【００６２】
すなわち、パーソナルコンピュータ２が、図７に示すように、最初にＣＰＵユニット１１に対してコマンドメッセージ１を送信し、２番目にＣＰＵユニット１１および通信ユニット１３を介して他のＣＰＵユニット１１にコマンドメッセージ２を送信し、３番目にＣＰＵユニット１１に対してコマンドメッセージ３を送信した場合には、コマンドメッセージ１に対するレスポンスメッセージ１がＣＰＵユニット１１から送信されてきたのち、コマンドメッセージ３に対するレスポンスメッセージ３がＣＰＵユニット１１から送信され、最後にコマンドメッセージ２に対するレスポンスメッセージ２が送信されるようになる。
【００６３】
因みに、従来のＰＬＣシステムでは、パーソナルコンピュータのツールからコマンドメッセージを受け、それに対するレスポンスメッセージが帰ってこないと、次のコマンドメッセージを送信することができない。
【００６４】
従って、パーソナルコンピュータ２とＣＰＵユニット１１、および、ＣＰＵユニット１１および通信ユニット１３を介してパーソナルコンピュータ２と他のＣＰＵユニット１１との送信処理は、図８に示すようになる。
【００６５】
すなわち、パーソナルコンピュータ２は、図８に示すように、最初にＣＰＵユニット１１に対してコマンドメッセージ１を送信し、そのコマンドメッセージに対するレスポンスメッセージ１が受信されてきたのち、ＣＰＵユニット１１および通信ユニット１３を介して他のＣＰＵユニット１１にコマンドメッセージ２を送信し、それに対するレスポンスメッセージ２が受信される。
【００６６】
図９は、図３に示したパーソナルコンピュータ２の機能構成を示す機能ブロック図である。
【００６７】
図９において、パーソナルコンピュータ２は、ツールとしてＳＰＭＡ（Ｓｉｎｇｌｅ  Ｐｏｒｔ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）対応用のＳＰＭＡアプリケーション２０１を有している。この例では、３つのＳＰＭＡアプリケーション（１）、（２）、（３）が起動しており、そのうち２つのＳＰＭＡアプリケーション（１）、（２）は同じ外部機器、例えば、外部機器１００−１〜１００−３の内の外部機器１００−１に接続され、他のＳＰＭＡアプリケーション（３）は別の外部機器、例えば、外部機器１００−１〜１００−３の内の外部機器１００−２に接続されている状態を示している。
【００６８】
ここで、外部機器１００−１〜１００−３は、図１に示した第１のＰＬＣ１，第２のＰＬＣ１ａ等に対応する。
【００６９】
通信処理部２０２は、２つのＳＰＭＡアプリケーション（１）、（２）に対応して外部機器ＩＤ割付およびコマンド割付を行い（処理２０２−１）、また、ＳＰＭＡアプリケーション（３）に対応して同様に外部機器ＩＤ割付およびコマンド割付を行い（処理２０２−２）、通信コマンドを生成する（処理２０２−３）。
【００７０】
パソコンハードウェア部２０３は、パソコン内通信バッファ２０３−１、パソコン内通信物理ポート２０３−２を有して構成されており、通信処理部２０２で生成された通信コマンドをパソコン内通信バッファ２０３−１に格納し、パソコン内通信物理ポート２０３−２から外部機器１００−１〜１００−３に送出する。
【００７１】
また、外部機器１００−１〜１００−３からのレスポンスは、パソコン内通信物理ポート２０３−２を通して受信し、パソコン内通信バッファ２０３−１に格納した後、対応するＳＰＭＡアプリケーションに返す。
【００７２】
図１０は、図９に示したパーソナルコンピュータ２の全体動作を示すフローチャートである。
【００７３】
図１０においては、パーソナルコンピュータ（パソコン）２上でＳＰＭＡアプリケーション（ＳＰＭＡ対応アプリ）が複数、具体的には３つのＳＰＭＡアプリケーション（ＳＰＭＡアプリ）（１）、（２）、（３）が起動されている（ステップ２１１）状態を示している。
【００７４】
ＳＰＭＡアプリ（１）実行中においては（ステップ２１２）、ＳＰＭＡアプリ（１）からの要求通信コマンドがあるかを調べ（ステップ２１３）、ない場合は（ステップ２１３でＮｏ）、ステップ２１２に戻るが、あると（ステップ２１３でＹｅｓ）、この通信コマンドを通信コマンド管理用スタックに追加する処理１を実行する（ステップ２１８）。
【００７５】
また、ＳＰＭＡアプリ（２）実行中においては（ステップ２１４）、ＳＰＭＡアプリ（２）からの要求通信コマンドがあるかを調べ（ステップ２１５）、ない場合は（ステップ２１５でＮｏ）、ステップ２１４に戻るが、あると（ステップ２１５でＹｅｓ）、この通信コマンドを通信コマンド管理用スタックに追加する処理１を実行する（ステップ２１８）。
【００７６】
また、ＳＰＭＡアプリ（３）実行中においては（ステップ２１６）、ＳＰＭＡアプリ（３）からの要求通信コマンドがあるかを調べ（ステップ２１７）、ない場合は（ステップ２１７でＮｏ）、ステップ２１６に戻るが、あると（ステップ２１７でＹｅｓ）、この通信コマンドを通信コマンド管理用スタックに追加する処理１を実行する（ステップ２１８）。
【００７７】
そして、パソコン内通信物理ポート２０３−２からコマンドの送信を行う（ステップ２１９）。
【００７８】
なお、ステップ２１８の処理１の詳細に付いては、図１１に示したフローチャートを参照して後述する。
【００７９】
次に、外部機器１００−１〜１００−３からのレスポンスを受信したかを調べる（ステップ２２０）。ここで、外部機器１００−１〜１００−３からのレスポンスを受信していない場合は（ステップ２２０でＮｏ）、ステップ２１９に戻るが、外部機器１００−１〜１００−３からのレスポンスを受信した場合は、対応するコマンド送信元ＳＰＭＡアプリに受信したレスポンスを返す処理２を実行する（ステップ２２１）。
【００８０】
なお、ステップ２２１の処理２の詳細に付いては、図１２に示したフローチャートを参照して後述する。
【００８１】
図１１は、図１０に示したステップ２１８の処理１の詳細を示すフローチャートである。
【００８２】
図１１に示す処理１においては、ＳＰＭＡアプリ（ｍ）（Ｍ＝１、２、３）が要求する外部機器に対するコマンドを通信コマンド管理用スタックに登録する処理が開始されると（ステップ２３１）、まず、ＳＰＭＡアプリ（ｍ）が要求した外部機器に対して外部機器ＩＤとコマンドＩＤを割り付け、通信コマンド管理用スタックに登録する（ステップ２３２）。
【００８３】
次に、パソコン２内のパソコン内通信バッファ２０３−１に通信コマンド管理用スタックの内容を転送する（ステップ２３３）。そして、パソコン内通信バッファ２０３−１がいっぱいかを調べ（ステップ２３４）、いっぱいの場合は（ステップ２３４でＹｅｓ）、ステップ２３３に戻るが、いっぱいでない場合は（ステップ２３４でＮｏ）、外部機器に対してコマンドＩＤを割り付けて送信する（ステップ２３５）。
【００８４】
図１２は、図１０に示したステップ２２１の処理２の詳細を示すフローチャートである。
【００８５】
図１２に示す処理２においては、まず、外部機器からのレスポンスの情報に含まれる外部機器ＩＤとそのコマンドＩＤを解析する（ステップ２４１）。
【００８６】
次に、解析した外部機器ＩＤとコマンドＩＤから通信コマンド管理用スタックに登録されているＳＰＭＡアプリ番号を割り出す（ステップ２４２）。そして、外部機器からのレスポンス内容を抽出し、送信元ＳＰＭＡアプリに返す（ステップ２４３）。
【００８７】
なお、この発明のＰＬＣシステムにおいては、図１３に示すように、パソコン２の表示画面上で、ＰＬＣネームを指定するだけでネットワーク上のＰＬＣと簡単に接続することが可能である。この場合、図１３（ａ）に示すように、パソコン２に直接接続しているＰＬＣだけでなく、図１３（ｂ）に示すように、そのＰＬＣを介したネットワーク上のＰＬＣに対してアクセス（リモートプログラミング／モニタリング）するときも、ゲートウェイとなるＰＬＣのＰＬＣネームを指定するだけで簡単に接続することが可能になる。
【００８８】
また、リモートネットワーク上のＰＬＣに関するディップスイッチの状態や動作モードなどの情報をパソコン２からＰＬＣネームを指定するだけで収集することも可能である。
【００８９】
【発明の効果】
以上説明したように請求項１の発明によれば、第１のプログラマブルコントローラと、この第１のプログラマブルコントローラに接続する第２のプログラマブルコントローラと、上記第１のプログラマブルコントローラに接続するパーソナルコンピュータとで構築されたプログラマブルコントローラシステムにおいて、上記第１のプログラマブルコントローラは、上記パーソナルコンピュータから送信されてきたコマンドメッセージが、自己宛てのコマンドメッセージである場合には、このコマンドメッセージに対するレスポンスメッセージを上記パーソナルコンピュータに送信し、一方、上記第２のプログラマブルコントローラ宛てのコマンドメッセージである場合には、上記第２のプログラマブルコントローラに送信し、この第２のプログラマブルコントローラから送信されてきたレスポンスメッセージを上記パーソナルコンピュータに送信するように構成したので、パーソナルコンピュータは、該パーソナルコンピュータに直接接続された第１のプログラマブルコントローラとだけでなく、第１のプログラマブルコントローラを介してパーソナルコンピュータに接続された第２のプログラマブルコントローラとも同様に通信を行うことができる。
【００９０】
また、請求項２の発明によれば、第２のプログラマブルコントローラと、パーソナルコンピュータとを接続するプログラマブルコントローラにおいて、上記パーソナルコンピュータから受信したコマンドメッセージから送信先を読み取とる送信先読取り手段と、この送信先読取り手段で読み取った送信先が自己宛てであるか、または、上記第２のプログラマブルコントローラかを判断する送信先判断手段と、この送信先判断手段が読み取った送信先が自己宛ての場合には、そのコマンドメッセージに対するレスポンスメッセージを上記パーソナルコンピュータに送信し、一方、読み取った送信先が上記第２のプログラマブルコントローラの場合には、上記コマンドメッセージを上記第２のプログラマブルコントローラに送信し、この上記第２のプログラマブルコントローラからのレスポンスメッセージを受信すると、受信したレスポンスメッセージを上記パーソナルコンピュータに送信するメッセージ送信手段とを具備して構成したので、パーソナルコンピュータと通信するだけでなく、第２のプログラマブルコントローラとパーソナルコンピュータとの通信を可能にすることができる。
【００９１】
また、請求項３および４の発明においては、プログラマブルコントローラに対してデータの設定やデータのモニタリング処理させるツールを有するパーソナルコンピュータにおいて、上記データの設定やデータのモニタリング処理させるためのコマンドメッセージを格納するコマンドメッセージ格納手段と、上記コマンドメッセージに対する上記プログラマブルコントローラからレスポンスメッセージを格納するレスポンス格納手段と、上記ツールから上記プログラマブルコントローラに対して送信すべき旨の指示を受けると、そのコマンドメッセージを形成するコマンドメッセージ形成手段と、上記データの設定やデータのモニタリング処理させるためのコマンドメッセージを、上記プログラマブルコントローラに対して送信すべきであるとの指示を上記ツールから受けると、そのコマンドメッセージを形成し、これを上記コマンドメッセージ格納手段に格納させ、また、上記コマンドメッセージに対するレスポンスメッセージを上記レスポンス格納手段から読み出し、レスポンスメッセージの内容を示すレスポンスデータを形成し、これを上記ツールに出力するデータ形成手段とを具備して構成したので、パーソナルコンピュータは、直接接続された第１のプログラマブルコントローラとだけでなく、第１のプログラマブルコントローラを介してパーソナルコンピュータに接続された第２のプログラマブルコントローラとも同様に通信を行うことができる。また、パーソナルコンピュータが、ツールからＰＬＣに対して送信すべき旨の指示を受けると、形成したコマンドメッセージを送信バッファに格納し、また、ＰＬＣに送信したコマンドメッセージに対するレスポンスメッセージを受信バッファに格納するように構成したので、コマンドメッセージに対するレスポンスメッセージを受信しなくても、ツールの指示に基づきコマンドメッセージを送信することができる。従って、ツールを稼働させるに際してその作業効率を向上させるとともに、複数のパーソナルコンピュータを備える必要をなくしコストを抑えることができる。
【００９２】
また、請求項５の発明においては、第２のプログラマブルコントローラと、パーソナルコンピュータとを接続するプログラマブルコントローラの通信方法において、上記パーソナルコンピュータから受信したコマンドメッセージから送信先を読み取り、読み取った送信先が自己宛ての場合には、そのコマンドメッセージに対するレスポンスメッセージを上記パーソナルコンピュータに送信し、一方、読み取った送信先が第２のプログラマブルコントローラの場合には、上記コマンドメッセージを上記第２のプログラマブルコントローラに送信し、この上記第２のプログラマブルコントローラからのレスポンスメッセージを受信すると、受信したレスポンスメッセージをパーソナルコンピュータに送信するように構成したので、パーソナルコンピュータと通信するだけでなく、第２のプログラマブルコントローラとパーソナルコンピュータとの通信を可能にすることができる。
【００９３】
また、請求項６および７の発明においては、プログラマブルコントローラに対してデータの設定やデータのモニタリング処理させるコマンドメッセージを送信するパーソナルコンピュータの通信方法において、上記ツールから上記プログラマブルコントローラに対して送信すべき旨の指示を受けると、そのコマンドメッセージを形成し、これを送信バッファに格納したのち送信し、上記プログラマブルコントローラに送信したコマンドメッセージに対するレスポンスメッセージを受信バッファから読み出し、この読み出したレスポンスデータを上記ツールが理解できるレスポンスデータに形成し、この形成したレスポンスデータを上記ツールに出力するように構成したので、パーソナルコンピュータは、直接接続された第１のプログラマブルコントローラとだけでなく、第１のプログラマブルコントローラを介してパーソナルコンピュータに接続された第２のプログラマブルコントローラとも同様に通信を行うことができ、またコマンドメッセージに対するレスポンスメッセージを受信しなくても、ツールの指示に基づきコマンドメッセージを送信することができるので、ツールを稼働させるに際してその作業効率を向上させるとともに、複数のパーソナルコンピュータを備える必要をなくしコストを抑えることができる。
【図面の簡単な説明】
【図１】この発明に係るプログラマブルロジックコントローラシステムの一実施形態を示すブロック図。
【図２】図１中の通信処理プログラムメモリに格納されている通信処理プログラムメモリの構成を示すブロック図。
【図３】図１中のパーソナルコンピュータの構成を示すブロック図。
【図４】図２中の送信用ツール対応テーブルの内容を説明する説明図。
【図５】コマンドメッセージおよびレスポンスメッセージのフレーム構成図。
【図６】図１中のパーソナルコンピュータの動作を説明する説明図。
【図７】この実施形態のプログラマブルロジックコントローラシステムにおける送信手順を示すプロトコル図。
【図８】従来のプログラマブルロジックコントローラシステムにおける送信手順を示すプロトコル図。
【図９】図３に示したパーソナルコンピュータの機能構成を示す機能ブロック図。
【図１０】図９に示したパーソナルコンピュータの全体動作を示すフローチャート。
【図１１】図１０に示した処理１の詳細を示すフローチャート。
【図１２】図１０に示した処理２の詳細を示すフローチャート。
【図１３】図１中のパーソナルコンピュータの表示画面の一例を示す図。
【図１４】従来のプログラマブルロジックコントローラシステムの一実施形態を示すブロック図。
【図１５】従来のプログラマブルロジックコントローラシステムの一実施形態を示すブロック図。
【符号の説明】
１，１ａ    プログラマブルコントローラ
１１    ＣＰＵユニット
１１１  マイクロコンピュータ
１１２  バスＡＳＩＣ
１１３  メモリ
１１４  通信処理プログラム格納メモリ
１２    高機能ユニット
１２１  マイクロコンピュータ
１２２  バスＡＳＩＣ
１２３  メモリ
１３    通信ユニット
１３１  マイクロコンピュータ
１３２  バスＡＳＩＣ
１３３  メモリ
１４    システムバス
２      パーソナルコンピュータ
２１    ツール
２２    ＯＳ
２３    通信ドライバ
２４    送信バッファ
２５    受信バッファ
２６    通信ポート
２７    送信用ツール対応テーブル
２８    受信用ツール対応テーブル
３      ツールケーブル
【図１】
0003550677.tif 000002
【図２】
0003550677.tif 000003
【図３】
0003550677.tif 000004
【図４】
0003550677.tif 000005
【図５】
0003550677.tif 000006
【図６】
0003550677.tif 000007
【図７】
0003550677.tif 000008
【図８】
0003550677.tif 000009
【図９】
0003550677.tif 000010
【図１０】
0003550677.tif 000011
【図１１】
0003550677.tif 000012
【図１２】
0003550677.tif 000013
【図１３】
0003550677.tif 000014
【図１４】
0003550677.tif 000015
【図１５】
0003550677.tif 000016