(57)【要約】【課題】  プロトコルマクロの動作中のＰＬＣと外部汎用機器との間のコマンド／レスポンス通信を停止することなく、周辺機器から通信インタフェース経由で外部汎用機器にアクセスするゲートウェイ機能を使用可能にしたプロトコル実行部を提供すること【解決手段】  プロトコル実行部は、ＰＬＣを介して周辺機器から受信した外部汎用機器宛ての通信コマンドを汎用シリアル回線による通信に適合するように中継変換し外部汎用機器宛てにコマンド発行するとともに、そのコマンドに対する外部汎用機器からのレスポンスを周辺機器へのレスポンスに中継変換する中継手段を備えている。そして、周辺機器が発行した外部汎用機器宛の通信コマンドを中継するに際し、外部汎用機器からのレスポンスの受信待ちか否かを判断し、受信待ちの場合には中継を一時停止し、レスポンス受信待ちでなくなったことを条件に前記中継手段が前記外部汎用機器と通信を行なう機能を備えた。【選択図】      図３
2005174306.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラの一部を構成し、そのプログラマブルコントローラに接続された制御機器を制御するユーザプログラムの実行指示に従って、所定の通信回線を介して接続された外部汎用機器とコマンド／レスポンス通信を行なう通信インタフェースであって、
前記プログラマブルコントローラを介して周辺機器から受信した前記外部汎用機器宛ての通信コマンドを前記通信回線を利用して行なう通信に適合するように中継変換し前記外部汎用機器宛てにコマンド発行するとともに、そのコマンドに対する前記外部汎用機器からのレスポンスを前記周辺機器へのレスポンスに中継変換してプログラマブルコントローラへ渡す中継手段を備え、
前記周辺機器から前記外部汎用機器宛てのコマンドを受信した場合は、前記外部汎用機器からのレスポンスの受信待ちか否かを判断し、受信待ちでない場合には、前記中継手段により前記外部汎用機器と通信を行ない、受信待ちの場合は、前記中継手段による通信をせず、受信待ちでなくなった場合に前記中継手段により前記外部汎用機器と通信を行なうことを特徴とする通信インタフェース。
【請求項２】
前記通信インタフェースは、プログラマブルコントローラを構成するユニット内部に実装されるインナーボードであることを特徴とする請求項１に記載の通信インタフェース。
【請求項３】
請求項１または２に記載の通信インタフェースを実装したプログラマブルコントローラと、
そのプログラマブルコントローラに接続された周辺機器と、
前記通信インタフェースに接続された外部汎用機器を備えたネットワークシステムであって、
前記通信インタフェースは、前記周辺機器が発行した前記外部汎用機器宛の通信コマンドを中継するに際し、前記外部汎用機器からのレスポンスの受信待ちか否かを判断し、受信待ちの場合には中継を一時停止し、レスポンス受信待ちでなくなったことを条件に前記中継手段が前記外部汎用機器と通信を行なうようにしたことを特徴とするネットワークシステム。
【請求項４】
制御機器を制御するユーザプログラムを実行する実行手段と、
前記実行手段による前記ユーザプログラムの実行指示に従って、所定の通信回線を介して接続された外部汎用機器とコマンド／レスポンス通信を行なう請求項１または２に記載の通信インタフェースを備えたことを特徴とするプログラマブルコントローラ。
【請求項５】
プログラマブルコントローラの一部を構成し、予め格納されているプログラムに従って、所定の通信回線を介して接続された外部汎用機器とコマンド／レスポンス通信を行なう通信インタフェースであって、
前記プログラマブルコントローラを介して周辺機器から受信した前記外部汎用機器宛ての通信コマンドを前記通信回線を利用して行なう通信に適合するように中継変換し前記外部汎用機器宛てにコマンド発行するとともに、そのコマンドに対する前記外部汎用機器からのレスポンスを前記周辺機器へのレスポンスに中継変換してプログラマブルコントローラへ渡す中継手段を備え、
前記周辺機器から前記外部汎用機器宛てのコマンドを受信した場合は、前記外部汎用機器からのレスポンスの受信待ちか否かを判断し、受信待ちでない場合には、前記中継手段により前記外部汎用機器と通信を行ない、受信待ちの場合は、前記中継手段による通信をせず、受信待ちでなくなった場合に前記中継手段により前記外部汎用機器と通信を行なうことを特徴とする通信インタフェース。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信インタフェースおよびネットワークシステムならびにプログラマブルコントローラに関するものである。
【背景技術】
【０００２】
ＦＡ（ファクトリーオートメーション）で用いられるＰＬＣ（プログラマブルコントローラ）は、スイッチやセンサなどの入力機器のＯＮ／ＯＦＦ情報を入力し、ラダー言語などで書かれたシーケンスプログラム（ユーザプログラム）に沿って論理演算を実行する。そして、ＰＬＣは、得られた演算結果にしたがって、バルブ，アクチュエータなどの出力機器に対し、ＯＮ／ＯＦＦ情報の信号を出力することで制御が実行される。
【０００３】
またＰＬＣシステムは、ユーザプログラムを実行するＣＰＵユニット，入／出力機器が接続されてＯＮ／ＯＦＦ信号を扱うＩ／Ｏユニット，外部パソコンや外部コントローラなどの外部機器と接続してネットワーク通信する通信ユニット，アナログ信号を制御したり温度や位置決めの制御などを行う行なう特殊機能ユニットなど、各ユニットをつなぎ合わせて成り立っている。そして各ユニットはバス接続されており、ＣＰＵユニットを中心にして各ユニットとバス通信にてデータをやりとりするようになっている。
【０００４】
そして、ＣＰＵユニットの処理としては、まず初期処理をしたあと、Ｉ／Ｏユニットや特殊機能ユニットとの間で入／出力情報（Ｉ／Ｏデータ）を交換するＩ／Ｏリフレッシュ処理，ユーザプログラムに沿って実行することで入力データを論理演算するプログラム実行処理，主に通信ユニットによりネットワークを通じて外部機器とデータ交換をしたり、外部機器から受信したコマンドに対してレスポンスを返す処理などを行う行なう周辺処理といった各処理をサイクリックに繰り返し実行する。
【０００５】
ところで、上記した入力機器や出力機器は、ＰＬＣに直接に接続されるものもあれば、ネットワークを介して接続されるものもある。直接接続される形態としては、ＰＬＣを構成する所定のユニットに汎用シリアル回線を介して接続されるものもある。この場合、それら入力機器や出力機器は、汎用シリアル回線による通信に対応した外部汎用機器となる機器となる。そして、そのようにＰＬＣ（ＣＰＵユニット）が実行するユーザプログラムにより汎用シリアル回線を介して接続された外部汎用機器と通信する場合、例えば、特許文献１に開示された発明のように、外部汎用機器との通信手順を予め格納しユーザプログラムからの簡単な実行指示命令により外部汎用機器と通信を行なう動作モード（プロトコルマクロ実行モード）を備えた通信インタフェース（専用ユニット，専用ボード）を装着してＰＬＣを構築するものがある。係る発明を利用することにより、ユーザプログラム作成者は、外部汎用機器と所定の通信プロトコルで通信を行なうためのユーザプログラムを作成する必要が無くなり、プログラム作成の負担が軽くなる。
【０００６】
一方、ＰＬＣに接続されて、ＰＬＣを構成する所定のユニットに対してデータを設定したり、ユニットに格納されているデータをモニタしたりする装置としてコンピュータやプログラマブル表示器などがある。このコンピュータやプログラマブル表示器などの周辺機器から、外部汎用機器の状態を監視したり、外部汎用機器に対して所定のデータを設定したりする必要が生じた場合、従来のシステムでは、係る周辺機器が直接外部汎用機器に対してアクセスできないので、ＰＬＣを介してデータの読み書きを行なうようにしている。
【０００７】
つまり、例えば、ＰＬＣ（ＣＰＵユニット）のＩ／Ｏメモリの所定のメモリ領域に外部汎用機器の状態や外部汎用機器が所有するデータを格納しておき、周辺機器は係るメモリ領域に格納された情報を読み込むことにより外部汎用機器の状態等を入手することができる。また、逆に周辺機器が外部汎用機器に設定するパラメータ等を、上記Ｉ／Ｏメモリの所定のメモリ領域に書き込むことにより、ＰＬＣと外部汎用機器との間の通信により、その書き込まれたパラメータ等を外部汎用機器に設定することができる。
【０００８】
【特許文献１】特開平９−４４２１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述したように、従来のシステムでは、周辺機器から直接外部汎用機器にアクセスすることができなかったが、例えば、周辺機器から外部汎用機器宛てに発行したコマンドをＰＬＣにて中継変換して外部汎用機器に対してコマンドを発行する機能（ゲートウェイ機能）を設けることにより、ＰＬＣのユーザプログラムを介することなく、実質的に直接外部汎用機器にアクセスすることが可能となる。
【００１０】
すなわち、周辺機器は、ヘッダ部の送信先をＰＬＣにし、データ部に実際の送信先の外部汎用機器を特定するアドレスと、実際のデータを格納したコマンドを発行する。すると、そのコマンドを受信したＰＬＣは、データ部を解析して自己に接続された外部汎用機器宛てのコマンドであることを認識するので、受信したコマンドを中継変換して新たに外部汎用機器宛のコマンドを生成し、発行する。
【００１１】
このコマンドを受けた外部汎用機器は、受信したコマンドに基づく所定の処理を実行した後、コマンドの発行元であるＰＬＣ（外部汎用機器自体は、周辺機器からのコマンドであることは認識できない）に向けてレスポンスを返す。すると、そのレスポンスを受信したＰＬＣは、そのレスポンスの対となるコマンドが、周辺機器からのコマンドを中継変換したものであることは分かっているので、受信したレスポンスを本来のコマンド発行元である周辺機器に送る。これにより、周辺機器にとっては、外部汎用機器との間でコマンド／レスポンス通信が行えたものと認識できる。
【００１２】
一方、ＰＬＣと外部汎用機器との間でも、上記した通信インタフェースを介して行なうコマンド／レスポンス通信が行なわれる。そして、ＰＬＣは、レスポンスを受けると、そのレスポンスを受けた直前に発行したコマンドに対するレスポンスであると認識するようになっている。そのため、例えば図１に示すように、ＰＬＣからコマンド（１）を発行した後、そのコマンド（１）に対するレスポンス（１）′を受信する前に周辺機器からのコマンドを中継変換すると、その中継変換したコマンド（２）の後に受けたレスポンス（１）′は、本来はＰＬＣが自ら発行したコマンド（１）に対するものであるにもかかわらず、直前に発行したコマンド（２）に対する物と誤認識してしまい、誤動作の原因となる。
【００１３】
そこで、コマンドとレスポンスの混在を避けるため、プロトコルマクロ実行中は、中継変換を行なわないように構成する必要がある。すなわち、このＰＬＣは、プロトコルマクロ実行モードで外部汎用機器と通信中は、プロトコルマクロ実行に伴って外部汎用機器に発行するコマンドのレスポンスとＰＬＣに接続されたコンピュータやプログラマブル表示器などの周辺機器から外部汎用機器宛てに発行されたコマンドを中継変換して発行するコマンドのレスポンスとの混在を避けるため、プロトコルマクロ実行中は、中継変換を行なわないように構成することになる。この結果、プロトコルマクロ実行中は、ＰＬＣやプログラマブル表示器などの周辺機器から外部汎用機器の設定データや履歴データを読み出せないという問題を生じる。
【００１４】
この発明は、プロトコルマクロの動作中のＰＬＣと外部汎用機器との間のコマンド／レスポンス通信を停止することなく、周辺機器から通信インタフェース経由で外部汎用機器にアクセスするゲートウェイ機能を使用可能にした通信インタフェースおよびネットワークシステムならびにプログラマブルコントローラを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明に係る通信インタフェースは、プログラマブルコントローラの一部を構成し、そのプログラマブルコントローラに接続された制御機器を制御するユーザプログラムの実行指示に従って、所定の通信回線を介して接続された外部汎用機器とコマンド／レスポンス通信を行なう通信インタフェースである。そして、前記プログラマブルコントローラを介して周辺機器から受信した前記外部汎用機器宛ての通信コマンドを前記通信回線を利用して行なう通信に適合するように中継変換し前記外部汎用機器宛てにコマンド発行するとともに、そのコマンドに対する前記外部汎用機器からのレスポンスを前記周辺機器へのレスポンスに中継変換してプログラマブルコントローラへ渡す中継手段を備え、前記ユーザプログラムの実行指示に従って、前記外部汎用機器と通信を実行中に前記周辺機器から前記外部汎用機器宛てのコマンドを受信した場合は、前記外部汎用機器からのレスポンスの受信待ちか否かを判断し、受信待ちでない場合には、前記中継手段により前記外部汎用機器と通信を行ない、受信待ちの場合は、その受信待ちのレスポンスを受信後に前記中継手段により前記外部汎用機器と通信を行なうように構成した。
【００１６】
この通信インタフェースは、実施の形態では、プロトコル実行部１５に対応する。また、外部汎用機器は、例えば入力機器や出力機器などがある。そして、周辺機器は、ＰＬＣに接続されるとともに接続されたＰＬＣを介して外部汎用機器にアクセスし、データの設定や収集等を行なうコンピュータやプログラマブル表示器などが該当する。さらに、所定の通信回線は、汎用のシリアル通信回線であり、例えば、ＲＳ−２３２Ｃ、ＲＳ−４２２やＲＳ−４８５などが該当する。
【００１７】
そして、この通信インタフェースは、ＰＬＣを構成する通信ユニットやＣＰＵユニットなどの各種のユニットに着脱可能に装着されるインナーボードとして実現することができる。もちろん、インナーボードタイプに限ることなく、ＰＬＣを構成するユニットとしても実現できる。
【００１８】
また、本発明に係るネットワークシステムでは、上記した構成からなる通信インタフェースを実装したプログラマブルコントローラと、そのプログラマブルコントローラに接続された周辺機器と、前記通信インタフェースに接続された外部汎用機器を備えたネットワークシステムである。そして、前記通信インタフェースは、前記周辺機器が発行した前記外部汎用機器宛の通信コマンドを中継するに際し、前記外部汎用機器からのレスポンスの受信待ちか否かを判断し、受信待ちの場合には中継を一時停止し、レスポンス受信待ちでなくなったことを条件に前記中継手段が前記外部汎用機器と通信を行なうようにした。
【００１９】
さらに、本発明に係るプログラマブルコントローラでは、制御機器を制御するユーザプログラムを実行する実行手段と、前記実行手段による前記ユーザプログラムの実行指示に従って、所定の通信回線を介して接続された外部汎用機器とコマンド／レスポンス通信を行なう上記通信インタフェースを備えて構成した。
【００２０】
さらに、本発明に係る通信インタフェースは、プログラマブルコントローラの一部を構成し、予め格納されているプログラムに従って、所定の通信回線を介して接続された外部汎用機器とコマンド／レスポンス通信を行なう通信インタフェースである。そして、前記プログラマブルコントローラを介して周辺機器から受信した前記外部汎用機器宛ての通信コマンドを前記通信回線を利用して行なう通信に適合するように中継変換し前記外部汎用機器宛てにコマンド発行するとともに、そのコマンドに対する前記外部汎用機器からのレスポンスを前記周辺機器へのレスポンスに中継変換してプログラマブルコントローラへ渡す中継手段とを備え、前記予め格納されているプログラムに従って、前記外部汎用機器と通信を実行中に前記周辺機器から前記外部汎用機器宛てのコマンドを受信した場合は、前記外部汎用機器からのレスポンスの受信待ちか否かを判断し、受信待ちでない場合には、前記中継手段により前記外部汎用機器と通信を行ない、受信待ちの場合は、その受信待ちのレスポンスを受信後に前記中継手段により前記外部汎用機器と通信を行なうように構成した。ここで、予め格納されているプログラムとは、外部汎用機器と通信を行なうためにユーザが作成したプログラムであり、通信インタフェースの所定メモリに格納されている。なお、この予め格納されているプログラムは、プログラマブルコントローラに接続された制御機器を制御するユーザプログラム（シーケンスプログラム）とは異なるプログラムである。
【００２１】
本発明によれば、ＰＬＣ（通信インタフェース）と外部汎用機器との間では、コマンド／レスポンス通信などによるデータ通信が行なわれる。また、通信インタフェースは中継手段によるゲートウェイ機能を備えているので、周辺機器から外部汎用機器宛の通信コマンドを通信インタフェースが取得すると、通信プロトコルなどを適宜変換し、外部汎用機器に対して周辺機器からのコマンドを送信し、外部汎用機器からのレスポンスを周辺機器に返信することができる。
【００２２】
そして、周辺機器から外部汎用機器宛の通信コマンドを取得した際に、例えば、通信インタフェースと外部汎用機器との間ですでにコマンドを発行し、レスポンスの受信待ちの状態とすると、上記取得した通信コマンドの発行を一時停止し、上記レスポンスを受信し受信待ちでなくなった後で周辺機器からの通信コマンドを中継手段を介して外部汎用機器に送信し、それに対するレスポンスを受ける。
【００２３】
その結果、通信インタフェースがレスポンスを受信した場合には、そのレスポンスは直前に発行したコマンドに対するものであることが保証される。よって、通信インタフェース（プログラマブルコントローラ）は、レスポンスに対応するコマンドの発行元（自己／周辺機器）を認識できるので、誤動作することなくコマンドの発行元に対してレスポンスを返すことができる。つまり、プロトコルマクロ等による通信インタフェースと外部汎用機器との間の通信の動作中でも、周辺機器から直接アクセスできるゲートウェイ機能を使えることになる。
【発明の効果】
【００２４】
本発明では、プロトコルマクロの動作中等のＰＬＣと外部汎用機器との間のコマンド／レスポンス通信を停止することなく、周辺機器から通信インタフェース経由で外部汎用機器にアクセスするゲートウェイ機能が使用可能になる。
【発明を実施するための最良の形態】
【００２５】
図２は、本発明が適用されるシステム構成の一例を示している。図２に示すように、ＰＬＣ１０に対して、外部汎用機器２０が接続されるとともに、その外部汎用機器２０に直接アクセスするための周辺機器の一つであるコンピュータ２１もＰＬＣ１０に接続されている。ＰＬＣ１０は、複数のユニットを連結して構成され、図示の例では、模式的にＰＬＣ本体１１にＰＬＣインタフェース部１２を介して通信インタフェースたるプロトコル実行部１５が接続された状態を示している。
【００２６】
ＰＬＣ本体１１は、実際には、ユーザプログラムをサイクリックに実行するＣＰＵユニットや、電源ユニットや、通信ユニットその他各種のユニットから構成される。そして、このＰＬＣ本体１１に対し、モニタリングツールや設定ツール等として機能するコンピュータ２１が、所定の回線２２を介して連結される。この回線２２は、イーサネット（登録商標）その他の各種のネットワーク回線でもよいし、ＰＬＣ本体（ＣＰＵユニット）１１の通信ポートに直接接続する専用のケーブル回線または汎用のシリアル回線でも良い。
【００２７】
外部汎用機器２０は、インバータ，サーボ，温調器などの出力機器や、センサ，スイッチ等の入力機器があり、汎用シリアル回線２４を介してプロトコル実行部１５の通信ポートＰに接続している。本例では、プロトコル実行部１５は、通信ポートＰを２つ備えている。
【００２８】
プロトコル実行部１５は、図示の例では、独立したユニットのように描画しているが、本発明はこのようなユニットに限ることはなく、ＣＰＵユニットなどの他のユニットに着脱可能に実装されるインナーボードにより実現することもできる。そして、このプロトコル実行部１５の内部構成としては、図３に示すようになっている。
【００２９】
すなわち、このプロトコル実行部１５の基本動作を行なうシステムプログラムを格納したシステムプログラムメモリ１５ａと、外部汎用機器２０と通信を行なうためにユーザが作成したプログラム（プロトコルマクロ）等を格納するプロトコルデータ格納用不揮発性メモリ１５ｂと、それら各メモリ１５ａ，１５ｂに格納されたプログラムを読み出して実行するＭＰＵ１５ｃと、そのＭＰＵ１５ｃにて実行中にワークメモリとして使用するワークＲＡＭ１５ｄと、外部汎用機器２０と通信するための通信回路部１５ｅとを備えている。この通信回路部１５ｅの外側が、通信ポートＰとなる。また、上記各処理部１５ａ〜１５ｅは、バス１５ｆを介して接続されている。
【００３０】
プロトコルデータ格納用不揮発性メモリ１５ｂに格納されるプロトコルマクロは、ユーザがプログラミングしてツール等を用いてダウンロードして記憶保持させるもので、例えば、ユーザプログラムの実行指示に従って、外部汎用機器２０との間で、コマンド／レスポンス通信を行なうものである。このプロトコルマクロ自体は、従来のものと同様である。
【００３１】
また、プロトコル実行部１５は、周辺機器の一つであるコンピュータ２１から外部汎用機器２０宛のコマンドを受信すると、宛先を外部汎用機器用機器２０にした汎用シリアル回線のプロトコルに変換してコマンドを送信し、そのコマンドに対するレスポンスを外部汎用機器２０から受信すると、そのレスポンスをコンピュータ２１に返信するといった中継変換する機能（ゲートウェイ機能：中継手段）を備えている。係るゲートウェイ機能を実現するアプリケーションプログラムは、システムプログラム記憶部１５ａに格納され、ＭＰＵ１５ｃにて実行される。
【００３２】
そして、本実施の形態では、コンピュータ（周辺機器）２１から外部汎用機器２０に対するコマンドを受信すると、まず、プロトコル実行部１５が外部汎用機器２０との間で実行するプロトコルマクロを分析し、次ステップが受信以外のとき、プロトコルマクロの実行を一時停止させ、コンピュータ２１から外部汎用機器２０宛てのコマンドを外部汎用機器２０へ送信する処理を行なう。
【００３３】
換言すると、図４に示すように、プロトコルマクロの実行に伴いＰＬＣ１０（プロトコル実行部１５）から外部汎用機器２０に対してコマンド（１０）を発行後、レスポンス（１０）′の受信前に周辺機器たるコンピュータ２１から外部汎用機器２０に対するコマンド（１１）を受信したとすると、次ステップは先に送信したコマンド（１０）に対するレスポンス（１０）′の受信待ち状態であるため、マクロをそのまま実行させ、周辺機器からのコマンド（１１）の中継（送信）を一時停止する（ｔ）。そして、レスポンス（１０）′を受信することにより、マクロの次ステップがコマンド（１２）を送信すること（受信以外）になると、そのマクロを一時停止し、コンピュータ２１からのコマンド（１１）を外部汎用機器２０に向けて送信する。そして、そのコマンド（１１）に対するレスポンス（１１）′を受信すると、適宜の変換処理を行ない周辺機器たるコンピュータ２１に当該レスポンス（１１）′を返信する。また、これにより一時停止したマクロが一時停止解除され、プロトコルマクロにしたがってコマンド（１２）が発行されることになる。
【００３４】
このように構成すると、レスポンスは、必ずその直前に送信したコマンドに対応するものになるので、プロトコルマクロの動作中でも、コンピュータ２１等の周辺機器から外部汎用機器２０に対して直接アクセスできるゲートウェイ機能を使えることになる。よって、制御のために必要なデータはプロトコルマクロで収集し、メンテナンス時や立ち上げ時などイベント的な状況では、上位パソコンやプログラマブル表示器等の周辺機器から外部汎用機器２０に対し、コマンドを送信できるため、外部汎用機器の設定や履歴といったデータをプロトコルマクロで収集する必要がなくなる。
【００３５】
次に、上記した処理を実行するための各機器の具体的な処理機能について説明する。コンピュータ２１等の周辺機器は、図５（ａ）に示すように、コマンドを送信し（ＳＴ１）、それに対するレスポンスを受信する処理（ＳＴ２）を行なう。ステップ１で送信するコマンドは、ＰＬＣ１０に対するものもあれば、外部汎用機器２０に対するものもある。本発明では、外部汎用機器に対してコマンドを発行した場合が関係するので、以下、係る場合に限定して説明する。
【００３６】
ＰＬＣ本体（ＣＰＵユニット）１１では、図５（ｂ）に示すように、ユーザプログラムの実行モード（ＲＵＮ）か否かを判断し（ＳＴ１１）、実行モードであれば、ユーザプログラムを実行する（ＳＴ１２）。このユーザプログラムの実行後、或いは、実行モードでない場合にはそのまま、Ｉ／Ｏリフレッシュを行い行ない（ＳＴ１３）、次いで周辺サービス処理を実行する（ＳＴ１４）。周辺機器２０が行う行なうコマンド送信（ＳＴ１），レスポンス受信（ＳＴ２）は、この周辺サービス処理のときに行われる。つまり、周辺機器から送られてきたコマンドは、周辺サービスの際に受信処理を行い行ない、そのコマンドに対するレスポンスは、今回或いは次回以降における周辺サービスの実行の際に返信される。また、受信したコマンドが、外部汎用機器宛のコマンドの場合には、ＰＬＣインタフェース部１２を介してプロトコル実行部１５に対し、外部汎用機器宛のデータと、その通信に使用するプロトコルの指定データを対にして渡す。
【００３７】
また、ＰＬＣインタフェース部１２を介してプロトコル実行部１５から送られてきたレスポンスを受けると、そのレスポンスの宛先が周辺機器の場合には、この周辺サービス処理の際に該当する周辺機器に向けてレスポンスを送信する。このレスポンスを周辺機器のレスポンス受信処理（ＳＴ２）で受信処理するのである。そして、ＰＬＣ本体は、上述したステップ１０から１３までの各処理を繰り返し実行する。
【００３８】
プロトコル実行部１５は、図６（ａ）に示すフローチャートを実行する機能を有する。すなわち、まずコマンドを受信する（ＳＴ２１）と、現在ゲートウェイ機能（中継変換）が許可中か否かを判断する（ＳＴ２２）。この判断は、実際にはゲートウェイ許可フラグのＯＮ／ＯＦＦを見ることにより判断できる。そして、このフラグは、例えばプロトコル実行部１５に設けた設定スイッチを操作することにより機械的に設定することもできるし、ツールやＰＬＣ本体１１側からコマンドなどにより設定することもできる。そして、ゲートウェイ機能が許可されていない場合には、周辺機器から外部汎用機器へのコマンドの中継ができないため、その旨通知するレスポンスを送信する（ＳＴ３２）。
【００３９】
一方、ステップ２２の分岐判断でＹｅｓ、つまりゲートウェイ機能許可中の場合には、監視タイマを開始する（ＳＴ２３）。この監視タイマは、コマンドを外部汎用機器宛てに送信してから所定時間が経過したかどうかを監視するためのものである。監視タイマは、コマンドが外部機器宛てに送信されるとともに計時を開始し、当該コマンドに対応するレスポンスが所定時間内に受信されずに所定時間が経過するとタイムアップするように構成される。
【００４０】
次に、プロトコルマクロ機能が動作中か否かを判断する（ＳＴ２４）。そして、動作中の場合には、マクロ実行動作（複数のステップで構成されている）内の次ステップを分析し、次ステップが受信以外になるのを待つ（ＳＴ２５，ＳＴ２６）。従って、次ステップが送信やバッファクリア等の場合には、この分岐判断がＹｅｓとなりステップ２７に進む。
【００４１】
そして、外部汎用機器２０と接続した汎用シリアル回線に対応する指定プロトコルに変換し、指定された外部汎用機器２０に向けてコマンドを送信する（ＳＴ２８）。以後、送信が正常に行われたか否かを判断し（ＳＴ２９）、正常に送信できたならば、レスポンスの受信を待つ（Ｓ３０）。そして、サムチェックなどにより正常受信したか否かを判断する（ＳＴ３１）。そして、上記した各分岐判断における判断結果（正常／異常）をレスポンスとして返信する（ＳＴ３２）。
【００４２】
一方、外部汎用機器２０は、図６（ｂ）に示すように、プロトコル実行部１５からのコマンドを受信すると（ＳＴ４０）、レスポンスを作成し（ＳＴ４１）、作成したレスポンスを送信する（ＳＴ４２）。係る機能は、従来と同様である。
【００４３】
また、図６（ｂ）に示したフローチャートとは別の処理にて、上記した処理を実行している間、プロトコル実行部が監視しているレスポンス監視タイマ（ステップ２３の実行に伴い計時開始される）がタイムアップした場合は、直ちにメッセージを発行したコンピュータ２１もしくはプログラマブル表示器等の周辺機器宛のエラーレスポンスを作成し、作成したエラーレスポンスを周辺機器に送信する。またレスポンス監視タイマがタイムアップした後、プロトコル実行部が外部汎用機器からレスポンスを受信しても受信データは破棄する。
【００４４】
なお、プロトコルマクロが停止中は、周辺機器から外部汎用機器へコマンドを送信すると、プロトコル実行部は受信したコマンドから転送すべきプロトコルを自動認識し、ゲートウェイ処理中でなければ、直ちに周辺機器から発行されたコマンドを指定のプロトコルに変換し、外部汎用機器へ送信する。
【００４５】
また、プロトコルデータ格納用不揮発メモリ１５ｂに格納されたプロトコルマクロは、ＰＬＣ１０に接続された制御機器を制御するユーザプログラムの実行指示に従って実行されても良いし、ＰＬＣ１０の電源ＯＮ時の初期処理において所定のプロトコルマクロが自動実行されるように構成しても良い。
【図面の簡単な説明】
【００４６】
【図１】従来の問題を説明する図である。
【図２】本発明が適用されるネットワークシステムの一例を示す図である。
【図３】主に、本発明に係る通信インタフェースの一実施の形態であるプロトコル実行部の内部構成を示す機能ブロック図である。
【図４】本発明に係るネットワークシステム，通信インタフェース（プロトコル実行部）の一実施の形態における動作原理を説明する図である。
【図５】機能を説明するフローチャートである。
【図６】機能を説明するフローチャートである。
【符号の説明】
【００４７】
１０  ＰＬＣ
１１  ＰＬＣ本体
１２  ＰＬＣインタフェース部
１５  プロトコル実行部（通信インタフェース）
２０  外部汎用機器
２１  コンピュータ（周辺機器）
２４  汎用シリアル回線
【図１】
2005174306.tif 000003
【図２】
2005174306.tif 000004
【図３】
2005174306.tif 000005
【図４】
2005174306.tif 000006
【図５】
2005174306.tif 000007
【図６】
2005174306.tif 000008