(57)【要約】      （修正有）【課題】安全ＰＬＣの演算プログラムを操作することなく、安全リモートＩ／Ｏターミナルの側から任意の出力データを出力させることができると共に、ハードウェアの増設に伴うコストアップを生ずることがない。【解決手段】出力機能設定テーブルの各外部出力端子の設定内容を参照し、その設定内容が通信由来出力データを出力すべきものであるときには、通信由来出力データ用の出力データ記憶手段に格納された該当する外部出力端子の通信由来出力データをローカル向け出力データ用の出力データ記憶手段の該当する外部出力端子の格納箇所に格納する一方、内部由来出力データを出力すべきものであるときには、内部由来出力データ用の出力データ記憶手段に格納された該当する外部出力端子の内部由来出力データをローカル向け出力データ用の出力データ記憶手段の該当する外部出力端子の格納箇所に格納する。【選択図】図４
2008310534.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して安全ＰＬＣと通信するための通信回路と、
それぞれ出力機器が接続される１又は２以上の外部出力端子と、
各外部出力端子のそれぞれごとに設けられ、その外部出力端子に接続される出力機器に対して出力信号を送出する出力回路と、
各出力回路のそれぞれに送出されるべき出力データを格納するローカル向け出力データ用の出力データ記憶手段と、
通信回路を介して安全ＰＬＣから通信回路を介して受信される各出力端子ごとの出力データを格納する通信由来出力データ用の出力データ記憶手段と、
自身の内部で生成された各出力端子ごとの又は各出力端子共通の出力データを格納する内部由来出力データ用の出力データ記憶手段と、
各外部出力端子のそれぞれごとに、その外部出力端子の出力機能を設定してなる出力機能設定テーブルを書換可能に格納する出力機能設定テーブル記憶手段と、
出力機能設定テーブル記憶手段に格納される出力機能設定テーブルの各外部出力端子の設定内容を参照し、その設定内容が通信由来出力データを出力すべき出力機能であるときには、通信由来出力データ用の出力データ記憶手段に格納された該当する外部出力端子の通信由来出力データをローカル向け出力データ用の出力データ記憶手段の該当する外部出力端子の格納箇所に格納する一方、その設定内容が内部由来出力データを出力すべき出力機能であるときには、内部由来出力データ用の出力データ記憶手段に格納された該当する外部出力端子の内部由来出力データをローカル向け出力データ用の出力データ記憶手段の該当する外部出力端子の格納箇所に格納するローカル出力切換手段と、
ローカル向け出力データ用の出力データ記憶手段に格納された各出力データを該当する外部出力端子の出力回路のそれぞれへと送出する出力リフレッシュ手段と、を具備することを特徴とする安全リモートＩ／Ｏターミナル。
【請求項２】
前記内部由来出力データが、自身の内部で任意にプログラムされたロジック演算の実行結果として得られる各出力端子ごとの出力データである、ことを特徴とする請求項１に記載の安全リモートＩ／Ｏターミナル。
【請求項３】
前記内部由来出力データが、自身の内部に固定的に組み込まれた所定処理にて生成される各出力端子に共通な補助出力データである、ことを特徴とする請求項１に記載の安全リモートＩ／Ｏターミナル。
【請求項４】
前記補助出力データが、任意の出力端子の同値出力データである、ことを特徴とする請求項３に記載の安全リモートＩ／Ｏターミナル。
【請求項５】
前記補助出力データが、任意の出力端子の反転値出力データである、ことを特徴とする請求項３に記載の安全リモートＩ／Ｏターミナル。
【請求項６】
前記補助出力データが、リセット要求のためにランプを点滅させるための出力データである、ことを特徴とする請求項３に記載の安全リモートＩ／Ｏターミナル。
【請求項７】
前記補助出力データが、当該ターミナルが運転中であるか否かを示す動作モードフラグに相当する出力データである、ことを特徴とする請求項３に記載の安全リモートＩ／Ｏターミナル。
【請求項８】
前記補助出力データが、当該ターミナルが正常状態であるか否かを示す状態フラグに相当する出力データである、ことを特徴とする請求項３に記載の安全リモートＩ／Ｏターミナル。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークを介して安全プログラマブルコントローラ（以下、安全ＰＬＣという）に接続される安全リモートＩ／Ｏターミナルに関する。
【背景技術】
【０００２】
安全ＰＬＣは、一般的なＰＬＣに類似するロジック演算機能、入出力制御機能に加えて、安全面の自己診断機能を内蔵することにより、その制御において高度な安全性及び信頼性を確保したものであり、自己診断結果による異常を検出した場合には、自己の制御が危険に繋がらないように、強制的に安全な制御を行うような機能（フェールセーフ機能）を備えている。
【０００３】
ここに言う安全は、より具体的には、規格化されている安全基準を含む意味である。安全規格には、例えばＩＥＣ６１５０８やＥＮ規格などがある。ＩＥＣ６１５０８（プログラム可能な電子システムの機能安全に関する国際電気標準委員会）では、時間当たりの危険故障確率を（失敗確率：Ｐｒｏｂａｂｉｌｉｔｙ  Ｏｆ  Ｆａｉｌｕｒｅ  ｐｅｒ  Ｈｏｕｒ）を定義し、この確率によってＳＩＬのレベルを（Ｓａｆｅｔｙ  Ｉｎｔｅｇｒｉｔｙ  Ｌｅｖｅｌ）を４段階に分類している。また、ＥＮ規格では、機械のリスクの大きさを評価し、リスク低減策を講じるように義務づけられていて、ＥＮ９５４−１では５つの安全カテゴリにて規定されている。この明細書で言う安全ＰＬＣ、安全リモートＩ／Ｏターミナルなどは、このような安全基準の何れかに対応したものである。
【０００４】
このような安全ＰＬＣシステムの基本構成図が図１６に示されている。同図に示されるように、この安全ＰＬＣシステムは、安全ＰＬＣ１と安全リモートＩ／Ｏターミナル２とをネットワーク４で結んで構成される。安全リモートＩ／Ｏターミナル２には、入力端子（ＩＮ０〜ＩＮｎ）と出力端子（ＯＵＴ０〜ＯＵＴｎ）が設けられている。これらの入出力端子には、入力機器５と出力機器６とが接続される。ここで、当業者には良く知られているように、入力機器５としては、安全非常停止スイッチ、安全ライトカーテン、安全リミットスイッチ、安全ドアスイッチなどを挙げることができ、出力機器６としては、安全リレー、安全コンタクタなどを挙げることができる。
【０００５】
入力機器５のＯＮ／ＯＦＦ状態は、入力データとして安全ＰＬＣ１の側へと送信される。安全ＰＬＣ１の側では、受信した入力データに基づいて予めプログラムされた所定のロジック演算を実行することにより、出力データを生成する。こうして得られた出力データは、安全リモートＩ／Ｏターミナルへと送信される。安全リモートＩ／Ｏターミナル２の側では、そのような出力データを受信すると共に、こうして受信された出力データに基づいて出力端子（ＯＵＴ０〜ＯＵＴｎ）の状態を制御する。このような一連のデータの流れを通じて、出力端子（ＯＵＴ０〜ＯＵＴｎ）の状態を制御するのである。
【０００６】
すなわち、安全リモートＩ／Ｏターミナルの出力端子（ＯＵＴ０〜ＯＵＴｎ）のＯＮ／ＯＦＦ状態は、安全ＰＬＣ１から送信される出力データの内容によって一義的に決定される。そのため、安全リモートＩ／Ｏターミナル２の出力端子（ＯＵＴ０〜ＯＵＴｎ）の状態を制御するには、常に、安全ＰＬＣ１の側で何らかの演算プログラムを作成する必要があり、その分だけ、安全ＰＬＣ１の側の演算プログラムが複雑にならざるを得ないという問題点があった（特許文献１参照）。
【特許文献１】特開２００６−３０４４６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述の問題点を解決するためには、安全リモートＩ／Ｏターミナル２の側においても、任意に演算プログラムを組み込むと共に、こうして組み込まれた演算プログラムに基づいて生成された出力データを、安全リモートＩ／Ｏターミナル２の出力端子（ＯＵＴ０〜ＯＵＴｎ）から出力することが考えられる。
【０００８】
しかし、このように安全リモートＩ／Ｏターミナル２の側にも演算プログラムを組み込んで、独自に出力データの生成を可能とすると、こうして得られた出力データをどのようにして出力端子（ＯＵＴ０〜ＯＵＴｎ）に出力させるべきかが問題となる。
【０００９】
すなわち、安全リモートＩ／Ｏターミナル２の側の出力端子（ＯＵＴ０〜ＯＵＴｎ）は、安全ＰＬＣ１の側に組み込まれた演算プログラムと一義的に紐付けされているため、安全リモートＩ／Ｏターミナル２の側で生成された出力データを不用意に自己の出力端子（ＯＵＴ０〜ＯＵＴｎ）に出力すれば、安全ＰＬＣ１の側と安全リモートＩ／Ｏターミナル２との側で出力データの競合が生じてしまう。
【００１０】
このような競合を避けるために、ターミナル側専用の出力端子を増設すれば、その分だけ安全リモートＩ／Ｏターミナル製品のコストアップに繋がると共に、出力端子選択の自由度を損ねる結果ともなる。
【００１１】
この発明は、このような従来の問題点に着目してなされたものであり、その目的とするところは、安全ＰＬＣの演算プログラムを操作することなく、安全リモートＩ／Ｏターミナルの側から任意の出力データを出力させることができると共に、同一の出力端子を両者間で出力データの競合が生ずることなく、安全ＰＬＣの側と安全リモートＩ／Ｏターミナルとの間で共用することにより、ハードウェアの増設に伴うコストアップを生ずることがないようにした新規な安全リモートＩ／Ｏターミナルを提供することにある。
【００１２】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるはずである。
【課題を解決するための手段】
【００１３】
上述の技術的な課題は、以下の構成を有する安全リモートＩ／Ｏターミナルによって解決することができる。
【００１４】
すなわち、この安全リモートＩ／Ｏターミナルは、ネットワークを介して安全ＰＬＣと通信するための通信回路と、それぞれ出力機器が接続される１又は２以上の外部出力端子と、各外部出力端子のそれぞれごとに設けられ、その外部出力端子に接続される出力機器に対して出力信号を送出する出力回路と、各出力回路のそれぞれに送出されるべき出力データを格納するローカル向け出力データ用の出力データ記憶手段と、通信回路を介して安全ＰＬＣから受信される各出力端子ごとの出力データを格納する通信由来出力データ用の出力データ記憶手段と、自身の内部で生成された各出力端子ごとの又は各出力端子共通の出力データを格納する内部由来出力データ用の出力データ記憶手段と、各外部出力端子のそれぞれごとに、その外部出力端子の出力機能を設定してなる出力機能設定テーブルを書換可能に格納する出力機能設定テーブル記憶手段と、出力機能設定テーブル記憶手段に格納される出力機能設定テーブルの各外部出力端子の設定内容を参照し、その設定内容が通信由来出力データを出力すべき出力機能であるときには、通信由来出力データ用の出力データ記憶手段に格納された該当する外部出力端子の通信由来出力データをローカル向け出力データ用の出力データ記憶手段の該当する外部出力端子の格納箇所に格納する一方、その設定内容が内部由来出力データを出力すべき出力機能であるときには、内部由来出力データ用の出力データ記憶手段に格納された該当する外部出力端子の内部由来出力データをローカル向け出力データ用の出力データ記憶手段の該当する外部出力端子の格納箇所に格納するローカル出力切換手段と、ローカル向け出力データ用の出力データ記憶手段に格納された各出力データを該当する外部出力端子の出力回路のそれぞれへと送出する出力リフレッシュ手段と、を具備している。
【００１５】
このような構成によれば、通信回路を介して安全ＰＬＣから受信される各出力端子ごとの出力データは、通信由来出力用の出力データ記憶手段に、また自身の内部で生成された各出力端子ごとの又は各出力端子共通の出力データは内部由来出力データ用の出力データ記憶手段に格納されるものの、それらの出力データは、ローカル出力切換手段の作用によってローカル向け出力データ用の出力データ記憶手段に格納されない限り、出力リフレッシュ手段を介して該当する外部出力端子へは送出されないこととなる一方、ローカル向け出力データ用の出力データ記憶手段に対してどの出力データを格納すべきかは、各外部出力端子ごとの出力機能設定テーブルの内容によって決まるため、この出力機能設定テーブルの内容を所望の制御仕様に合わせて適宜に設定することによって、一連の外部出力端子を通信由来出力データ用と内部由来出力データ用とに使い分けることができる。そのため、同一の出力端子を安全ＰＬＣの側と安全リモートＩ／Ｏターミナルの側とで任意に共用できることから、端子台の増設などによるコストアップも回避することができる。
【００１６】
ここで、前記内部由来出力データとしては、様々なものを任意に採用することができる。例えば、内部由来出力データとして、自身の内部で任意にプログラムされたロジック演算の実行結果として得られる各出力端子ごとの出力データを採用すれば、安全ＰＬＣ側の演算プログラムを操作せずとも、任意のロジック演算の実行結果として得られる出力データを、自身の任意の出力端子から出力させることができる。このため、高速応答性の必要から、通信を介することが不適切であるようなアプリケーションについては、これを内部ロジック演算で実行させることによって、安全品質を向上させることができる。
【００１７】
また、内部由来出力データとして、自身の内部に固定的に組み込まれた所定処理にて生成される各出力端子に共通な補助出力データを採用すれば、特別な演算プログラムをユーザが組むことなく、単に補助出力データを指定ないし選択することだけで、任意の外部出力端子から所望の補助出力データを出力させることができる。
【００１８】
このような補助出力データとしては様々なデータを採用することができる。例えば、このような補助出力データとして任意の出力端子の同値出力データを採用すれば、外部出力端子に接続されたコンタクタのＯＮ／ＯＦＦ状態を報知ランプに表示させるようなアプリケーションに使用することができる。また、補助出力データとして任意の出力端子の反転値出力データを採用すれば、電磁ロックセーフティドアスイッチのロック解除信号を提供するアプリケーションに使用することができる。また、補助出力データとして、リセット要求のためにランプを点滅させるための出力データを採用すれば、安全非常停止スイッチ作動後の復帰のためのアプリケーションに使用することができる。また、補助出力データとして、当該ターミナルが運転中であるか否かを示す動作モードフラグに相当する出力データを採用すれば、従来同様な出力のために必要とされた、安全ＰＬＣ側のプログラムが不要となる。さらに、補助出力データとして、当該ターミナルが正常状態であるか否かを示す状態フラグに相当する出力データを採用すれば、このような出力データをロボットに入力することによって、ロボット側はこの信号がＯＮの時に運転、ＯＦＦの時に停止に移行するようなアプリケーションを構築することができる。
【発明の効果】
【００１９】
本発明によれば、安全ＰＬＣ側から到来する通信由来出力データと競合することなく、自身の任意の外部出力端子に対して、自身の内部で生成された内部由来出力データを出力させることができるため、端子台増設などのハードウェア改変によるコストアップを来すことなく、この種の安全リモートＩ／Ｏターミナルの使い勝手を格段に向上させることができる。
【発明を実施するための最良の形態】
【００２０】
以下に、この発明に係る安全リモートＩ／Ｏターミナルの好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【００２１】
本発明が適用された安全ＰＬＣシステムの概略構成図が図１に示されている。同図に示されるように、この安全ＰＬＣシステムは、安全ＰＬＣ１と、安全リモートＩ／Ｏターミナル２と、ノート型パソコンに所定のツールソフトを組み込むことによって構成されたプログラム開発支援装置３とをネットワーク４で結んで構成されている。
【００２２】
そして、先に説明したように、安全ＰＬＣ１には、入力機器５と出力機器６とが接続されると共に、安全リモートＩ／Ｏターミナル２にも入力機器５と出力機器６とが接続されている。これらの入力機器としては、安全非常停止スイッチ、安全ライトカーテン、安全リミットスイッチ、安全ドアスイッチなどを挙げることができる。また、出力機器６としては、安全リレー、安全コンタクタなどを挙げることができる。
【００２３】
次に、安全リモートＩ／Ｏターミナル２の電気的ハードウェア構成を示すブロック図が図２に示されている。同図に示されるように、この安全リモートＩ／Ｏターミナル２は、ネットワーク４を介して安全ＰＬＣ１（図１参照）と通信するための通信回路２０４と、それぞれ入力機器５が接続される１又は２以上の外部入力端子（ＩＮ０〜ＩＮｎ）と、それぞれ出力機器６が接続される１又は２以上の外部出力端子（ＯＵＴ０〜ＯＵＴｎ）と、各外部入力端子のそれぞれごとに設けられ、その外部入力端子に接続される入力機器５からの入力信号を入力するための入力回路２０２と、各外部出力端子のそれぞれごとに設けられ、その外部出力端子に接続される出力機器６に対して出力信号を送出する出力回路２０３を有している。
【００２４】
なお、表示回路２０５は当該ターミナルの動作状態を表示するランプや数値表示器などで構成されており、設定回路２０６は当該ターミナルの通信に必要なノードアドレス設定などに使用されるＤＩＰスイッチなどを含んで構成される。
【００２５】
ＣＰＵ２０１は、当該ターミナルの全体を統括制御するものであって、マイクロプロセッサ（ＭＰＵ）２０１ａ、ＲＯＭ２０１ｂ、及びＲＡＭ２０１ｃを含んで構成される。ＲＯＭ２０１ｂには、当該ターミナルとしての機能を実現するための各種システムプログラムの他に、ユーザの側で任意にプログラムされて組み込まれた各種のロジック演算プログラムや、後述する各種の補助出力データを生成するための固定プログラムなどが格納されている。このＲＯＭ２０１ｂは、その一部がフラッシュメモリなどの不揮発性書換え可能な記録媒体で構成されており、その内部には、後述する出力機能設定テーブル、ユーザにより任意に作成されたロジック演算プログラムの他、ユーザにより書換え可能な任意のデータが格納されている。また、ＲＡＭ２０１ｃは、マイクロプロセッサ（ＭＰＵ）２０１ａが、ＲＯＭ２０１ｂ内の各種のプログラムを実行する際のワークエリアなどとして使用される。
【００２６】
次に、各出力端子（ＯＵＴ０〜ＯＵＴｎ）についての出力機能設定態様の説明図が図３に示されている。同図に示されるように、先に説明したＲＯＭ２０１ｂ内には、第１記憶領域（Ｍ１）が設けられており、この第１記憶領域（Ｍ１）には、出力機能設定テーブルＴＢが格納される。この出力機能設定テーブルＴＢは、各外部出力端子（ＯＵＴ０〜ＯＵＴｎ）のそれぞれごとに、その外部出力端子の出力機能を設定してなるものである。
【００２７】
ここで、出力機能としては、同図に表記されるように、安全ＰＬＣからの出力データ（通信由来出力データ）、ロジック演算（自身の内部で任意にプログラムされたロジック演算の実行結果として得られる各出力端子ごとの出力データ）、補助出力（自身の内部に固定的に組み込まれた補助出力機能の選択処理で生成される出力データ）を挙げることができる。
【００２８】
後に詳細に説明するように、この補助出力データとしては、任意の出力端子の同値出力データ、任意の出力端子の反転値出力データ、リセット要求のためにランプを点滅させるための出力データ、当該ターミナルが運転中であるか否かを示す動作モードフラグに相当する出力データ、当該ターミナルが正常状態であるか否かを示す状態フラグに相当する出力データが含まれている。
【００２９】
次に、ＲＡＭ２０１ｃの所定エリアに展開される第２〜第５記憶領域の構成を示すメモリマップが図４に示されている。同図に示されるように、ＲＡＭ２０１ｃの所定エリアには、第２記憶領域（Ｍ２）、第３記憶領域（Ｍ３）、第４記憶領域（Ｍ４）、及び第５記憶領域（Ｍ５）が設けられている。
【００３０】
第２記憶領域（Ｍ２）は、各出力回路２０３のそれぞれに送出されるべき出力データを格納するローカル向け出力データ用の出力データ記憶手段として機能するものである。後述するように、この第２記憶領域（Ｍ２）に格納される出力データは、出力リフレッシュ処理の実行によって、該当する外部出力端子の出力回路のそれぞれへと送出される。
【００３１】
第３記憶領域（Ｍ３）は、通信回路２０４を介して安全ＰＬＣ１から受信される各出力端子（ＯＵＴ０〜ＯＵＴｎ）ごとの出力データを格納する通信由来出力データ用の出力データ記憶手段として機能するものである。
【００３２】
これに対して、第４記憶領域（Ｍ４）及び第５記憶領域（Ｍ５）は、当該安全リモートＩ／Ｏターミナル自身の内部で生成された各出力端子（ＯＵＴ０〜ＯＵＴｎ）ごとの又は全ての出力端子（ＯＵＴ０〜ＯＵＴｎ）共通の出力データを格納する内部由来出力データ用の出力データ記憶手段として機能するものである。
【００３３】
そして、第４記憶領域（Ｍ４）には、当該安全リモートＩ／Ｏターミナル自身の内部で任意にプログラムされたロジック演算の実行結果として得られる各出力端子（ＯＵＴ０〜ＯＵＴｎ）ごとの出力データを格納する内部ロジック演算由来の出力データ記憶手段として機能する。
【００３４】
また、第５記憶領域（Ｍ５）は、当該安全リモートＩ／Ｏターミナル自身の内部に固定的に組み込まれた補助出力機能の選択処理にて生成される全出力端子（ＯＵＴ０〜ＯＵＴｎ）に共通な補助出力データを格納するための補助出力演算由来の出力データ記憶手段として機能する。ここで、補助出力データとしては、任意の出力端子の同値出力データ、任意の出力端子の反転値出力データ、リセット要求のためにランプを点滅させるための出力データ、当該ターミナルが運転中であるか否かを示す動作モードフラグに相当する出力データ、当該ターミナルが正常状態であるか否かを示す状態フラグに相当する出力データが含まれている。
【００３５】
次に、安全リモートＩ／Ｏターミナルの処理を示すゼネラルフローチャートが図５に示されている。同図に示されるように、電源ＯＮにより処理が開始されると、まず動作モード制御処理（ステップ１０１）が実行されて、予め用意された複数の動作モードのそれぞれへの遷移可否を決定するための動作モード遷移処理が実行される。
【００３６】
なお、図示の例では、動作モードとしてＲＵＮモードが選択された場合を中心に記述しているが、他のモードが選択された場合には、それぞれそのモードに対応する処理が実行される。すなわち、動作モード制御処理（ステップ１０１）内の集団には、そのモードが何れのモードであるかによって、各モードの処理への移行を行う分岐が存在するが、図ではこれは省略されている。
【００３７】
続いて、Ｉ／Ｏリフレッシュ処理（ステップ１０２）が実行される。このＩ／Ｏリフレッシュ処理においては、ローカル入出力処理及びローカル入出力端子の診断処理が実行される。このローカル入出力処理とは、予め用意されたローカル入力用の記憶領域（図示せず）及びローカル出力用の記憶領域、すなわちこの例では第２記憶領域（Ｍ２）と、入力機器５及び出力機器６との相互間において、データの交換を行うことによって、最新の外部入力の状態をローカル入力用の記憶領域に取り込むと共に、最新のローカル出力を該当する出力回路６を介して外部出力端子へと送出するのである。
【００３８】
ローカル入出力端子の診断処理においては、この種の安全リモートＩ／Ｏターミナルに組み込まれた入出力新段階路のそれぞれを駆動することによって、入力機器５及び出力機器６のそれぞれに接点の焼き付きや導通不良などの故障がないかといった診断処理を実行する。
【００３９】
続く通信処理（ステップ１０３）においては、通信回路２０４を介して安全ＰＬＣ１と交信することによって、第２記憶領域（Ｍ２）に格納されたローカル出力データを安全ＰＬＣ１へと送信すると共に、安全ＰＬＣ１から送られてくる出力データを受信して、これを第３記憶領域（Ｍ３）に格納する。従前の安全リモートＩ／Ｏターミナルの場合、こうして受信された安全ＰＬＣからの出力データは、先ほど説明したＩ／Ｏリフレッシュ処理（ステップ１０２）によって直ちに該当する外部出力端子へと送出されるのであるが、後述するように、本発明の場合には、こうして安全ＰＬＣから受信された出力データは、必ずしも外部出力端子へ送出されるとは限らない。
【００４０】
続くロジック演算処理（ステップ１０４）においては、ロジック演算処理、同値データ、反転値データの作成・更新処理、リセット要求の作成・更新処理、ローカル出力データの作成処理が実行される。
【００４１】
ロジック演算処理においては、予めユーザにより任意作成されかつ当該リモートＩ／Ｏターミナル内に格納されたロジック演算プログラムを実行すると共に、その実行結果として得られる各出力端子（ＯＵＴ０〜ＯＵＴｎ）ごとの出力データであるロジック演算出力データを生成すると共に、これを第４記憶領域（Ｍ４）の該当する外部出力端子（ＯＵＴ０〜ＯＵＴｎ）の記憶箇所に格納する。こうして第４記憶領域（Ｍ４）に格納されたロジック演算実行結果に対応する出力データは、必要に応じて、ローカル出力データ用の第２の記憶領域（Ｍ２）へと転送され、最終的に該当する外部出力端子へと送出される。
【００４２】
また、同値データ、反転値データの作成・更新処理においては、後述するように出力機能設定テーブルＴＢの内容に基づいて、該当する出力端子に関する同値データ、反転値データを作成・更新する。
【００４３】
また、リセット要求の作成・更新処理においては、後述する処理によって、リセット要求のためにランプを点滅させるための出力データを作成・更新する。
【００４４】
さらに、ローカル出力データの作成処理においては、後に詳細に説明するように、第３記憶領域（Ｍ３）、第４記憶領域（Ｍ４）及び第５記憶領域（Ｍ５）から必要なデータを求め、これを第２記憶領域（Ｍ２）へと転送することによって、最終的なローカル出力データを確定させる。
【００４５】
続く自己診断処理（ステップ１０５）においては、当該リモートＩ／Ｏターミナルの各種のハードウェア診断処理を行い、その診断結果を記憶させる。
【００４６】
以上の処理（ステップ１０１〜１０５）を繰り返す間に、何らかの重大な異常が発生すれば（ステップ１０６ＹＥＳ）、直ちにその動作は停止される。
【００４７】
次に、図３に示される出力機能設定テーブルＴＢに対して、出力端子ｎに関する出力機能設定のための処理の詳細を示すフローチャートが図６に示されている。同図において処理が開始されると、ネットワーク上に接続された図示しないプログラム開発支援装置（例えば、図１の符号３参照）から送られてくる出力機能設定データを解読することによって、以下の処理が実行される。すなわち、解読された出力機能が安全ＰＬＣからの出力データを出力すべきもの（従前と同様）であれば、第１記憶領域（Ｍ１）に格納された出力機能設定テーブルＴＢの該当する出力端子の内容は、安全ＰＬＣからの出力データを出力すべきものとして所定のコードが記憶される（ステップ２０２）。
【００４８】
また、解読された出力機能の内容が、内部に組み込まれたロジック演算プログラムの実行結果で決定される出力データと判定されると（ステップ２０１）、出力機能設定テーブルＴＢの該当する出力端子の設定内容は、ロジック演算プログラムの実行結果として得られる出力データとすべきものとして所定のコードが記憶される（ステップ２０３）。
【００４９】
一方、解読された出力機能の内容が、補助出力として判定され（ステップ２０１）、さらにその内容が出力端子ｎと同値、出力端子ｎと反転、リセット要求、動作モードフラグ、又は状態フラグの何れかであると判定されると（ステップ２０４）、出力機能テーブルＴＢの該当する出力端子の内容は、それぞれそのような出力データに対応する所定のコードに設定される（ステップ２０５，２０６，２０７，２０８，２０９）。
【００５０】
このように、図３に示される第１記憶領域（Ｍ１）に格納される出力機能設定テーブルＴＢの内容は、ネットワークに接続され又は当該リモートＩ／Ｏターミナルに直接接続されたプログラム開発支援装置からの設定データに応じて任意に書換えが可能とされるのである。
【００５１】
その一例として、動作モードフラグを設定する際の画面説明図（その１，その２）が図１４及び図１５に示されている。
【００５２】
それらの図から明らかなように、プログラム開発支援装置を構成するノート型パソコンの画面上には、所定のウィンドウが開かれ、そのウィンドウ内には設定パラメータリスト４００が表示される。この設定パラメータリスト４００内には、各出力端子ごとに出力機能に関する設定パラメータとその値とが表示されるから、ユーザはカーソル操作で所定のパラメータを選択すると共に（図１４参照）、プルダウンボタン４０１を操作して、パラメータリスト４０６を表示させ、その中からスクロールバー４０５の操作で必要なパラメータ値を検索すると共に、必要とするパラメータ値にカーソル４０５を合わせ、ＯＫボタン４０２を操作するといった作業で、各出力端子ごとに必要なパラメータ及びパラメータ値を簡単に設定することができる。
【００５３】
こうして作成された出力機能設定データが、ネットワークを介して、当該リモートＩ／Ｏターミナルへと送られることによって、先に図６に示された出力端子ｎに関する出力機能設定処理が実行可能となるのである。
【００５４】
次に、ローカル出力ＯＵＴｍの内容を決定するための処理の詳細フローチャートが図７に示されている。図４に示されるように、いま仮に、第２記憶領域（Ｍ２）にはローカル出力データが、第３記憶領域（Ｍ３）には安全ＰＬＣからの出力データが、第４記憶領域（Ｍ４）には内部ロジック演算で得られた出力データが、第５記憶領域（Ｍ５）にはリセット要求、動作モードフラグ、状態フラグなどの補助出力データが格納されているものと想定する。
【００５５】
このような状態において、図７に示される処理が開始されると、各出力端子番号（ｍ）について、順次にローカル出力ＯＵＴｍの内容が決定される。すなわち、まず、図３に示される出力機能設定テーブルＴＢの内容を参照することにより、各出力端子の設定出力機能が判定され、その判定結果に応じて、該当する処理（ステップ３０３〜ステップ３０９）が実行されることによって、第２記憶領域（Ｍ２）内の各出力端子（ＯＵＴ０〜ＯＵＴｎ）に対応する箇所の出力データの書換え処理が実行される。
【００５６】
すなわち、出力機能設定テーブルＴＢの設定内容が、安全ＰＬＣからの出力データを出力すべき場合には（ステップ３０２）、ローカル出力ＯＵＴｍの内容は安全ＰＬＣからの出力データＯＵＴｍによって書換えられる（ステップ３０３）。
【００５７】
また、出力機能設定内容が内部ロジック演算により決定されるものと判定された場合には（ステップ３０２）、ローカル出力ＯＵＴｍの内容はロジック演算出力ＯＵＴｍの内容で書換えられる。
【００５８】
また、解読された設定内容が、ローカル出力ＯＵＴｎと同値であると判定された場合には（ステップ３０２）、ローカル出力ＯＵＴｎの内容はローカル出力ＯＵＴｎの内容で書換えられる。
【００５９】
また、ＯＵＴｍの出力機能がＯＵＴｎの反転値であると判定された場合には、ローカル出力ＯＵＴｍの内容はローカル出力ＯＵＴｎの反転値として書換えられる（ステップ３０６）。
【００６０】
また、ＯＵＴｍの出力機能が、リセット要求であると判定されると、ローカル出力ＯＵＴｍの内容はステータスデータのリセット要求に書換えられる（ステップ３０７）。
【００６１】
また、ＯＵＴｍの出力機能が、動作モードフラグであると判定されると、ローカル出力ＯＵＴｍの内容はステータスデータの動作モードフラグとして書換えられる（ステップ３０８）。
【００６２】
さらに、ＯＵＴｍの出力機能が状態フラグであると判定されると、ローカル出力ＯＵＴｍの内容はステータスデータの状態フラグとして書換えられる（ステップ３０９）。
【００６３】
以上の処理が、ｍ＝０から出力点数分だけ繰り返される（ステップ３１１）。
【００６４】
このように、図７のフローチャートに示される処理が実行される結果、図４に示される第２記憶領域（Ｍ２）に格納されるローカル出力データの内容は、図３に示される出力機能設定テーブルＴＢの設定内容に応じて、第３記憶領域（Ｍ３）、第４記憶領域（Ｍ４）、第５記憶領域（Ｍ５）の内容で書換えられる結果、図５に示されるゼネラルフローチャートにおいて、Ｉ／Ｏリフレッシュ処理（ステップ１０２）が実行されると、実際の外部出力端子（ＯＵＴ０〜ＯＵＴｎ）のそれぞれには、第２記憶領域（Ｍ２）に格納された内容のローカル出力データが出力されるのである。
【００６５】
そのため、以上の実施形態のリモートＩ／Ｏターミナルによれば、図示しないプログラム開発支援装置において所定の操作を行い、図３に示される出力機能設定テーブルＴＢの内容を適宜設定することによって、一連の外部出力端子（ＯＵＴ０〜ＯＵＴｎ）を共通にして、各端子ごとに、通信由来の出力データ、内部ロジック演算由来の出力データ、任意の出力端子と同値の出力データ、任意の出力端子の反転値の出力データ、リセット要求のための出力データ、動作モードフラグに相当する出力データ、状態フラグに相当する出力データを任意に出力させることができるから、この種のリモートＩ／Ｏターミナルの使い勝手を格段に向上させることができる一方、そのような機能を付加しつつも、出力端子台それ自体は従前のものをそのまま使用できるため、格別のコストアップを来すことがないという利点を有するものである。
【００６６】
次に、上述の各出力機能に好適なアプリケーションについて、図８〜図１３を参照して説明する。
【００６７】
『同値出力機能』に好適な安全制御アプリケーションの説明図（その１、その２）が図８及び図９に示されている。なお、図８において、８１は作業者に対して各種の情報を報知するためのランプ、８２は安全フェンスの入口に設置されたセーフティライトカーテン、８３は危険源となるロボット、８４は作業者、８５は非常停止状態から復帰するためのリセットスイッチ、８６は非常停止スイッチである。
【００６８】
このような作業現場を想定すると、通常、危険源となるロボット８３の動作中は、ランプ８１を点灯させて、ロボット８３が運転中であることを報知するのが通例である。このような場合、リモートＩ／Ｏターミナルの外部端子台においては、図９（ａ）の結線図に示されるような結線が行われる。
【００６９】
すなわち、簡単に説明すれば、端子（２３，２４）に出力信号（ＯＵＴ０，ＯＵＴ１）を出力することで、コンタクタのリレー（ＫＭ１，ＫＭ２）を駆動する。ロボットを駆動するモータ（Ｍ）の通電路に、コンタクタ（ＫＭ１，ＫＭ２）の接点（ＫＭ１，ＫＭ２）を直列に介在させて二重化処理を施す。さらに、端子（２５）に出力信号（ＯＵＴ２）を出力してランプ（Ｌ）（図８のランプ８１に相当）を駆動する。
【００７０】
このとき、従来の方法では、ランプ（Ｌ）の駆動は、安全ＰＬＣ１の側のロジック演算プログラムを介して動作する。これに対して、本発明では、先に説明した『同値出力機能』を利用することによって、端子（２５）に同値出力として出力信号（ＯＵＴ２）を出力させる。
【００７１】
すると、図９（ｂ）のタイミングチャートに示されるように、ランプ（Ｌ）を駆動するための出力信号（ＯＵＴ２）は、コンタクタ（ＫＭ１，ＫＭ２）を駆動するための出力信号（ＯＵＴ０，ＯＵＴ１）と同期してオンオフする。なお、このとき、例えば、出力信号ＯＵＴ２は出力信号ＯＵＴ０と同値と定義する。これにより、安全ＰＬＣ１の側の制御を介することなく、ランプ（Ｌ）の点灯動作を実現できる。
【００７２】
『リセット要求出力機能』に好適な安全制御アプリケーションの説明図が図１０に示されている。図８を参照して説明したように、この種の作業現場には、各種の状況を作業者８４に知らせるためにランプ８１が設けられている。そして、非常停止スイッチ８６を操作してロボット８３の動作を停止させたような場合、安全規格上の理由から、リセットスイッチ８５を操作しないと、元の状態には復帰できない。このとき、作業者８４がリセットスイッチ８５の操作を忘れないように、リセットスイッチ８５の操作を待機する状態においては、発振出力であるリセット要求信号を送り出すことによって、ランプ８１を点滅駆動させる。
【００７３】
図１０に示されるように、この点滅駆動のためには、所定周波数の発振出力であるリセット要求信号を送出せねばならない。このリセット要求信号は、従来、安全ＰＬＣ１の側で所定のプログラムを組むことで生成していたが、なかなか処理が煩雑であった。これに対して、本発明にあっては、同図（ａ）に示される非常停止スイッチの出力と、同図（ｂ）に示されるリセットスイッチの出力とで決まる一定期間、同図（ｄ）に示されるようにリセット要求に相当する発振出力を生成できるようにし、これを『リセット要求』として出力機能設定テーブルＴＢにセットすることによって、任意の外部出力端子からこのリセット要求を出力可能としている。これにより、安全ＰＬＣ１を経由することなく、リモートＩ／Ｏターミナルの側からリセット要求を出力させて、ランプ８１を点滅駆動させることができる。
【００７４】
『反転出力機能』に好適な安全制御アプリケーションの説明図（その１、その２）が図１１及び図１２に示されている。なお、図１１において、８４は作業者、８６は非常停止スイッチ、８７は電磁ロックセーフティドアスイッチ、８８は危険源、８９はリミットスイッチである。
【００７５】
電磁ロックセーフティドアスイッチは、専用操作キーを挿し込むと自動的にメカニカルロックとなり、ドアを開けることができない。このときソレノイドに電圧を印加するとロックが解除されドアを開けることができる。そこで、例えば、図１２（ａ）に示されるように、出力信号（ＯＵＴ０，ＯＵＴ１）にコンタクタ出力を送出すると共に、出力信号（ＯＵＴ２）として電磁ロックセーフティドアスイッチのロック解除信号を出力する。すると、同図（ｂ）のタイムチャートに示されるように、コンタクタ出力がＯＦＦしてからロック解除信号を取得させる場合、リモートＩ／Ｏターミナルの出力信号（ＯＵＴ２）に対して『出力端子０と反転出力』を設定するだけで、セーフティＰＬＣ１の側のプログラムが不要となる。
【００７６】
『状態フラグ出力機能』に好適な安全制御アプリケーションの説明図が図１３に示されている。図１３に示されるように、安全リモートＩ／Ｏターミナル２の任意の出力端子から状態フラグに相当する出力信号を送出するようにすれば、ロボット７の側では、この状態フラグに相当する出力信号を動作条件とすることによって、安全制御を実現することができる。このような構成によれば、同図（ｂ）に示される従来例にあっては、別途安全ＰＬＣ１から通信を介在することなく、専用のケーブルでロボット７へとそのような状態フラグに相当する信号を届ける必要があったものが、そのようなケーブルが不要となり、使い勝手が向上する。
【産業上の利用可能性】
【００７７】
本発明によれば、安全ＰＬＣ側から到来する通信由来出力データと競合することなく、自身の任意の外部出力端子に対して、自身の内部で生成された内部由来出力データを出力させることができるため、端子台増設などのハードウェア改変によるコストアップを来すことなく、この種の安全リモートＩ／Ｏターミナルの使い勝手を格段に向上させることができる。
【図面の簡単な説明】
【００７８】
【図１】本発明が適用された安全ＰＬＣシステムの概略構成図である。
【図２】安全リモートＩ／Ｏターミナルの電気的ハードウェア構成を示すブロック図である。
【図３】各出力端子（ＯＵＴ０〜ＯＵＴｎ）についての出力機能設定態様の説明図である。
【図４】第２〜第５記憶領域の構成を示すメモリマップである。
【図５】安全リモートＩ／Ｏターミナルの処理を示すゼネラルフローチャートである。
【図６】出力端子ｎに関する出力機能設定処理の詳細フローチャートである。
【図７】ローカル出力ＯＵＴｍの内容を決定するための処理の詳細フローチャートである。
【図８】『同値出力機能』に好適な安全制御アプリケーションの説明図（その１）である。
【図９】『同値出力機能』に好適な安全制御アプリケーションの説明図（その２）である。
【図１０】『リセット要求出力機能』に好適な安全制御アプリケーションの説明図である。
【図１１】『反転出力機能』に好適な安全制御アプリケーションの説明図（その１）である。
【図１２】『反転出力機能』に好適な安全制御アプリケーションの説明図（その２）である。
【図１３】『状態フラグ出力機能』に好適な安全制御アプリケーションの説明図である。
【図１４】出力２に動作モードフラグを設定する際の画面説明図（その１）である。
【図１５】出力２に動作モードフラグを設定する際の画面説明図（その２）である。
【図１６】安全ＰＬＣシステムの基本構成図である。
【符号の説明】
【００７９】
１      安全ＰＬＣ
２      安全リモートＩ／Ｏターミナル
３      プログラム開発支援装置
４      ネットワーク
５      入力機器
６      出力機器
７      ロボット
８１    報知ランプ
８２    セーフティライトカーテン
８３    ロボット
８４    作業者
８５    リセットスイッチ
８６    非常停止スイッチ
８７    電磁ロックセーフティドアスイッチ
８８    危険源
８９    リミットスイッチ
２０１    ＣＰＵ
２０１ａ  マイクロプロセッサ（ＭＰＵ）
２０１ｂ  ＲＯＭ
２０１ｃ  ＲＡＭ
２０２    入力回路
２０３    出力回路
２０４    通信回路
２０５    表示回路
２０６    設定回路
４００    パラメータリスト
４０１    プルダウンボタン
４０２    ＯＫボタン
４０３    キャンセルボタン
４０４    スクロールバー
４０５    カーソル
ＫＭ１，ＫＭ２    コンタクタ
Ｍ    モータ
Ｍ１    第１記憶領域
Ｍ２    第２記憶領域
Ｍ３    第３記憶領域
Ｍ４    第４記憶領域
Ｍ５    第５記憶領域
Ｌ    ランプ
ＯＵＴ０〜ＯＵＴｎ    外部出力端子
ＴＢ    出力機能設定テーブル
【図１】
2008310534.tif 000003
【図２】
2008310534.tif 000004
【図３】
2008310534.tif 000005
【図４】
2008310534.tif 000006
【図５】
2008310534.tif 000007
【図６】
2008310534.tif 000008
【図７】
2008310534.tif 000009
【図８】
2008310534.tif 000010
【図９】
2008310534.tif 000011
【図１０】
2008310534.tif 000012
【図１１】
2008310534.tif 000013
【図１２】
2008310534.tif 000014
【図１３】
2008310534.tif 000015
【図１４】
2008310534.tif 000016
【図１５】
2008310534.tif 000017
【図１６】
2008310534.tif 000018