(57)【特許請求の範囲】
【請求項１】
通信機能を有するプログラマブル・コントローラと、当該プログラマブル・コントローラにフィールドバスを介して接続される１台もしくは２台以上のリモートターミナル装置とを有し、当該リモートターミナル装置は、さらに１台の通信ユニットと、スライスバスを介して当該通信ユニットと交信可能な１台もしくは２台以上のＩ／Ｏユニットとを有するプログラマブル・コントローラ・システムであって、
リモートターミナル装置の通信ユニットは、
プログラマブル・コントローラから送信されるＯＵＴデータを含むデータフレームと、当該通信ユニットに接続されているＩ／Ｏユニットから返信されるＩＮデータを含むデータフレームとを送受信する、プログラマブル・コントローラとのＩ／Ｏリフレッシュ処理及びＩ／ＯユニットとのＩ／Ｏリフレッシュ処理を実行する通常通信状態と、
プログラマブル・コントローラとのＩ／Ｏリフレッシュ処理は行わず、接続されているＩ／Ｏユニットの存在確認処理と、Ｉ／ＯユニットからＩＮデータを受信して行うＩＮリフレッシュ処理を実行するＩＤＬＥ状態とを備え、
前記通常通信状態と前記ＩＤＬＥ状態との２つの通信状態を所定の条件に基づき遷移し、
前記リモートターミナル装置の通信ユニットが、前記ＩＤＬＥ状態から前記通常通信状態へ遷移する場合には、ＩＮデータを含むデータフレームを送信し、予め設定されたプログラマブル・コントローラが前記ＩＮデータを処理する時間が経過した後にプログラマブル・コントローラから送信されたＯＵＴデータをＩ／Ｏユニットに送信するように制御することを特徴とするプログラマブル・コントローラ・システム。
【請求項２】
リモートターミナル装置の通信ユニットは、プログラマブル・コントローラからのＯＵＴデータを所定時間内に受信しない場合において通常通信状態からＩＤＬＥ状態へと遷移することを特徴とする請求項１に記載のプログラマブル・コントローラ・システム。
【請求項３】
Ｉ／Ｏユニットは、通信ユニットがＩＤＬＥ状態であることを識別し、出力を予め定められたＩＤＬＥ状態設定に従って制御することを特徴とする請求項１又は２に記載のプログラマブル・コントローラ・システム。
【請求項４】
１台の通信ユニットと、それぞれスライスバスラインを介して通信ユニットと交信可能な１台もしくは２台以上のＩ／Ｏユニットとを有し、フィールドバスを介して通信機能を有するプログラマブル・コントローラ装置と接続されるリモートターミナル装置であって、
当該通信ユニットは、
プログラマブル・コントローラから送信されるＯＵＴデータを含むデータフレームと、当該通信ユニットに接続されているＩ／Ｏユニットから返信されるＩＮデータを含むデータフレームとを送受信する、プログラマブル・コントローラとのＩ／Ｏリフレッシュ処理及びＩ／ＯユニットとのＩ／Ｏリフレッシュ処理を実行する通常通信状態と、
プログラマブル・コントローラとのＩ／Ｏリフレッシュ処理は行わず、接続されているＩ／Ｏユニットの存在確認処理と、Ｉ／ＯユニットからＩＮデータを受信して行うＩＮリフレッシュ処理を実行するＩＤＬＥ状態とを備え、
前記通常通信状態と前記ＩＤＬＥ状態との２つの通信状態を所定の条件に基づき遷移し、
前記リモートターミナル装置の通信ユニットが、前記ＩＤＬＥ状態から前記通常通信状態へ遷移する場合には、ＩＮデータを含むデータフレームを送信し、予め設定されたプログラマブル・コントローラが前記ＩＮデータを処理する時間が経過した後にプログラマブル・コントローラから送信されたＯＵＴデータをＩ／Ｏユニットに送信するように制御することを特徴とするプログラマブル・コントローラのリモートターミナル装置。
【請求項５】
リモートターミナル装置の通信ユニットは、プログラマブル・コントローラからのＯＵＴデータを所定時間内に受信しない場合において通常通信状態からＩＤＬＥ状態へと遷移することを特徴とする請求項４に記載のプログラマブル・コントローラのリモートターミナル装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル・コントローラ（以下、「ＰＬＣ」と言う）のリモートターミナル装置に係り、特に、Ｉ／Ｏユニットを任意に増設可能なビルディングブロック型のリモートターミナル装置を備えたＰＬＣシステムに関する。
【背景技術】
【０００２】
フィールドバスを介してＰＬＣ装置と接続されるリモートターミナル装置、中でも一台の通信ユニットと、それぞれシリアルバスを介して通信ユニットと交信可能な１台若しくは２台以上のＩ／Ｏユニット等を備え、Ｉ／Ｏユニットを任意に増設可能なビルディングブロック型のリモートターミナル装置を有するＰＬＣシステムは従来より知られている。
【０００３】
この種のビルディングブロック型のリモートターミナル装置としては、バックプレーン付きタイプとバックプレーン無しタイプとが知られている。バックプレーン付きタイプのものにあっては、バックプレーン上に敷設された導体パターンに対して、それぞれコネクタを介して、Ｉ／Ｏユニットを装着するものであり、いずれのＩ／Ｏユニットが故障又は離脱された場合にも、シリアルバスラインは分断されることなく通信を継続できる利点がある。反面、このバックプレーン付きタイプのものにあっては、Ｉ／Ｏユニットの接続台数の移管を問わず、バックプレーン上には最大接続台数に相当する長さのシリアルバスパターンが必要であるため、省スペース化の妨げとなるという欠点がある。
【０００４】
これに対して、バックプレーン無しタイプのものにあっては、各Ｉ／Ｏユニットのハウジングの外部に、シリアルバスラインの一部となる導体パターンを内蔵させるとともに、その部分バスラインの両端をハウジングの左右側面から導出させるもので、相隣接して複数台のＩ／Ｏユニットを連装することによって、初めて一連のシリアルバスが構成されるものである。このバックプレーン無しタイプのものにあっては、Ｉ／Ｏユニットの接続台数に応じてシリアルバスラインの長さが設定されるため、無駄なスペースが生じない利点がある。その反面、一連のＩ／Ｏユニットの中のいずれかが故障して取り外された状態では、シリアルバスが分断されてしまい、通信を継続できない欠点がある。
【０００５】
そこで、Ｉ／Ｏユニットの全体を、シリアルバスライン部分を含むベースブロックと、回路基板並びに入出力端子台を含む端子台付き回路ブロックとに二分割構成したものを従来より知られている。このような二分割構成のＩ／Ｏユニットによれば、回路基板に故障が生じても、端子台付き回路ブロックだけを取り外すことによって、シリアルバスを分断させないで済むという利点がある。もっとも、この場合にあっても、端子台付き回路ブロックを交換するためには、端子台に結線された配線をやり直さねばならず作業が面倒である欠点がある。
【０００６】
そこで、昨今、端子台付き回路ブロックそのものについても、通信制御回路や入出力制御回路を含む、本体ブロックと端子台を含む端子ブロックとに二分割することによって、全体を三分割構成としたＩ／Ｏユニットも提案されている。（例えば、非特許文献１参照）
【０００７】
このような三分割構成のＩ／Ｏユニットによれば、端子台ブロックと本体ブロックとの結合を解除し、さらに、本体ブロックと端子台ブロックとの結合を解除することによって、端子台配線の結線状態はそのまま残しつつ、本体ブロックのみを簡単に交換できる利点がある。
【０００８】
従来のネットワークを説明するための図が図１５に示されている。同図にて、符号８０はネットワーク上に設置され当該システムを制御するマスタ局として機能するＴＯＯＬ（ツール）を、８１はスレーブ局として機能するリモートターミナルをマスタ局に接続する上位通信（フィールドバス）を、８２はスレーブ局における通信ユニットを、８３は当該通信ユニットに接続される複数のＩ／Ｏユニットを、そして８４は通信ユニットと、各Ｉ／Ｏユニットとを接続する下位通信として機能するＳｌｉｃｅバス（スライスバス）とをそれぞれ示している。同図にて示されるように、通信ユニット８２の内部にはＭＰＵ８２１が備えられており、スライスバス８４にて各Ｉ／Ｏユニット内に備えられるＩ／Ｏ用のＭＰＵ８３１に接続されている。また、同図において、符号８３２はＩ／Ｏユニット８３に内蔵される設定ＳＷ（スイッチ）を示している。
【非特許文献１】Ｂ＆Ｒ社製の「Ｘ２０  Ｓｙｓｔｅｍ」を商品説明するＵＲＬ：  http://www.br-automation.com/cps/rde/xchg/SID-0A2B820A-4D98584C/br-automation_com/hs.xsl/cookies_allowed.htm?caller=556_5358_ENG_HTML.htm
【発明の開示】
【発明が解決しようとする課題】
【０００９】
このような従来のＰＬＣシステムにおいては、マスタ局として機能するＰＬＣ装置とリモートターミナル装置の通信ユニットとは所謂上位通信としてフィールドバス８１にて接続されており、スレーブ局として機能するリモートターミナル装置の通信ユニットは、さらに下位通信としてのスライスバス８４によって複数のＩ／Ｏユニットに接続されている。しかし、このような従来のシステムにおいては、エラー等により、上位通信が切断されてしまった場合、システムを制御するマスタ局とスレーブ局との通信が遮断されてしまい、その結果、下位通信も切断するしかなかった。
【００１０】
そして、上位通信がエラーから復帰した際には、下位通信に対してもエラー復帰処理を行い、エラー復帰させてからでないと通信加入できないため、復帰に時間がかかりシステムのダウンタイムが長大化してしまうという欠点が指摘されていた。
【００１１】
この発明は、このような従来の問題点に着目してなされたものであり、その目的とするところは、複数のリモートターミナル装置を制御するＰＬＣシステムにおいて、上位通信（フィールドバス）が何らかのエラーによって遮断されてしまっても、エラーから復帰したときに即座にリモートターミナル装置との通信を再開できることを可能とすることにある。
【００１２】
この発明の他の目的ならびに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解される筈である。
【課題を解決するための手段】
【００１３】
本発明の実施形態によれば、通信機能を有するプログラマブル・コントローラと、当該プログラマブル・コントローラにフィールドバスを介して接続される１台もしくは２台以上のリモートターミナル装置とを有し、当該リモートターミナル装置は、さらに１台の通信ユニットと、スライスバスを介して当該通信ユニットと交信可能な１台もしくは２台以上のＩ／Ｏユニットとを有するプログラマブル・コントローラ・システムであって、リモートターミナル装置の通信ユニットは、プログラマブル・コントローラから送信されるＯＵＴフレームを含むデータフレームと、当該通信ユニットに接続されているＩ／Ｏユニットから返信されるＩＮデータを含むデータフレームとを送受信する、プログラマブル・コントローラとのＩ／Ｏリフレッシュ処理及びＩ／ＯユニットとのＩ／Ｏリフレッシュ処理を実行する通常通信状態と、プログラマブル・コントローラとのＩ／Ｏリフレッシュ処理は行わず、接続されているＩ／Ｏユニットの存在確認処理と、Ｉ／ＯユニットからＩＮデータを受信して行うＩＮリフレッシュ処理を実行するＩＤＬＥ状態とを備え、前記通常通信状態と前記ＩＤＬＥ状態との２つの通信状態を所定の条件に基づき遷移し、前記リモートターミナル装置の通信ユニットが、前記ＩＤＬＥ状態から前記通常通信状態へ遷移する場合には、ＩＮデータを含むデータフレームを送信し、予め設定されたプログラマブル・コントローラが前記ＩＮデータを処理する時間が経過した後にプログラマブル・コントローラから送信されたＯＵＴデータをＩ／Ｏユニットに送信するように制御することを特徴とする。
【００１４】
ここで言う『Ｉ／Ｏユニットの存在確認』とは、リモートターミナル装置の通信ユニットから接続されているＩ／Ｏユニットに対してＢＣＯＮフレームを送信し、そのＢＣＯＮフレームを受信したＩ／Ｏユニットが通信ユニットに対してＣＮフレームを返信することにより実行され、当該Ｉ／Ｏユニットがスライスバスを介して接続されていること（存在していること）を意味する。このとき、Ｉ／Ｏユニットから返信されるＣＮフレームには、当該Ｉ／Ｏユニットを特定するユニット情報が含まれる。そのユニット情報の例としては、当該ユニットがどこの会社製かを示すVendorID、ユニットの種別を示すDeviceType（例えば、DIO、AIO等）、Vendor毎に機種単位に設定する値であるProductCode、等が含まれる。
【００１５】
このような構成により、当該プログラマブル・コントローラ・システムにおけるリモートターミナル装置の通信ユニットは、通常通信状態とＩＤＬＥ状態との２つの通信形態を有し、それらの通信形態を所定の条件に基づき遷移するため、通信形態をシステムの状態に応じて切り替えることが可能とされている。
【００１６】
本発明の実施の形態においては、リモートターミナル装置の通信ユニットは、プログラマブル・コントローラからのＯＵＴフレームを所定時間内に受信しない場合において通常通信状態からＩＤＬＥ状態へと遷移することを特徴とする
【００１７】
このような構成により、プログラマブル・コントローラ・システムにおいて、プログラマブル・コントローラと、リモートターミナル装置とのフィールドバス通信がエラー等により切断されてしまい、ＯＵＴフレームを所定時間内に受信できないような状況において、リモートターミナル装置の通信ユニットとＩ／Ｏユニットとのスライスバス通信はＩＤＬＥ状態へと遷移し接続状態を保ち、継続して存在確認を実行する。そのため、フィールドバス通信がエラーから復帰した場合、スライスバス通信のエラー復帰にを行う必要がなく、システム全体の早期復帰が実現される。
【００１８】
本発明の実施形態によれば、リモートターミナル装置の通信ユニットは、ＩＤＬＥ状態において、さらに接続されるＩ／ＯユニットとのＩＮリフレッシュ処理を実行すること、を特徴とする。
【００１９】
このような構成により、ＩＤＬＥ状態においては、スライスバス通信の通信状態を維持するだけではなく、Ｉ／ＯユニットのＩＮリフレッシュを実行しているため、フィールドバス通信が復帰したら、直ちに最新のＩＮデータをプログラマブル・コントローラに送信することが可能となり、システムの現状復帰が一段と早まる。
【００２０】
本発明の実施形態においては、Ｉ／Ｏユニットは、通信ユニットがＩＤＬＥ状態であることを識別し、出力を予め定められたＩＤＬＥ状態設定に従って制御することを特徴とする。
【００２１】
ここで言う『ＩＤＬＥ状態設定』とは、ユーザがＩ／Ｏユニットに対して予め設定する設定事項であり、スライスバス通信がＩＤＬＥ状態となったときに、プログラマブル・コントローラからのＯＵＴデータが送信されないため、Ｉ／Ｏユニットの出力機器への出力設定をどうするか予め設定しておくものである。その設定としては、例えば、最後に受信したＯＵＴデータを保持することや、ＯＵＴデータを一端クリアし０に戻す、等が挙げられる。
【００２２】
本発明の実施形態によれば、１台の通信ユニットと、それぞれスライスバスラインを介して通信ユニットと交信可能な１台もしくは２台以上のＩ／Ｏユニットとを有し、フィールドバスを介して通信機能を有するプログラマブル・コントローラ装置と接続されるリモートターミナル装置であって、当該通信ユニットは、プログラマブル・コントローラから送信されるＯＵＴフレームを含むデータフレームと、当該通信ユニットに接続されているＩ／Ｏユニットから返信されるＩＮデータを含むデータフレームとを送受信する、プログラマブル・コントローラとのＩ／Ｏリフレッシュ処理及びＩ／ＯユニットとのＩ／Ｏリフレッシュ処理を実行する通常通信状態と、プログラマブル・コントローラとのＩ／Ｏリフレッシュ処理は行わず、接続されているＩ／Ｏユニットの存在確認処理と、Ｉ／ＯユニットからＩＮデータを受信して行うＩＮリフレッシュ処理を実行するＩＤＬＥ状態とを備え、前記通常通信状態と前記ＩＤＬＥ状態との２つの通信状態を所定の条件に基づき遷移し、前記リモートターミナル装置の通信ユニットが、前記ＩＤＬＥ状態から前記通常通信状態へ遷移する場合には、ＩＮデータを含むデータフレームを送信し、予め設定されたプログラマブル・コントローラが前記ＩＮデータを処理する時間が経過した後にプログラマブル・コントローラから送信されたＯＵＴデータをＩ／Ｏユニットに送信するように制御することを特徴とする。
【００２３】
このような構成により、当該プログラマブル・コントローラ・システムにおけるリモートターミナル装置の通信ユニットは、通常通信状態とＩＤＬＥ状態との２つの通信形態を有し、それらの通信形態を所定の条件に基づき遷移するため、通信形態をシステムの状態に応じて切り替えることが可能とされている。
【００２４】
本発明の実施の形態においては、リモートターミナル装置の通信ユニットは、プログラマブル・コントローラからのＯＵＴフレームを所定時間内に受信しない場合において通常通信状態からＩＤＬＥ状態へと遷移することを特徴とする
【００２５】
このような構成により、プログラマブル・コントローラ・システムにおいて、プログラマブル・コントローラと、リモートターミナル装置とのフィールドバス通信がエラー等により切断されてしまい、ＯＵＴフレームを所定時間内に受信できないような状況において、リモートターミナル装置の通信ユニットとＩ／Ｏユニットとのスライスバス通信はＩＤＬＥ状態へと遷移し接続状態を保ち、継続して存在確認を実行する。そのため、フィールドバス通信がエラーから復帰した場合、スライスバス通信のエラー復帰にを行う必要がなく、システム全体の早期復帰が実現される。
【００２６】
本発明の実施形態によれば、リモートターミナル装置の通信ユニットは、ＩＤＬＥ状態において、さらに接続されるＩ／ＯユニットとのＩＮリフレッシュ処理を実行すること、を特徴とする。
【００２７】
このような構成により、ＩＤＬＥ状態においては、スライスバス通信の通信状態を維持するだけではなく、Ｉ／ＯユニットのＩＮリフレッシュを実行しているため、フィールドバス通信が復帰したら、直ちに最新のＩＮデータをプログラマブル・コントローラに送信することが可能となり、システムの現状復帰が一段と早まる。
【発明の効果】
【００２８】
本発明のＰＬＣシステムにおいては、上位通信がエラーから復帰した際に即座に通信を開始することが可能となり、システムのダウンタイムを削減することが可能となる。
【発明を実施するための最良の形態】
【００２９】
通信マスタ局及び通信スレーブ局を含むプログラマブルコントローラシステム（ＰＬＣシステム）の全体の構成図が図１に示されている。同図に示されるように、このＰＬＣシステムは、通信マスタ局となる通信機能を有するＰＬＣ装置１と、通信スレーブ局となる複数台の通信機能を有するリモートターミナル装置２，２・・・とを、バス型ネットワークであるフィールドバス５により繋いで構成されている。なお、図において、１１は中継装置として機能するリピータ、６はフィールドバスの終端における反射を低減する終端装置である。
【００３０】
図示のＰＬＣ装置１としては、パラレルバスの敷設された図示しないバックプレーン上に多数のコネクタを配置し、それらのコネクタに対して、ＣＰＵユニット、Ｉ／Ｏユニット、その他各種の高機能ユニット等々を任意に装着可能とした所謂ビルディングブロック型のＰＬＣ装置が採用されている。そして、特に、この例では、バックプレーン上の１のコネクタに対して通信マスタユニットを装着することにより、「通信機能を有するＰＬＣ装置」が構成されている。図では、それらのユニットのうちで、ＣＰＵユニット２０及び通信マスタユニット１０のみに参照符号が付されている。
【００３１】
本発明が適応されるＰＬＣシステムにおけるリモートターミナル装置２をより詳細に説明するための構成図が図２に示されている。同図において、１はＰＣＬ、２はリモートターミナル装置（本機）、３はリモートターミナル装置（同接機）、４は各種の設定、モニタ、操作などに称されるパソコンである。ＰＬＣ１は、電源ユニット、全体の制御を司るＣＰＵユニット、入力機器や出力機器を接続したＩ／Ｏユニット、リモートターミナル装置に対してフィールドバスを介して制御データを送受信する通信マスタユニットなどが一体的に結合され、各ユニットがバックプレインバスを通じてバス通信するよう構成されている。そしてＣＰＵユニットは、いわゆる共通処理、Ｉ／Ｏリフレッシュ処理、ユーザプログラム実行処理、周辺サービス処理をサイクリックに実行している。ＰＬＣ１とリモートターミナル装置（本機）２とはフィールドバス５を介して結ばれており、また、リモートターミナル装置（本機）２とリモートターミナル装置（増設機）３とは増設用ケーブル６で結ばれている。
【００３２】
図２に示されるように、リモートターミナル装置（本機）２は一台のSlice通信ユニット２１（以下、スライス通信ユニットと言う）と、複数台のSliceＩ／Ｏユニット２２（以下、Ｉ／Ｏユニットと言う）と、増設用コネクタ付きのＥＮＤユニット２３とを含んでいる。図のように、それらのユニットは互いに機械的に結合され、それらの背後に位置するＤＩＮレール７に装着される。リモートターミナル装置（増設機）３は、一台の通信ユニット３１と、複数台のＩ／Ｏユニット３２と、増設用コネクタを持たないＥＮＤユニット３３とを含んでいる。それらのユニットについても互いに結合されていて、その背後に位置するＤＩＮレール７に装着される。そして各Ｉ／Ｏユニットの端子台にはＩ／Ｏ機器（図示しないが、ＩＮ機器としてセンサやスイッチ、ＯＵＴ機器としてアクチュエータ等）が接続されている。
【００３３】
リモートターミナル装置（本機）２において、スライス通信ユニット２１は、フィールドバス５を介してＰＬＣ１またはＰＬＣの通信ユニットとの間で制御データを交信すると共に、図示しない内部シリアルバスライン及び単方向通信ラインを介して、一連のＩ／Ｏユニット２２，２２・・・のそれぞれとも交信する。リモートターミナル装置（本機）２は、ＰＬＣ１と通信するためのフィールドバス上のネットワークアドレスを有していて、ＰＬＣ１がフィールドバス上の通信マスタ局となって、そのアドレスに対してデータ通信を行う。またリモートターミナル装置（本機）２および一連のＩ／Ｏユニット２２のそれぞれは、内部シリアルバスライン上のネットワークアドレスを有していて、リモートターミナル装置（本機）２が内部シリアルバスライン上の通信マスタ局となって、一連のＩ／Ｏユニット２２のアドレスに対してデータ通信を行う。
【００３４】
一方、ＰＬＣ１においては、バックプレインに接続されたＩ／ＯユニットからＩＮデータを取り込むとともに、フィールドバスを介してリモートターミナル装置２からＩＮデータを取り込む。つまり、これがＩＮリフレッシュ処理である。そしてＰＬＣ１は、ユーザプログラムを実行してＩＮデータを論理演算する。つまりこれがユーザプログラム実行処理である。そして、演算結果であるＯＵＴデータをバックプレインに接続されたＩ／Ｏユニットまたはリモートターミナル装置２へ送る。つまりこれがＯＵＴリフレッシュ処理である。この一連の処理により、Ｉ／ＯユニットはＰＬＣ１から送られてくるＯＵＴデータを受信し、Ｉ／Ｏユニットに接続された出力機器へＯＵＴデータを出力する。また、リモートターミナル装置（本機）２またはリモートターミナル装置（増設機）３もＰＬＣ１から送られてくるＯＵＴデータを受信し、ＯＵＴデータを、リモートターミナル装置２のＩ／Ｏユニット２２の端子台から、端子に接続された外部の出力機器へと送出される。この一連の動作によってＰＬＣ１は各出力機器の動作を制御するわけである。そして再び、リモートターミナル装置（本機）２の端子台またはリモートターミナル装置（増設機）３は、端子台に接続された入力機器から取り込んだＩＮデータを、ＰＬＣ１へと送り出す。バックプレインに接続されたＩ／Ｏユニットも同様にＩＮデータをＰＬＣ１へ送り出す。ＰＬＣ１は各入力機器のＩＮデータを取り込み、ＩＮリフレッシュ処理を行う。ＰＬＣ１は、その後、ユーザプログラム実行処理、ＯＵＴリフレッシュ処理をサイクリックに実行する。なお、リモートターミナル装置（本機）２を使用する利点を説明しておく。バックプレインに接続されたＩ／Ｏユニットにも入力機器や出力機器を接続するが、このＩ／ＯユニットはＰＬＣ１に一体的に接続されているので、ＰＬＣ１の付近に存在する入力機器、出力機器しか扱えない。いっぽう、リモートターミナル装置（本機）２はフィールドバスを介してＰＬＣ１に接続されるので、ＰＬＣ１から離れた場所に存在する入力機器や出力機器を扱えるようになるので、様々な設備に対応できる利点がある。
【００３５】
尚、リモートターミナル装置（本機）２及びリモートターミナル装置（増設機）３のそれぞれにおけるユニット接続構造としては、いわゆるバックプレーンレスタイプのものが採用されている。
【００３６】
そのため、一連のＩ／Ｏユニット２２または３２のそれぞれのハウジングの中には、バスラインの一部を構成する部分バス導体が内蔵されている。この部分バス導体の両端は、ハウジングの左右側面に設けられた接触子列へと導出されている。したがって，Ｉ／Ｏユニット２２または３２を互いに隣接して連装すると、それらの接触子列同士が電気的に接続されて、一連のシリアルバスライン並びに単方向シリアル通信ラインが完成する。
【００３７】
続いて、図３にフィールドバス通信の通信方法を説明する図が示されている。ここで、フィールドバス通信とは、このＰＬＣシステムにおける上位通信を担うものであり、マスタユニット１０と、フィールドバス５によって接続されるリモートターミナル装置としての（Slice）通信ユニット２１ａ〜２１ｄとを接続するものである。同図にて示されるように、このＰＬＣシステムにおいては、１台のマスタユニット１０に対して複数台の通信ユニット２１ａ〜２１ｄが接続されている。そしてマスタユニット１０及び各通信ユニット２１ａ〜２１ｄには、それぞれのユニットを特定するためのユニットアドレスとしてＭＡＣ  ＩＤが用いられている。ここでいう、ＭＡＣ  ＩＤとは、Machine IDの略であり、各ユニットを特定するための固有の識別子である。
【００３８】
次に、本実施形態におけるマスタユニットとスライス通信ユニット２１との間における通信形態を説明する。本実施形態においては、マスタユニット１０と各スライス通信ユニット２１ａ〜２１ｄとの間における通信は、コマンド／レスポンスによる通信を行う。その通信方式として、ポーリング（Polling）方式を採用している。ポーリング方式では、１ユニット毎にコマンド／レスポンスを実行する。例えば、同図にて示されるように、マスタユニット１０はスライス通信ユニット２１ａに対してコマンド（ＯＵＴデータ）を送信し、その返信としてレスポンス（ＩＮデータ）を受け取る。スライス通信ユニット２１ａとのコマンド送信とレスポンス受信が完了してから、マスタユニット１０は次のユニットである通信ユニット２１ｂに対してのコマンド／レスポンスを実行する。同様に、通信ユニット２１ｃ及び２１ｄに対してもコマンド／レスポンスが行われる。尚、本発明は、ビットストローブ（Bitstrove）と呼ばれる、各ユニットに対して一斉同報適にＯＵＴデータの送信を行い、各スレーブユニット（この例ではスライス通信ユニット２１ａ〜２１ｄ）が個別に独自のタイミングでＩＮデータを返信するコマンド／レスポンス方式にも適応可能である。
【００３９】
通信マスタユニット１０（以下、マスタユニットと言う）の内部構成を示すハードウェア構成図が図４に示されている。同図に示されるように、マスタユニット１０は、通信物理層として機能するＣＡＮドライバ４１と、所望の通信機能を実現するための回路をＬＳＩ化してなるマスタ用ＡＳＩＣ４２と、ＣＰＵユニット２０との間で受け渡される送受信データのバッファエリアや、後述するＣＰＵ１０４の演算用ワークエリア等として機能するＲＡＭ４３と、マイクロプロセッサを主体として構成されて装置全体を統括制御するためのＣＰＵ４４と、各種の設定データが格納される不揮発性メモリ（ＥＥＰＲＯＭ）４５と、各種の動作表示等を行うためのＬＥＤ表示器４６と、各種の設定操作等に使用される設定スイッチ４７と、ＣＰＵユニット２０へ通ずる内部バスへのインタフェースとして機能する内部バスインタフェース（内部バスＩ／Ｆ）４８とを含んでいる。
【００４０】
当業者にはよく知られているように、この種のＰＬＣシステムにおいては、ＣＰＵユニット２０は、共通処理、Ｉ／Ｏリフレッシュ処理、ユーザプログラム実行処理、周辺サービス処理等を繰り返し一巡実行しており、Ｉ／Ｏリフレッシュ処理の実行の際には、バックプレーン上に装着されたローカルＩ／Ｏユニットとの間のみならず、マスタユニット１０内のＲＡＭ４３との間においても、Ｉ／Ｏリフレッシュ処理を実行する。
【００４１】
具体的には、ＣＰＵユニット２０のＩ／Ｏメモリ内のＯＵＴデータは、通信マスタユニット１０のＲＡＭ４３内のＯＵＴエリアに書き込まれ、同ＲＡＭ４３のＩＮデータは、ＣＰＵユニット２０のＩ／Ｏメモリ内のＩＮエリアに書き込まれる。
【００４２】
一方、後に詳細に説明するように、マスタユニット１０と各Ｉ／Ｏターミナル装置２との間では、ＣＰＵユニット２０のＩ／Ｏリフレッシュ動作とは非同期にフィールドバス６を介する通信が行われており、これにより各Ｉ／Ｏターミナル装置２とマスタユニット１０内のＲＡＭ１０３との間においても、一種のＩ／Ｏリフレッシュ処理が実行される。
【００４３】
具体的には、Ｉ／Ｏターミナル装置２から受信されたＩＮデータは、マスタユニット１０内のＲＡＭ１０３のＩＮエリアに書き込まれ、ＣＰＵユニット２０はＩ／Ｏリフレッシュ動作によりマスタユニット１０から取り込む。そしてＣＰＵユニット２０はＩＮデータをもとにユーザプログラムを実行し、その実行結果をＯＵＴデータとする。ＣＰＵユニット２０はＩ／Ｏリフレッシュ動作によりＯＵＴデータを通信マスタＣＰＵユニットへ送り出す。マスタユニット１０はＯＵＴデータを同ＲＡＭ１０３のＯＵＴエリアに格納する。そして通信マスタユニット１０は、Ｉ／Ｏリフレッシュとは非同期に、同ＲＡＭ１０３のＯＵＴエリアのＯＵＴデータを該当するＩ／Ｏターミナル装置２へ送信する。
【００４４】
このようにして、ＣＰＵユニット２０内のＩ／Ｏメモリと各Ｉ／Ｏターミナル装置２，２・・との間において、通信マスタユニット１０を経由してＩ／Ｏリフレッシュ処理が実行され、その結果として、リモート設置された各Ｉ／Ｏターミナル装置２，２・・・に接続されたＩ／Ｏ機器をＣＰＵユニット２０で制御することが可能となるのである。
【００４５】
次に、リモートターミナル装置における通信ユニット２１のハードウェア構成図が図５に、そして当該通信ユニット２１に接続されるＩ／Ｏユニットのハードウェア構成図が図６にそれぞれ示されている。図５にて示されるように、スライス通信ユニット２１内に格納されているフィールドバス通信用ＭＰＵ５２は通信物理層として機能するＣＡＮドライバ５１を介して上位ネットワークに接続されており、当該スライス通信ユニット２１と上位ネットワーク（ＰＬＣ等）との通信を担う。そして、このフィールドバス通信用ＭＰＵ５２は、各種の設定データが格納されるメモリ（ＤＲＡＭ）５３を介してスライス（Slice）バス通信用ＭＰＵ５４に接続されている。当該スライスバス通信用ＭＰＵ５４は、Ｉ／Ｏユニットへのスライスバスを介しての通信を制御するものであり、スライスバス通信用ＡＳＩＣ５５とスライスバスを介してＩ／Ｏユニット２２に接続される。また、図６に示されるように、Ｉ／Ｏユニット２２は、内蔵されているスライスＩ／Ｏユニット用ＭＰＵ６２にスライスバス通信用ＡＳＩＣ６１を介して接続されている。また、スライス通信用ＭＰＵ６２は、入出力回路６３にさらに接続されている。
【００４６】
そして、マスタユニット１０と各スライス通信ユニット２１との間では、マスタユニット１０を通信マスタ局、各リモートターミナル装置のスライス通信ユニット２１を通信スレーブ局とする１対Ｎのマスタ・スレーブ通信を通じて、Ｉ／Ｏデータのやり取りが行われる。ここで用いられる通信方式については先に図３を参照して説明したとおりである。
【００４７】
次に、本発明の主要部であるエラー制御について説明する。上述したように、本発明が適用されるＰＬＣシステムにおきましては、ＰＬＣとリモートターミナル装置の通信ユニットを接続する上位通信（この実施形態ではフィールドバス）と、リモートターミナル装置の通信ユニットとＩ／Ｏユニット２２とを接続する下位通信（この実施形態ではスライスバス）とに大別される。本発明においては、エラー等により、上位通信が切断され手しまった場合において、ＰＬＣからのデータ送信が停止することに伴い、リモートターミナル装置の通信ユニットにＩＤＬＥ状態というモードを設けて下位通信が切断されてしまうことを防ぐものである。
【００４８】
本実施形態におけるリモートターミナル装置の通信ユニットから各Ｉ／Ｏユニット２２に対するスライスバス通信の正常状態とＩＤＬＥ状態との一例が図７に示されている。同図には、リモートターミナル装置のスライス通信ユニット２１と、当該スライス通信ユニット２１に接続されている複数のＩ／Ｏユニット２２との間のデータ送受信を表している。ここでスライス通信ユニット２１からＩ／Ｏユニットへと送信されるフレームとしては、ＢＣＯＮフレーム７０、ＴＲＧフレーム７１、ＯＵＴフレーム７５、そしてＥＶＥ群フレーム７４等があり、Ｉ／Ｏユニット２２からスライス通信ユニット２１へと送信されるフレームとしてはＣＮフレーム７２とＩＮフレーム７３等がある。尚、ここで言うＢＣＯＮフレーム７０（Beaconフレーム）とは、通信速度同期用のフレームであり、ＴＲＧフレーム７１（Triggerフレーム）とは、Ｉ／Ｏユニット２２の存在を確認するためのＣＮフレーム７２の返信をトリガするフレームである。ＯＵＴフレームとは、ＰＬＣからのＯＵＴデータ及びＴＲＧフレーム７１とを含むものである。ＥＶＥ群フレームとは、メッセージ用のフレームである。ＣＮフレーム７２（Connectionフレーム）とは、Ｉ／Ｏユニット２２が接続されているという存在を確認するためのフレームである。また、このＣＮフレームには当該Ｉ／Ｏユニット２２を特定するユニット情報等も含まれる。ＩＮフレーム７３とは、Ｉ／Ｏユニット２２のＩＮデータフレームである。
【００４９】
同図にて示されるように、正常状態においては、上位通信も正常に接続されているため、ＰＬＣ（マスタ局）からのＯＵＴデータがスライス通信ユニット２１にて受信される。そのため、ＢＣＯＮフレーム７０に続いてＯＵＴフレーム７５が通信ユニットからＩ／Ｏユニット２２に送信され、それに対して各Ｉ／Ｏユニット２２が応答フレームであるＣＮフレーム７２並びにＩＮフレーム７３をスライス通信ユニット２１に返信し、その後ＥＶＥ群７４がスライス通信ユニット２１から各Ｉ／Ｏユニット２２に対して送信される。それに対して、ＩＤＬＥ状態においては、上位通信がエラー等により切断されているためＰＬＣからのＯＵＴフレーム７５が通信ユニットにて受信されない。そのため、ＩＤＬＥ状態においては、スライス通信ユニット２１がＢＣＯＮフレーム７０を送信した後に、ＴＲＧフレーム７１のみが各Ｉ／Ｏユニット２２に送信される。そして、そのＴＲＧフレーム７１に応答してＣＮフレーム７２がＩ／Ｏユニット２２からスライス通信ユニット２１へと返信され、さらにＩＮフレーム７３が送信される。そして、その後ＥＶＥ群７４がスライス通信ユニット２１から各Ｉ／Ｏユニット２２に対して送信される。
【００５０】
次に、図８を参照して正常通信状態と、ＩＤＬＥ状態に関連するマスタユニット１０、スライス通信ユニット２１、及びＩ／Ｏユニット２２における状態遷移を説明する。同図（ａ）にはマスタユニット１０における通常通信状態と、通信切断状態（ＴＩＭＥＯＵＴ状態）との遷移が、同図（ｂ）にはスライス通信ユニット２１における通常通信状態とＩＤＬＥ状態との遷移が、そして同図（ｃ）には、Ｉ／Ｏユニット２２における通常通信状態とＩＤＬＥ状態との遷移がそれぞれ示されている。
【００５１】
図８（ａ）にて示されるように、マスタユニット１０においてはリモートターミナル装置とＩ／Ｏリフレッシュを実行している通常通信状態と、リモートターミナル装置との通信が切れており、Ｉ／Ｏリフレッシュが停止しているＴＩＭＥＯＵＴ状態との２つの状態が存在する。それぞれの状態に遷移するための必要事項が同図に示されており、通常通信状態において、ＴＩＭＥＯＵＴ（すなわち、リモートターミナル装置が一定時間レスポンスを返さない状態）においてＴＩＭＥＯＵＴ状態となり、そのＴＩＭＥＯＵＴ状態から通常通信状態に遷移（復帰）するためにはリモートターミナル装置の加入手順が終了していることが条件となる。
【００５２】
図８（ｂ）にて示されるように、スライス通信ユニット２１においては、マスタユニット１０及びＩ／Ｏユニット２２とのＩ／Ｏリフレッシュを実行している通常通信状態と、マスタユニット１０とのＩ／Ｏリフレッシュは停止しており、Ｉ／Ｏユニット２２とのＩＮリフレッシュのみを実行しているＩＤＬＥ状態との２つの状態が存在する。それぞれの状態に遷移するための必要事項が同図に示されており、通常通信状態において、ＴＩＭＥＯＵＴ（すなわち、マスタユニットが一定時間コマンド（ＯＵＴデータ）を送ってこない状態）においてＩＤＬＥ状態となり、そのＩＤＬＥ状態から通常通信状態に遷移（復帰）するためにはマスタユニット１０からのコマンド（ＯＵＴデータ）を受信することが条件となる。ここで、マスタユニット１０からのＯＵＴデータを受信した場合、上位通信が復帰したことを意味するため、通常通信へと移行する。
【００５３】
図８（ｃ）にて示されるように、Ｉ／Ｏユニット２２においては、スライス通信ユニット２１とのＩ／Ｏリフレッシュを実行している通常通信状態と、スライス通信ユニット２１から（さらにはマスタユニット１０から）ＯＵＴフレームが送信されず、スライス通信ユニット２１とのＩＮリフレッシュのみを実行しているＩＤＬＥ状態との２つの状態が存在する。それぞれの状態に遷移するための必要事項が同図に示されており、通常通信状態において、ＴＲＧフレームを受信（すなわち、ＯＵＴフレームではなくＴＲＧフレームのみを受信）においてＩＤＬＥ状態となり、そのＩＤＬＥ状態から通常通信状態に遷移（復帰）するためにはＯＵＴフレームを受信することが条件となる。
【００５４】
続いて、マスタユニット１０並びにスライス通信ユニット２１におけるＩＤＬＥ状態への遷移に係る処理を示すフローチャートが図９及び図１０にて示されている。図９には、マスタユニット１０側における処理が示されており、図１０にはスライス通信ユニット２１側における処理が示されている。
【００５５】
図９にて示されるように、マスタユニット１０は、まずＰＬＣのＣＰＵとＩ／Ｏリフレッシュを実行する（ステップ９０１）。その後、更新されたデータを元に、ＯＵＴフレームを送信する（ステップ９０２）。ここで、一定時間内に送信されたＯＵＴフレームに対するＩ／Ｏユニット２２からのレスポンスがなければ（ステップ９０３，未受信）、何らかの通信エラーが発生したと認識し、当該ユニットとのＩ／Ｏコネクションを切断し（ステップ９０４）、コネクションが張られている全ユニットとのＩ／Ｏリフレッシュが完了しているかどうかの確認が実行される（ステップ９０５）。ここで、Ｉ／Ｏリフレッシュが完了していれば（ステップ９０５，完了）、ステップ９０１に戻り、ＣＰＵとのＩ／Ｏリフレッシュを行い処理を繰り返す。それに対して、Ｉ／Ｏリフレッシュが完了していなければ（ステップ９０５，未完了）、ステップ９０２に戻り、同じデータにてＯＵＴフレームの送信を実行して処理を繰り返す。ステップ９０３に戻り、ＯＵＴフレームに対するレスポンスがあれば（ステップ９０３，受信）、ステップ９０５のコネクションが張られている全ユニットとのＩ／Ｏリフレッシュが完了しているかの確認に移行し、上記処理を繰り返す。
【００５６】
それに対して、図１０にて示されるように、スライス通信ユニット２１側においては、先ずマスタユニット１０からＯＵＴフレームを受信したがどうかの確認が行われる（ステップ１００１）。ここで、予め定められた所定時間内にＯＵＴフレームの受信が行われない場合（ステップ１００１，未受信）、スライス通信ユニット２１はＩＤＬＥ状態へと遷移し、状態フラグを『通常』から『ＩＤＬＥ』へと変更する（ステップ１００４）。また、ＯＵＴフレームを受信した場合（ステップ１００１，受信）、レスポンスとしてＩＮデータをマスタユニットに対して送信し（ステップ１００２）、Ｉ／Ｏデータの更新を実行する（ステップ１００３）。このＩ／Ｏデータの更新は、フィールドバス通信ＭＰＵとＤＰＲＡＭとの間にて実行され、その後、ステップ１００１に戻り、次なるＯＵＴフレームの受信を待つ。
【００５７】
このように、マスタユニット１０はスライス通信ユニット２１に対して通信異常を検知した場合、当該ユニットとのコネクションを切断し、再度コネクションを張るまで当該ユニットに対してＯＵＴフレームの送信は出力しない。そして、スライス通信ユニット２１側においては、ＯＵＴフレームが所定時間内に受信しないことで通信異常を検知し、状態を通常からＩＤＬＥへと遷移させる。そして、後に詳細に説明するが、スライス通信ユニット２１側においては、マスタユニット１０との通信が切断されているＩＤＬＥ状態においても、ＩＮリフレッシュは常時行っていることにより、ＩＤＬＥ状態から通常状態に復帰した際に即座にＩＮデータをマスタユニットに送信することが可能となる。尚、ここで、上位通信であるフィールドバス通信と、下位通信であるスライスバス通信とでは非同期に通信サイクルが実行されている。
【００５８】
次に、上述のＩＤＬＥ状態へと遷移したスライス通信ユニット２１が通常通信状態へと復帰する際の処理を図１１〜１５のフローチャートを参照して説明する。
【００５９】
マスタユニット１０側における処理が図１１のフローチャートに示されている。同図にて示されるように、まず、マスタユニット１０への加入処理が実行される（ステップ１１０１）。この加入処理については後に詳細に説明するが、これはマスタユニット１０に対するリモートターミナル装置のシステムへの加入処理である。マスタユニット１０とスライス通信ユニット２１との間の通信は、上述したＴＩＭＥＯＵＴが発生するとコネクションが切断される。コネクションが切断されたユニットと再度Ｉ／Ｏリフレッシュ処理を実行するためには、コネクションを改めて設定する必要が生じる。このステップは、そのコネクションを確立するための加入処理である。ここで、当該スライス通信ユニット２１とマスタユニット１０とのコネクションが開設したら、ＣＰＵユニットとＩ／Ｏリフレッシュを実行する（ステップ１１０２）。そしてその後ＯＵＴフレームの送信を行い（ステップ１１０３）、先に図９を参照して説明した通常通信を実行する（ステップ１１０４）そして、その通常通信処理において、ＯＵＴフレーム送信後のレスポンスが所定時間内に受信されなければ当該スライス通信ユニット２１とのコネクションを切断し、マスタユニット１０への加入処理が実行されると通常通信に復帰する。
【００６０】
図１２に、上記マスタユニット１０側における加入処理の詳細を示すフローチャートが示されている。同図にて示されるように、通信異常となったスライス通信ユニット２１に対してコネクション開設依頼を送信する（ステップ１２０１）。このコネクション開設依頼に対して、スライス通信ユニット２１からレスポンスがなければ（ステップ１２０２，なし）、ステップ１２０１に戻りレスポンスが来るまでコネクション開設依頼の送信が繰り返される。ここで、対象のスライス通信ユニット２１からレスポンスがあれば（ステップ１２０２，あり）、当該レスポンスに含まれるユニット情報の読み出しが実行される（ステップ１２０３）。尚、ここで言うユニット情報には、当該ユニットがどこの会社製かを示すVendorID、ユニットの種別を示すDeviceType（例えば、DIO、AIO等）、Vendor毎に機種単位に設定する値であるProductCode、等が含まれる。ユニット情報の読み出し完了後、スライス通信ユニット２１へのコネクションの設定が行われ（ステップ１２０４）、コネクションのタイムアウト時間の設定も行われる（ステップ１２０５）。これらの処理が終了すると、当該スライス通信ユニット２１の加入処理が完了する。このとき、マスタユニット１０からスライス通信ユニット２１への通信には、先に説明したPollingやBitstrove等がある。
【００６１】
続いて、スライス通信ユニット２１におけるフィールドバス側のＩＤＬＥ状態からの復帰処理を示すフローチャートが図１３に示されている。スライス通信ユニット２１においては、マスタユニット１０との通信を実行するフィールドバス側と、Ｉ／Ｏユニットとの通信を実行するスライスバス側との処理があるため、まずここではフィールドバス側の処理から説明する。
【００６２】
図１３にて示されるように、ＩＤＬＥ状態となったスライス通信ユニット２１は、マスタユニット１０からのＯＵＴフレームを受信することで通常通信状態への復帰処理が開始する。そのため、ＯＵＴフレームを受信しなければ（ステップ１３０１，未受信）、ＩＤＬＥ状態が継続するため、ＯＵＴフレームを受信するまでＩＮデータの更新のみ実行される（ステップ１３０２）。スライス通信ユニット２１にて、マスタユニット１０からのＯＵＴフレームを受信したら（ステップ１３０１，受信）、当該ＯＵＴフレームに対するレスポンスの送信が行われる（ステップ１３０３）。ここで言うレスポンスとは、スライス通信ユニット２１が接続しているＩ／Ｏユニット２２とのＩＮリフレッシュ処理から得たＩＮデータを表している。ＩＮデータの送信後、当該スライス通信ユニット２１において後述するＩＤＬＥ復帰待機設定がなされているかどうかの確認が行われる。ここで言うＩＤＬＥ復帰待機設定とは、対象となるスライス通信ユニット２１に予め設定されているものであって、ＩＤＬＥ状態から通常通信状態へと復帰可能となってから、設定された所定時間通常通信への復帰を行わずに待機する設定のことである。このＩＤＬＥ復帰待機設定が設定されていなければ（ステップ１３０４，なし）、待機することなく直ちに通常通信状態へと遷移し、状態フラグがＩＤＬＥから通常に変更される（ステップ１３０５）。それに対して、ＩＤＬＥ復帰待機設定がされている場合（ステップ１３０４，あり）、予め設定されているＰＬＣのＩＮ処理時間が経過したかどうかの判定が行われる（ステップ１３０６）。ここで、所定時間が経過していれば（ステップ１３０６，ＹＥＳ）、所定時間を待機した後に通常通信状態へと遷移し、状態フラグがＩＤＬＥから通常に変更される（ステップ１３０５）。また、所定時間が経過していなければ（ステップ１３０６，ＮＯ）、ＩＮデータの更新が実行され（ステップ１３０７）、ステップ１３０６に戻り、所定時間の経過を待ち、以後の処理を繰り返す。
【００６３】
ＩＤＬＥ状態から通常通信状態への復帰手順としては、マスタユニット１０からのＯＵＴフレームをスライス通信ユニット２１にて受信し、そのＯＵＴフレームに対してＩＮデータをレスポンスとして送信することで、通常通信状態へと移行するのであるが、ここで、本発明の実施形態では上述したようにさらにＩＤＬＥ状態から通常通信状態への復帰を所定時間待機させることが可能とされている。その理由として、スライス通信ユニット２１がＩＤＬＥ状態になってからは通常通信状態に復帰するまでマスタユニット１０とのＩ／Ｏリフレッシュは実行されておらず、ステップ１３０１にて受信するＯＵＴデータはエラーが生じてＩＤＬＥ状態に遷移する前に得られたＩＮデータに基づいて出力されているため、ＩＤＬＥ状態から復帰した最新のＩＮデータに基づく演算結果からＯＵＴデータを出力することが望ましい。そこで、スライス通信ユニット２１側にてＯＵＴフレームを受信した後、最新のＩＮデータをレスポンスとして返信し、その後、通常通信への復帰は所定時間待機させて新しいＩＮデータに基づくＯＵＴフレームが送信されてくるのを待つために待機期間を設定することが可能とされている。尚、このような機能を実現するためにも、マスタユニット１０との通信が切断された状態においても、スライス通信ユニット２１は常にＩ／ＯユニットとのＩＮリフレッシュを実行し、ＩＮデータを常に更新しておくことが必要となる。
【００６４】
続いて、スライス通信ユニット２１におけるＩ／Ｏユニット２２との通信を実行するスライスバス側のＩＤＬＥ状態からの復帰処理を示すフローチャートが図１４に示されている。同図にて示されるように、スライスバス側のスライス通信ユニット２１の処理は、Ｉ／Ｏデータの更新から始まる（ステップ１４０１）。このＩ／Ｏデータの更新とは、スライスバス通信用ＭＰＵ５４と、ＤＰＲＡＭ５３との間にて実行される。Ｉ／Ｏデータの更新後、スライス通信ユニット２１の状態フラグが確認される（ステップ１４０２）。ここで、状態フラグが『ＩＤＬＥ』であれば（ステップ１４０２，ＩＤＬＥ）、ＯＵＴフレームはマスタユニット１０からのＯＵＴフレームは受信していないため、ＴＲＧフレームのみ当該スライス通信ユニット２１に接続されているＩ／Ｏユニット２２に対して送信される（ステップ１４０５）。また、状態フラグが『通常』である場合（ステップ１４０２，通常）、当該スライス通信ユニット２１に接続されているＩ／Ｏユニット２２に対してＯＵＴフレームの送信が実行される（ステップ１４０３）。ここで、スライス通信ユニット２１から送信されるフレームがＴＲＧフレームであっても、ＯＵＴフレームであっても、接続されているＩ／Ｏユニット２２からのＩＮデータの受信が行われる（ステップ１４０４）。尚、ここで言うＯＵＴフレームとは、先に説明したように、ＴＲＧフレームとマスタユニットからのＯＵＴデータとを含むものである。
【００６５】
図１５に、Ｉ／Ｏユニット２２側におけるＩＤＬＥ状態からの復帰処理が示されている。同図にて示されるように、先ずＩ／Ｏユニット２２においてはスライス通信ユニット２１からフレームを受信する（ステップ１５０１）。ここで、図１４にて説明したように、スライス通信ユニット２１の状態フラグによって送信されるフレームがＴＲＧフレームとＯＵＴフレームとの２種類存在する。図１５に戻り、受信したフレームがＯＵＴフレームである場合（ステップ１５０１，ＯＵＴフレーム）、マスタユニット１０との通信が復帰したことを表し、通常通信へと遷移する。ここで言う通常通信とは、当該ＯＵＴフレームに含まれるＯＵＴデータを出力機器へと出力し（ステップ１５０３）、入力機器からのＩＮデータに基づいて返信フレームを作成し（ステップ１５０６）、返信フレームの送信を実行することである（ステップ１５０７）。ステップ１５０１において、受信したフレームがＴＲＧフレームであった場合（ステップ１５０１，ＴＲＧフレーム）、ＯＵＴデータのクリアか保持かの設定が参照される。この設定はＩＤＬＥ状態設定であり、予めＩ／Ｏユニットに対してＩＤＬＥ状態になった場合を想定してユーザが設定するものである。このＩＤＬＥ状態設定として『保持』が設定されていれば（ステップ１５０２，保持）、最後に受信したＯＵＴフレームに基づき、現在出力を保持し、保持データを出力機器へと出力する（ステップ１５０４）。ここで、現在出力を保持するとは、換言すれば出力ラッチに対して何もしないことである。最後に受信した最新のＯＵＴデータをそのまま出力機器へと出力し、その後入力機器からのＩＮデータに基づいて返信フレームを作成し（ステップ１５０６）、返信フレームの送信を実行する。また、ＩＤＬＥ状態設定が『クリア』であれば（ステップ１５０２，クリア）、ＯＦＦデータを出力機器へ出力し（ステップ１５０５）、その後入力機器からのＩＮデータに基づいて返信フレームを作成し（ステップ１５０６）、返信フレームの送信を実行する。尚、ここで言うＯＦＦデータとは、出力ラッチを０にクリアすることを意味している。
【００６６】
このように、本実施形態においては、フィールドバスの状態（スライス通信ユニット２１の状態フラグが通常かＩＤＬＥか）によって、スライス通信ユニット２１がＩ／Ｏユニット２２に送信するフレームの種別が異なる（ＯＵＴフレームかＴＲＧフレームか）。そして、Ｉ／Ｏユニット２２側においては、受信するフレームの種別と、設定データに基づいて、出力機器に対してＯＵＴデータ、保持データ、またはＯＦＦデータのいずれかの出力を実行する。ＩＮデータに関しては、スライス通信ユニットの状態に関わらず行い続ける。
【００６７】
尚、上記の実施形態においては、リモートターミナル装置のスライス通信ユニット２１は、上位通信が切断された場合に遷移するＩＤＬＥ状態において、当該スライス通信ユニット２１に接続される複数台のＩ／Ｏユニット２２とのＩＮリフレッシュは継続して実行していたが、このＩＤＬＥ状態においては、ＩＮリフレッシュは実行しない場合も容易に実現可能である。そのような場合、ＩＤＬＥ状態においては、スライス通信ユニットは各Ｉ／Ｏユニット２２に対してＢＣＯＮフレームのみ送信し、その応答としてＩ／Ｏユニット２２はＣＮフレームのみを返信する。このような態様とすることで、スライス通信ユニット２１はＩＤＬＥ状態においてＩ／Ｏユニット２２の存在確認のみを実行することとなる。そして、Ｉ／Ｏユニット２２の存在確認は常に実行されているため、上位通信がエラーから復帰する際には、容易に通常通信に復帰することが可能となる。
【産業上の利用可能性】
【００６８】
以上の説明で明らかなように、本発明によれば、マスタユニット１０とスライス通信ユニット２１との間の上位通信と、スライス通信ユニット２１とＩ／Ｏユニット１０との間の下位通信とを有するＰＬＣシステムにおいて、上位通信が切断されても下位通信は切断されずにＩＤＬＥ状態となり、上位通信が通常通信に復帰した場合、直ちに通常通信を再開させることが可能となり、システムのダウンタイムを削減することが可能となる。
【図面の簡単な説明】
【００６９】
【図１】本発明が適用されるＰＬＣシステムの全体構成図である。
【図２】本発明が適用されるリモートターミナル装置を説明するための図である。
【図３】上位通信の通信方式を説明するための図である。
【図４】マスタユニットのハードウェア構成図である。
【図５】スライス通信ユニットのハードウェア構成図である。
【図６】Ｉ／Ｏユニットのハードウェア構成図である。
【図７】スライスバスの通信状態を説明するための図である。
【図８】通常通信状態とＩＤＬＥ状態との状態遷移を説明するための図である。
【図９】マスタユニット側におけるＴＩＭＥＯＵＴ状態への遷移を示すフローチャートである。
【図１０】スライス通信ユニット側におけるＩＤＬＥ状態への遷移を示すフローチャートである。
【図１１】マスタユニット側におけるＴＩＭＥＯＵＴ状態からの復帰処理を示すフローチャートである。
【図１２】スライス通信ユニットのフィールドバス側におけるＩＤＬＥ状態からの復帰処理を示すフローチャートである。
【図１３】スライス通信ユニットのスライスバス側におけるＩＤＬＥ状態からの復帰処理を示すフローチャートである。
【図１４】Ｉ／Ｏユニットにおける処理を示すフローチャートである。
【図１５】マスタユニットにおけるスライス通信ユニットの加入処理の詳細を示すフローチャートである。
【図１６】従来のＰＬＣシステムにおける通信ユニットとＩ／Ｏユニットを示すブロック図である。
【符号の説明】
【００７０】
１    ＰＬＣ
２    リモートターミナル装置
３    リモートターミナル装置
４    ＰＣ
５    フィールドバス
６    スライスバス
７    ＤＩＮレール
１０    マスタユニット
１１    中継局
２０    ＣＰＵユニット
２１    スライス通信ユニット
２２    Ｉ／Ｏユニット
２３    ＥＮＤユニット
４１    ＣＡＮドライバ
４２    マスタ用ＡＳＩＣ
４３    ＲＡＭ
４４    ＣＰＵ
４５    ＥＥＰＲＯＭ
４６    ＬＥＤ表示器
４７    設定ＳＷ
４８    内部バスＩ／Ｆ
５１    ＣＡＮドライバ
５２    フィールドバス通信用ＭＰＵ
５３    ＤＲＡＭ
５４    Sliceバス通信用ＭＰＵ
５５    Sliceバス通信用ＡＳＩＣ
６１    Sliceバス通信用ＡＳＩＣ
６２    SliceＩ／Ｏユニット用ＭＰＵ
６３    入出力回路
【図１】
0004458281.tif 000002
【図２】
0004458281.tif 000003
【図３】
0004458281.tif 000004
【図４】
0004458281.tif 000005
【図５】
0004458281.tif 000006
【図６】
0004458281.tif 000007
【図７】
0004458281.tif 000008
【図８】
0004458281.tif 000009
【図９】
0004458281.tif 000010
【図１０】
0004458281.tif 000011
【図１１】
0004458281.tif 000012
【図１２】
0004458281.tif 000013
【図１３】
0004458281.tif 000014
【図１４】
0004458281.tif 000015
【図１５】
0004458281.tif 000016
【図１６】
0004458281.tif 000017