(57)【特許請求の範囲】
【請求項１】
通信機能ユニットを装着したプログラマブルコントローラと、前記通信機能ユニットをマスタユニットとして１つの伝送路を介してネットワーク接続されたＩ／Ｏ機能や特殊機能を有するリモートユニットにより構成されるプログラマブルコントローラ用リモートシステムにおいて、
前記マスタユニットは、
起動時に各リモートユニットに対してＩ／Ｏ機能、特殊機能を実現するために要するリモートユニット内バッファメモリの構成を確認するための問い合わせ要求伝文を送信する問い合わせ要求伝文送信手段と、
前記リモートユニットから受信した問い合わせ応答伝文の内容に基づいてマスタユニット内のバッファメモリに各リモートユニットのバッファメモリ構成を写像するバッファメモリ構成写像手段とを有し、
前記リモートユニットは、
起動時に自ユニットのＩ／Ｏ機能、特殊機能のバッファメモリの構成を確認するバッファメモリ構成確認手段と、
前記マスタユニットからのリモートユニット内バッファメモリの構成を確認するための問い合わせ要求伝文に対して予め前記バッファメモリ構成確認手段によって確認したバッファメモリ構成に応じて当該自リモートユニットのＩ／Ｏ機能、特殊機能のバッファメモリ構成を写像するための情報を含む問い合わせ応答伝文を作成してマスタユニットに送信する問い合わせ応答伝文作成手段とを有していることを特徴とするプログラマブルコントローラ用リモートシステム。
【請求項２】
前記問い合わせ応答伝文作成手段は、自リモートユニットのバッファメモリのバッファメモリ全体サイズ、読み出しエリア先頭アドレス、読み出しエリアサイズ，書き込みエリア先頭アドレス、書き込みエリアサイズを含む問い合わせ応答伝文を作成してマスタユニットに送信することを特徴とする請求項１に記載のプログラマブルコントローラ用リモートシステム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、プログラマブルコントローラ用リモートシステムに関し、特にプログラマブルコントローラ（以下ＰＬＣと称す）に装着された通信機能を有するリモートシステムを制御するマスタユニットと、伝送路を介してマスタユニットとネットワーク接続されたＩ／Ｏ機能や特殊機能を有するリモートユニットとの間で双方向にデータ交換を行うプログラマブルコントローラ用リモートシステムに関するものである。
【０００２】
【従来の技術】
近年、シーケンス制御用のＦＡシステムでは、入出力データの演算や制御プログラムの実行・管理等を行うＰＬＣと、入出力データや制御・管理の対象となる各種ＦＡ機器との間に距離がおかれている場合が多い。このため、この種のＦＡシステムでは、ＰＬＣに装着されたマスタユニットと遠隔配置のリモートユニットとの間でのデータの入出力処理・データ交換・データ制御等を行うＰＬＣ用リモートシステムが、遠隔操作・制御・データ収集、省配線等を目的として構築されることが多い。
【０００３】
図１１はＰＬＣ用リモートシステムの従来例を示している。図１１では、ＰＬＣ１００１に隣接して配置されたマスタユニット（通信機能ユニット）１００２がＰＬＣ１００１にバス接続され、それ以外に高速カウンタ機能、Ａ／Ｄ変換機能、Ｄ／Ａ変換機能などの特殊機能を備えた各種特殊機能ユニット１００３もＰＬＣ１００１に隣接してバス接続されている。
【０００４】
マスタユニット１００２には、特殊機能ユニット１００３と同等の機能を有する各種リモート特殊機能ユニット１００５が１つの伝送路１００４を介して双方向に通信可能に接続されている。
【０００５】
つぎに図１２〜図１４を参照してＰＬＣ１００１が特殊機能ユニット１００３にアクセスするための構成と手順について説明する。
【０００６】
図１２はＰＬＣ１００１と特殊機能ユニット１００３の内部構造を示している。ＰＬＣ１００１は、ユーザプログラム格納部１００１１と、ユーザデバイスメモリ部１００１２と、ＰＬＣ制御部１００１３とを有し、これら各部は内部バス１００１４により相互に接続されている。
【０００７】
ユーザプログラム格納部１００１１にはユーザがＰＬＣ１００１に実行させる制御手順（以下ユーザシーケンスプログラムと称す）が格納されており、ユーザデバイスメモリ部１００１２にはＰＬＣ１００１がユーザシーケンスプログラムを実行した処理結果や、実行時のイニシャルデータ、実行途中のデータが格納される。またそれらは実際にはＰＬＣ制御部１００１３により管理され、ＰＬＣ１００１はＰＬＣとしての制御動作・データ管理・特殊機能ユニットとのアクセス等を行う。
【０００８】
図１３はユーザデバイスメモリ部１００１２のデバイス種別を示している。ユーザデバイスメモリ部１００１２は、ユーザシーケンスプログラムを記述・実行する上で必要なデータを格納したり、プログラム実行中の一時退避メモリとして使用されるものであり、図１３ではデバイスＡ、Ｂ、Ｃと３種類のデバイスを割り付けられている。なお、実システムでは、デバイスがもっと豊富に提供されている。
【０００９】
図１２に示されているいるように、各特殊機能ユニット１００３は、ＰＬＣ１００１とのデータ交換用にバッファメモリ１００３１を有している。バッファメモリは、ＰＬＣ１００１→特殊機能ユニット１００３方向のＰＬＣ１００１から見てデータ書き込み、ＰＬＣ１００１←特殊機能ユニット１００３方向のＰＬＣ１１０１から見てデータ読み出しにそれぞれ使用される。
【００１０】
図１２は、ＰＬＣ１１０１に隣接配置されている特殊機能ユニット１００３にアクセスするイメージを示しており、特殊機能ユニット＃１のバッファメモリアドレス１０から５点分のデータ読み出し、これを一旦ユーザデバイスメモリ部１００１２に格納し（以下ＦＲＯＭ処理と称す）、ユーザデバイスメモリ部１００１２に格納したデータを特殊機能ユニット＃３のバッファメモリアドレス１００以降へデータ書き込みしている（以下ＴＯ処理と称す）。
【００１１】
図１４は図１２のＦＲＯＭ処理とＴＯ処理をユーザシーケンスプログラムで表現している。ステップＳ１０３１で、特殊機能ユニット＃１レディ信号（図１２における特殊ユニット＃１レディ信号１００３２）と、実行指示がオンしていれば、１枚目の特殊機能ユニット＃１に対してＦＲＯＭ処理を実行し、データ読み出しを行う。
【００１２】
なお、ステップＳ１０３１におけるＦＲＯＭ命令の送信フレームの“Ｈ１”は特殊機能ユニット＃１を示し、“Ｋ１０”は特殊機能ユニット＃１のバッファメモリアドレス１０を示し、“Ａ０”はデバイスＡの０番を示し、“Ｋ５”は５点分すなわち、デバイスＡ０から５点と云うことを意味している。
【００１３】
つぎにステップＳ１０３２にて読み出しデータに処理を加える。
【００１４】
ステップＳ１０３３で、特殊機能ユニットレディ信号＃３（図１２における特殊ユニット＃３レディ信号１００３２）と、実行指示がオンしていれば、３枚目の特殊機能ユニット＃３に対してＴＯ処理を実行し、データを書き込む。
【００１５】
なお、ステップＳ１０３３におけるＦＲＯＭ命令の送信フレームの“Ｈ３”は、特殊機能ユニット＃３を示し、“Ｋ１００”は特殊機能ユニット＃３のバッファメモリアドレス１００を示し、“Ｂ０”はデバイスＢの０番を示し、“Ｋ５”は５点分すなわち、デバイスＢ０から５点と云うことを意味している。
【００１６】
つぎに図１５〜図２３を参照してＰＬＣ１００１がリモート特殊機能ユニット１００５にアクセスするために必要な構成と手順について説明する。
【００１７】
図１５はＰＬＣ１００１とマスタユニット１００２の従来例を示している。ＰＬＣ１００１は、ユーザプログラム格納部１００１１と、ユーザデバイスメモリ部１００１２と、ＰＬＣ制御部１００１３と、割り付けパラメータ格納部１００１６とを有している。
【００１８】
マスタユニット１００２は、ＰＬＣ１００１がリモート特殊機能ユニット１００５とのデータのやりとりを行うためのバッファメモリ（通信用バッファメモリ）１００２１と、バッファメモリ１００２１とＰＬＣ１００１とのデータのやりとりを行うバスＩ／Ｆ１００２２と、マスタユニット１００２とリモート特殊機能ユニット１００５間のデータの受け渡しを行う通信Ｉ／Ｆ１００２３と、それらを制御するマスタユニット制御部１００２４からなる。
【００１９】
マスタユニット１００２のバッファメモリ１００２１はデュアルポート（双方向）メモリであり、ＰＬＣ制御部１００１３とバッファメモリ１００２１とはバス１００１５により接続され、マスタユニット制御部１００２４とバッファメモリ１００２１とはバス１００２５により接続されている。デュアルポートメモリとはＰＬＣ制御部１００１３からもマスタユニット制御部１００２４からもアクセスできるメモリであることを意味している。
【００２０】
リモート特殊機能ユニット１００５は、ＰＬＣ１００１とのデータのやりとりを行うためのバッファメモリ１００５１と、特殊機能を実現するための特殊機能制御部１００５２と、マスタユニット１００２とのデータの受け渡しを行う通信Ｉ／Ｆ１００５３と、それらを制御するためのリモートユニット制御部１００５４とを有し、これらはバス１００５５により接続されている。リモートユニット制御部１００５４はマスタユニット１００２より受信したパラメータを格納するパラメータ格納エリア１００５４１を具備している。
【００２１】
図１６はユーザがリモートシステムを使用するにあたり、バッファメモリ１００２１を分割するために割り付ける“割り付けパラメータ”の一覧表を示している。この割り付けパラメータの一覧表により、Ｍ（マスタユニット）→Ｒｎ（リモート特殊機能ユニット）方向のバッファメモリアドレスと、Ｍ←Ｒｎ方向のバッファメモリアドレスを各局に割り付ける。
【００２２】
この割り付けパラメータの一覧表によって割り付けられるバッファメモリアドレスに従いマスタユニット１００２、リモート特殊機能ユニット１００５はデータの送受信処理をサイクリックに行う。割り付けパラメータはＰＬＣ１００１に設けられている割り付けパラメータ格納部１００１６に格納される。割り付けパラメータの格納手順は特に記述しないが、ユーザシーケンスプログラムの格納手順と同様である。
【００２３】
マスタユニット１００２とリモート特殊機能ユニット１００５との間の割り付けパラメータ交信処理（以下パラメータ交信と称す）はシステム電源オン時に行われる。図１７はパラメータ交信のタイミングチャートであり、このパラメータ交信により、マスタユニット１００２はユーザが割り付けたバッファメモリアドレスを各リモート特殊機能ユニット１００５に通知することができる。
【００２４】
図１７では、マスタユニット（Ｍ局）はリモートユニット１局（Ｒ１局）宛にパラメータを送信し、リモートユニット１局（Ｒ１局）からの応答を待つ。マスタユニット（Ｍ局）がリモートユニット１局（Ｒ１局）から応答を受け取れば、マスタユニット（Ｍ局）は、リモートユニット２局（Ｒ２局）宛、リモートユニット３局（Ｒ３局）宛に順番にパラメータを送信していく。実際のシステム構成にはリモートユニット４局（Ｒ４局）以上が存在しないため応答がなく、タイムアウトになっている。すなわちパラメータ交信はマスタ局によるリモート特殊機能ユニットの存在確認の役割も果たしている。
【００２５】
図１８は従来例におけるマスタユニット１００２のイニシャル処理の概略を示すフローチャートである。
【００２６】
このイニシャル処理では、まず自Ｈ／Ｗの初期化と、自メモリの初期化を行う（ステップＳ１０７１，ステップＳ１０７２）。
【００２７】
つぎにリモートユニット＃１局を指定し（ステップＳ１０７３）、割り付けパラメータをステップＳ１０７３で指定したリモート特殊機能ユニット１００５宛に送信する（ステップＳ１０７４）。
【００２８】
この後に、パラメータ送信先のリモート特殊機能ユニット１００５からの応答を監視するために応答待ちタイマを起動し（ステップＳ１０７５）、リモート特殊機能ユニット１００５からの応答受信を確認する（ステップＳ１０７６）。
【００２９】
応答を受信していなければ、応答待ちタイマがタイムアウトしたか否かを確認する（ステップＳ１０７７）。タイムアウトしていなければ、ステップＳ１０７６に戻り、再度リモート特殊機能ユニット１００５からの応答を受信しているか否かを確認する。
【００３０】
ステップＳ１０７７にて応答待ちタイマがタイムアウトしていると判断した場合には、該当リモート特殊機能ユニット１００５は存在しないか、異常状態であると判断し、つぎのリモート特殊機能ユニット１００５を指定する（ステップＳ１０７９）。
【００３１】
ステップＳ１０７６にてリモート特殊機能ユニット１００５からの応答を受信していると判断した場合には、応答待ちタイマを停止し（ステップＳ１０７８）、つぎのリモート特殊機能ユニット１００５を指定する（ステップＳ１０７９）。
【００３２】
つぎに全局分パラメータ交信が完了しているか否かを確認し（ステップＳ１０８０）、完了していなければ、ステップＳ１０７４に戻り、つぎのリモート特殊機能ユニット１００５とのパラメータ交信を行う。ステップＳ１０８０にて全局分パラメータ交信が完了していると判断した場合には、通常のサイクリック伝送処理へ移行する。
【００３３】
図１９は従来例におけるリモート特殊機能ユニットのイニシャル処理の概略を示すフローチャートである。
【００３４】
まず自Ｈ／Ｗの初期化と、自メモリの初期化を行い（ステップＳ１０８１，ステップＳ１０８２）、マスタユニット１００２からパラメータが送信されてくるのを待つ（ステップＳ１０８３）。パラメータを受信すれば、パラメータの内容をパラメータ格納エリア１００５４１に退避させ（ステップＳ１０８４）、マスタユニット１００２に対してパラメータ受信応答を返し（ステップＳ１０８５）、パラメータに従って通常サイクリック伝送処理を実行する。
【００３５】
図２０はパラメータ交信完了後のマスタユニット１００２のバッファメモリ１００２１の割り付け状態を示している。この図は図１６に示したユーザ指定の割り付けパラメータ一覧表により割り付けたパラメータに従ってバッファメモリ１００２１を分割したイメージを示している。
【００３６】
図２１はパラメータ交信完了後に行われるマスタユニット１００２とリモート特殊機能ユニット１００５との間の通常サイクリック交信のタイミングチャートである。通常サイクリック交信は、割り付けパラメータに従いマスタユニット１００２とリモート特殊機能ユニット１００５との間で、データの送受信処理をサイクリックに実行する。
【００３７】
マスタユニット（Ｍ局）はＭ→Ｒ１方向のデータを交信するとともに、リモートユニット１局（Ｒ１局）にＭ←Ｒ１方向のデータ送信を勧誘（ポーリング）する。リモートユニット１局（Ｒ１局）に対する送信が完了すると、つぎにマスタユニット（Ｍ局）はリモートユニット２局（Ｒ２局）に対してデータ送信を勧誘し、リモートユニット２局に対する送信が完了すると、つぎにマスタユニット（Ｍ局）はリモートユニット３局（Ｒ３局）に対してデータ送信を勧誘する。この一連の処理をサイクリックに繰り返すことで、Ｍ→Ｒｎ方向のデータ交換（マスタユニットのデータ送信）と、Ｍ←Ｒｎ方向のデータ交換（マスタユニットのデータ受信）が行われる。
【００３８】
図２２と図２３はマスタユニット１００２（Ｍ局）とリモート特殊機能ユニット１００５（Ｒｎ局）との間のサイクリック伝送の関係を示している。図２２の“●（黒丸）”は各局の送信範囲であることを示している。Ｍ→Ｒｎは常時マスタユニット１００２からリモート特殊機能ユニット１００５の方向にデータが送信され、Ｍ←Ｒｎは常時リモート特殊機能ユニット１００５からマスタユニット１００２の方向にデータが送信されている。このようにしてマスタユニット１００２とリモート特殊機能ユニット１００５間は常時高速にデータ交換が行われている。図２３は図２２の内容をシステム的に示したものである。
【００３９】
図２４はＰＬＣ１００１がリモート特殊機能ユニット１００５にアクセスするためのユーザシーケンスプログラムを示している。ステップＳ１１３１で、実行指示１が成立していれば、“ＲＦＲＰ”と云うリモートシステム専用の“リモート特殊機能ユニット＃１からの読み出し命令”を使用し、リモート特殊機能ユニット＃１のバッファメモリアドレス０番地以降のデータをマスタユニット１００２のバッファメモリアドレス１０Ｈ番地以降に１０Ｈ点分、読み出す処理を行う。
【００４０】
つぎにステップＳ１１３２にて、リモート特殊機能ユニット＃１からの読み出し処理が完了していれば、“ＢＭＯＶ”と云うブロック転送命令を使用してマスタユニット１００２のバッファメモリアドレスＨ１０からＰＬＣ１００１内部のユーザデバイスＡ０以降に１０Ｈ点分格納し、ステップＳ１１３３にて実行指示１をクリアする。すなわち、ステップＳ１１３１〜Ｓ１１３３の一連の処理によりリモート特殊機能ユニット１００５からの読み出し処理が行われる。
【００４１】
つぎにステップＳ１１３４で、読み出したデータに対して必要な処理を加える。
【００４２】
つぎのステップＳ１１３５にて、実行指示２が成立していれば、“ＢＭＯＶ”と云うブロック転送命令を使用してＰＬＣ１００１内部のユーザデバイスＢ０以降に格納されているデータをマスタユニット１００２のバッファメモリアドレスＨ４０番地以降に１０Ｈ点分、転送する。
【００４３】
つぎにステップＳ１１３６にて、“ＲＴＯＰ”と云うリモートシステム専用の“リモート特殊機能ユニット＃３への書き込み命令”を使用してリモート特殊機能ユニット＃３のバッファメモリアドレスＨ１００番地以降へマスタユニット１００２のバッファメモリアドレス４０Ｈ番地以降のデータを１０Ｈ点分書き込む処理を行う。
【００４４】
つぎにステップ１１３７にて、書き込み完了信号が成立していれば、実行指示２をクリアする。すなわち、ステップＳ１１３５〜Ｓ１１３７の一連の処理によりリモート特殊機能ユニットへの書き込み処理が行われる。
【００４５】
【発明が解決しようとする課題】
従来のプログラマブルコントローラ用リモートシステムでは、上述のようにユーザにてリモート特殊機能ユニットのバッファメモリ構成を確認し、マスタユニットのバッファメモリをパラメータによりＭ→Ｒ，Ｍ←Ｒに割り付ける必要があるため、システム構築に当たっての煩わしさがあった。
【００４６】
またリモート特殊機能ユニットを制御するためのプログラムは、図２４に例示されているようにマスタリモートシステムと云う通信を意識する必要があるため、図１４に示されているようにＰＬＣに隣接した特殊機能ユニットのものとはプログラミングスタイルが大幅に異なると云う問題点があった。
【００４７】
この発明は、従来のプログラマブルコントローラ用リモートシステムに於ける上述の如き問題点に着目してなされたものであり、ユーザによるマスタユニットのバッファメモリ割り付けを必要とすることがなく、システム構築が容易に行われ、またリモートユニットにアクセスする際にユーザに通信を意識させることなくＰＬＣに隣接した特殊機能ユニットにアクセスする場合と同等なプログラミングスタイルで制御できるプログラマブルコントローラ用リモートシステムを得ることを目的としている。
【００５０】
【課題を解決するための手段】
上記目的を達成するために、この発明によるプログラマブルコントローラ用リモートシステムは、通信機能ユニットを装着したプログラマブルコントローラと、前記通信機能ユニットをマスタユニットとして１つの伝送路を介してネットワーク接続されたＩ／Ｏ機能や特殊機能を有するリモートユニットにより構成されるプログラマブルコントローラ用リモートシステムにおいて、前記マスタユニットは、起動時に各リモートユニットに対してＩ／Ｏ機能、特殊機能を実現するために要するリモートユニット内バッファメモリの構成を確認するための問い合わせ要求伝文を送信する問い合わせ要求伝文送信手段と、前記リモートユニットから受信した問い合わせ応答伝文の内容に基づいてマスタユニット内のバッファメモリに各リモートユニットのバッファメモリ構成を写像するバッファメモリ構成写像手段とを有し、前記リモートユニットは、起動時に自ユニットのＩ／Ｏ機能、特殊機能のバッファメモリの構成を確認するバッファメモリ構成確認手段と、前記マスタユニットからのリモートユニット内バッファメモリの構成を確認するための問い合わせ要求伝文に対して予め前記バッファメモリ構成確認手段によって確認したバッファメモリ構成に応じて当該自リモートユニットのＩ／Ｏ機能、特殊機能のバッファメモリ構成を写像するための情報を含む問い合わせ応答伝文を作成してマスタユニットに送信する問い合わせ応答伝文作成手段とを有しているものである。
【００５１】
この発明によるプログラマブルコントローラ用リモートシステムでは、リモートユニットのバッファメモリ構成確認手段により自ユニットのバッファメモリの構成を確認し、問い合わせ要求伝文送信手段によりマスタユニットよりリモートユニットへ問い合わせ要求伝文を送信し、その応答としてバッファメモリ構成確認手段が確認したバッファメモリ構成に応じた問い合わせ応答伝文を問い合わせ応答伝文作成手段により作成する。バッファメモリ構成写像手段はリモートユニットから受信した問い合わせ応答伝文の内容に基づいてマスタユニット内のバッファメモリに各リモートユニットのバッファメモリ構成を写像する。これによりそのバッファメモリの割り付けを完了する。
また、この発明は、上記の発明において、前記問い合わせ応答伝文作成手段は、自リモートユニットのバッファメモリのバッファメモリ全体サイズ、読み出しエリア先頭アドレス、読み出しエリアサイズ，書き込みエリア先頭アドレス、書き込みエリアサイズを含む問い合わせ応答伝文を作成してマスタユニットに送信することを特徴とする。
【００５２】
【発明の実施の形態】
以下に添付の図を参照してこの発明に係る実施の形態を詳細に説明する。
【００５３】
図１は、この発明に係わるプログラマブルコントローラ用リモートシステムの一つの実施の形態を示している。
【００５４】
図１では、ＰＬＣ１１に隣接して配置されたマスタユニット１２と特殊機能ユニット１３がＰＬＣ１１にバス接続され、マスタユニット１２にはリモート特殊機能ユニット１５が１つの伝送路１４によって双方向に通信可能に接続されている。
【００５５】
図２はこの発明によるリモートシステムで使用されるＰＬＣ１１、マスタユニット１２、リモート特殊機能ユニット１５の構成を示している。
【００５６】
ＰＬＣ１１は、従来のものと同様に、ユーザプログラム格納部１１１と、ユーザデバイスメモリ部１１２と、ＰＬＣ制御部１１３とを有し、これら各部は内部バス１１４により接続されている。
【００５７】
マスタユニット１２は、ＰＬＣ１１がリモート特殊機能ユニット１５とのデータのやりとりを行うためのバッファメモリ（通信用バッファメモリ）１２１と、バッファメモリ１２１とＰＬＣ１１との間でデータのやりとりを行うバスＩ／Ｆ１２２と、マスタユニット１２とリモート特殊機能ユニット１５との間のデータの受け渡しを行う通信Ｉ／Ｆ１２３と、それらを制御するマスタユニット制御部１２４を有し、これら各部はバス１２５により接続されている。
【００５８】
マスタユニット１２のバッファメモリ１２１は、デュアルポート（双方向）メモリであり、ＰＬＣ制御部１１３とバッファメモリ１２１とはバス１１５により接続され、マスタユニット制御部１２４とバッファメモリ１２１とはバス１２５により接続されている。デュアルポートメモリとは、ここでも、ＰＬＣ制御部１１３からもマスタユニット制御部１２４からもアクセスできるメモリであることを意味している。
【００５９】
マスタユニット１２のマスタユニット制御部１２４は、起動時に各リモート特殊機能ユニット１５に対してＩ／Ｏ機能、特殊機能を実現するために要するリモート特殊機能ユニット１５内のバッファメモリ１５１の構成を確認するための問い合わせ要求伝文を送信する問い合わせ要求伝文送信手段１２４１と、リモート特殊機能ユニット１５から受信した問い合わせ応答伝文の内容に基づいてバッファメモリ１２１に各リモート特殊機能ユニット１５のバッファメモリ構成を写像するバッファメモリ構成写像手段１２４２とを有している。
【００６０】
またマスタユニット１２のマスタユニット制御部１２４にはリモート特殊機能ユニットバッファメモリ構成情報退避エリア１２４３が画定されている。
【００６１】
リモート特殊機能ユニット１５も同様に、ＰＬＣ１１とのデータのやりとりを行うためのバッファメモリ１５１と、特殊機能を実現するための特殊機能制御部１５２と、マスタユニット１２とのデータの受け渡しを行う通信Ｉ／Ｆ１５３と、それらを制御するためのリモートユニット制御部１５４とを有し、これら各部はバス１５５により接続されている。
【００６２】
リモートユニット制御部１５４は、自ユニットのＩ／Ｏ機能、特殊機能のバッファメモリ１５１の構成を確認するバッファメモリ構成確認手段１５４１と、マスタユニット１２からの問い合わせ要求伝文に対して予めバッファメモリ構成確認手段１５４１によって確認したバッファメモリ構成に応じた問い合わせ応答伝文を作成する問い合わせ応答伝文作成手段１５４２と、伝文作成メモリ１５４３とを有している。
【００６３】
このリモートシステムでは、リモート特殊機能ユニット１５のバッファメモリ構成確認手段１５４１により自ユニットのバッファメモリ１５１の構成を確認しておき、マスタユニット１２の問い合わせ要求伝文送信手段１２４１によってマスタユニット１２よりリモート特殊機能ユニット１５へ問い合わせ要求伝文を送信する。
【００６４】
この問い合わせ要求の応答として、バッファメモリ構成確認手段１５４１が確認したバッファメモリ構成に応じた問い合わせ応答伝文を問い合わせ応答伝文作成手段１５４２により作成し、これをマスタユニット１２へ送信する。
【００６５】
リモート特殊機能ユニット１５から受信した問い合わせ応答伝文の内容に基づいてマスタユニット１２のバッファメモリ構成写像手段１２４２がマスタユニット１２内のバッファメモリ１２１に各リモート特殊機能ユニット１５のバッファメモリ構成を写像する。これによりＰＬＣ−リモート特殊機能ユニット間の通信のためのバッファメモリ１２１の割り付けが完了する。
【００６６】
この発明によるリモートシステムにおける従来例との大きな違いはＰＬＣ１１に割り付けパラメータ格納部が不要になっていることである。
【００６７】
ではなぜＰＬＣ１１に割り付けパラメータ格納部が不要になったのかを図３〜図８を用いて説明する。
【００６８】
図３はこの発明に係わるマスタユニット１２のイニシャル処理を示すフローチャートである。まず自Ｈ／Ｗの初期化と、自メモリの初期化を行う（ステップＳ３１，ステップＳ３２）。初期化処理にはメモリのクリア（“０”セット）及び初期値セットなどがある。
【００６９】
つぎにリモート特殊機能ユニット＃１を指定し（ステップＳ３３）、該リモート特殊機能ユニット＃１のバッファメモリの構成をマスタユニット１２に通知するように要求する（ステップＳ３４）。これを“リモートユニットバッファメモリ構成通知要求”と云う。
【００７０】
この際使用される伝文が図５、図６に示されている。
【００７１】
図５は伝文フレームの全体を示している。“Ｆ”は伝文の開始と終了を示す“フラグ”であり、最初の“Ｆ”と最後の“Ｆ”とに挟まれた部分が伝文である。“ＤＡ”は宛先ユニット番号、“ＳＡ”は送信元ユニット番号、“Ｃ”は伝文のコマンド種別を示すコントロールフィールド、“ＤＡＴＡ”はコントロールフィールドＣに付随するデータ、“ＦＣＳ”はフレーム検査シーケンスである。
【００７２】
図６は、伝文フレームのコントロールフィールドＣに、“バッファメモリ構成問い合わせ要求コード”を設定していることを示している。マスタユニット１２の起動時に各リモート特殊機能ユニット１５に対してバッファメモリ構成を確認するために、リモート特殊機能ユニット１５には“リモートユニットバッファメモリ構成通知要求”である“バッファメモリ構成問い合わせ要求コード”を送信する。
【００７３】
図３のフローチャートの続きを説明する。“バッファメモリ構成問い合わせ要求コード”を送信した後、リモート特殊機能ユニット１５からの応答を監視するための応答待ちタイマを起動する（ステップＳ３５）。
【００７４】
つぎにリモート特殊機能ユニット１５からの応答があるか否かを判別し（ステップＳ３６）、応答がなければ、応答待ちタイマがタイムアウトしたか否かを判断する（ステップＳ３７）。応答待ちタイマがタイムアウトしていなければ、ステップＳ３６に戻り、応答を待つ。
【００７５】
これに対し、ステップＳ３７で応答待ちタイマがタイムアウトしたと判断した場合には、該リモート特殊機能ユニットが故障か、または存在しないものと判断し、つぎのリモート特殊機能ユニットを指定する（ステップＳ４０）。
【００７６】
ステップＳ３６でリモート特殊機能ユニット１５からの応答を受け取った場合には、応答待ちタイマを停止し（ステップＳ３８）、リモート特殊機能ユニット１５のバッファメモリ構成情報をマスタユニット制御部１２４のリモート特殊機能ユニットバッファメモリ構成情報退避エリア１２４３に一時的に格納する。
【００７７】
つぎに次リモート特殊機能ユニットを指定し（ステップＳ４０）、全局分の調査が完了したかチェックし（ステップＳ４１）、完了していなければステップＳ３４に戻り、再度ステップＳ３５〜ステップＳ４０を繰り返し、全局分の調査が完了したと判断されるまで繰り返し処理が行われる。
【００７８】
ステップＳ４１にて全局分のチェックが完了したと判断されたならば、マスタユニット制御部１２４のリモート特殊機能ユニットバッファメモリ構成情報退避エリア１２４３に格納していた各リモート特殊機能ユニット１５のバッファメモリ１５１の構成情報をもとにしてマスタユニット１２のバッファメモリ１２１の構成を編成（ステップＳ４２）、即ちＰＬＣ−リモート特殊機能ユニット間のデータ交信のためのバッファメモリ割り付けを行う。すなわち、各リモート特殊機能ユニット１５から受信した問い合わせ応答伝文の内容に基づいてマスタユニット１２内のバッファメモリに各リモート特殊機能ユニット１５のバッファメモリ構成を写像する。
【００７９】
つぎにマスタユニット１２のバスＩ／Ｆ１２２のマスタユニットレディ信号ＭＲをセットし、ＰＬＣ１１に対してマスタユニット１２のバッファメモリ１２１上に全リモートノードのバッファメモリイメージが展開されたことを通知する（ステップＳ４３）。
【００８０】
つぎに図４を用いてこの発明に係わるリモート特殊機能ユニットのイニシャル処理を説明する。
【００８１】
先ず自Ｈ／Ｗの初期化と、自メモリの初期化を行う（ステップＳ５１，ステップＳ５２）。つぎに自ユニットのバッファメモリ構成を確認し（ステップＳ５３）、図７、図８に示すバッファメモリ構成問い合わせ応答の伝文をリモートユニット制御部１５４内の伝文作成メモリ１５４３に前もって作成し（ステップＳ５４）、マスタユニット１２からの“問い合わせ”を待つ（ステップＳ５５）。
【００８２】
図７、図８のマスタユニット宛のバッファメモリ構成問い合わせ応答伝文について説明する。
【００８３】
図７に示されているように、マスタユニット１２宛のバッファメモリ構成問い合わせ応答伝文は、自ユニットのバッファメモリ１５１のバッファメモリ全体サイズ、読み出しエリア先頭アドレス、読み出しエリアサイズ，書き込みエリア先頭アドレス、書き込みエリアサイズからなり、コントロールフィールドＣにはマスタユニット１２からの問い合わせコマンドに対する応答を示す“バッファメモリ構成問い合わせ応答コード”をセットする。
【００８４】
図８は各リモート特殊機能ユニット（１局〜３局）の具体的なアドレス、サイズをセットしたバッファメモリ構成問い合わせデータを示している。各バッファメモリ構成問い合わせ応答データでは、バッファメモリ全体サイズ＝４０Ｈ、読み出しエリア先頭アドレス＝００Ｈ、読み出しエリアサイズ＝２０Ｈ、書き込みエリア先頭アドレス＝２０Ｈ、書き込みエリアサイズ＝２０Ｈであることを示している。なお、実システムでは、各リモート特殊機能ユニットにより値が異なる。
【００８５】
図４のフローチャートの続きを説明する。マスタユニット１２からの“問い合わせ”があったと判断した場合（ステップＳ５５）には、ステップＳ５４にて予め作成した“バッファメモリ構成問い合わせ応答伝文”をマスタノードであるマスタユニット１２へ送信する（ステップＳ５６）。
【００８６】
従来例では、わざわざユーザがネットワークパラメータで割り付けていたＭ→Ｒ，Ｍ←Ｒの割付エリアを、この発明によるユニットシステムでは、図９に示されているように、マスタユニット１２、リモート特殊機能ユニット１５が自動的に判断し、バッファメモリ１２１上に展開できることになる。
【００８７】
図１０はこの発明によるリモートシステムにおいてＰＬＣ１１がリモート特殊機能ユニット１５にアクセスするためのユーザシーケンスプログラムの例を示している。図１０より解るように、この発明によるリモートシステムでは、リモート特殊機能ユニット１５にアクセスする場合でも、ＰＬＣ１１に隣接した特殊機能ユニット１３にアクセスする場合となんらユーザシーケンスプログラムのプログラミングスタイルが変わることがなく、ユーザシーケンスプログラムが従来例と比べて簡素化される。
【００８９】
【発明の効果】
この発明によるプログラマブルコントローラ用リモートシステムによれば、ネットワーク接続されているリモート特殊機能ユニットなどのリモートユニットのバッファメモリ構成を確認し、マスタユニット内の通信用のバッファメモリに、各リモート特殊機能ユニットのバッファメモリを写像するようにしたので、ユーザにてＭ→Ｒ，Ｍ←Ｒの割り付けをパラメータで設定すると云う煩わしさからユーザを解放でき、システム構築が容易に、しかも確実に行われるようになる効果が得られる。
【図面の簡単な説明】
【図１】  この発明に係るプログラマブルコントローラ用リモートシステムを示す構成図である。
【図２】  この発明に係るプログラマブルコントローラ用リモートシステムで使用されるＰＬＣ、マスタユニット、リモート特殊機能ユニットを示すブロック図である。
【図３】  この発明に係るリモートシステムにおけるマスタユニットのイニシャル処理を示すフローチャートである。
【図４】  この発明に係るリモートシステムにおけるリモート特殊機能ユニットのイニシャル処理を示すフローチャートである。
【図５】  この発明に係る通信用バッファメモリ割り付け方法で使用される通信伝文の全体構成フレーム図である。
【図６】  この発明に係る通信用バッファメモリ割り付け方法で使用される問い合わせ要求伝文のコントロールフィールドの内容を示す説明図である。
【図７】  この発明に係る通信用バッファメモリ割り付け方法で使用される問い合わせ応答伝文のコントロールフィールドとデータフィールドの内容を示す説明図である。
【図８】  この発明に係る通信用バッファメモリ割り付け方法で使用される問い合わせ応答伝文のコントロールフィールドとデータフィールドの内容を示す説明図である。
【図９】  この発明に係るリモートシステムにおいてマスタユニット、リモートユニットが自動的に判断し、マスタユニットのバッファメモリ上にリモート特殊機能ユニットのバッファメモリを展開したイメージを示す説明図である。
【図１０】  この発明に係るリモートシステムにおいて、ＰＬＣがリモート特殊機能ユニットにアクセスするためのユーザシーケンスプログラムを示すラダー図である。
【図１１】  従来例のプログラマブルコントローラ用リモートシステムを示す構成図である。
【図１２】  従来例のＰＬＣと特殊機能ユニットを示すブロック図である。
【図１３】  従来例のリモートシステムにおけるＰＬＣのユーザデバイスメモリ部デバイス種別を示す説明図である。
【図１４】  特殊機能ユニットアクセス処理のユーザシーケンスプログラムを示すラダー図である。
【図１５】  従来のリモートシステムにおけるＰＬＣとマスタユニットとリモート特殊機能ユニットを示すブロック図である。
【図１６】  バッファメモリの割り付けパラメータの一覧表を示す説明図である。
【図１７】  マスタユニットとリモート特殊機能ユニットとの間の割り付けパラメータ交信処理を示すタイミングチャートである。
【図１８】  従来例のマスタユニットのイニシャル処理の概略を示すフローチャートである。
【図１９】  従来例のリモートユニットのイニシャル処理の概略を示すフローチャートである。
【図２０】  パラメータ交信完了後のバッファメモリの割り付け状態を示す説明図である。
【図２１】  パラメータ交信完了後の通常サイクリック交信のタイミングチャートである。
【図２２】  マスタユニットとリモート特殊機能ユニットとの間のサイクリック伝送の関係を示す説明図である。
【図２３】  マスタユニットとリモートユニットとの間のサイクリック伝送の関係を示すブロック図である。
【図２４】  従来例のリモートシステムにおいて、ＰＬＣがリモート特殊機能ユニットにアクセスするためのユーザシーケンスプログラムを示すラダー図である。
【符号の説明】
１１  ＰＬＣ，１１１  ユーザプログラム格納部，１１２  ユーザデバイスメモリ部，１１３  ＰＬＣ制御部，１１４  内部バス，１２  マスタユニット，１２１  バッファメモリ，１２２  バスＩ／Ｆ，１２３  通信Ｉ／Ｆ，１２４  マスタユニット制御部，１２４１  問い合わせ要求伝文送信手段  １２４２  バッファメモリ構成写像手段，１２４３  リモート特殊機能ユニットバッファメモリ構成情報退避エリア，１２５  バス，１４  伝送路，１５  リモート特殊機能ユニット，１５１  バッファメモリ，１５２  特殊機能制御部，１５３  通信Ｉ／Ｆ，１５４  リモートユニット制御部，１５４１  バッファメモリ構成確認手段，１５４２  問い合わせ応答伝文作成手段，１５４３  伝文作成メモリ
【図１】
0003688804.tif 000002
【図２】
0003688804.tif 000003
【図３】
0003688804.tif 000004
【図４】
0003688804.tif 000005
【図５】
0003688804.tif 000006
【図６】
0003688804.tif 000007
【図７】
0003688804.tif 000008
【図８】
0003688804.tif 000009
【図９】
0003688804.tif 000010
【図１０】
0003688804.tif 000011
【図１１】
0003688804.tif 000012
【図１２】
0003688804.tif 000013
【図１３】
0003688804.tif 000014
【図１４】
0003688804.tif 000015
【図１５】
0003688804.tif 000016
【図１６】
0003688804.tif 000017
【図１７】
0003688804.tif 000018
【図１８】
0003688804.tif 000019
【図１９】
0003688804.tif 000020
【図２０】
0003688804.tif 000021
【図２１】
0003688804.tif 000022
【図２２】
0003688804.tif 000023
【図２３】
0003688804.tif 000024
【図２４】
0003688804.tif 000025