以下に、本発明に係るセーフティコントローラの実施の一形態を添付図面に従って詳細に説明する。
セーフティコントローラの全モジュール装着状態における外観斜視図が図1に、同セーフティコントローラの拡張モジュール引き抜き状態における外観斜視図が図2に、コントローラにパソコンを接続した状態を示すシステム外観図が図3にそれぞれ示されている。
それらの図から明らかなように、セーフティコントローラ1は、基本モジュール2と、入力拡張モジュール3と、出力拡張モジュール4とを備えている。これらのモジュール2,3,4は、モジュールホルダ5を介して整列状態で位置決め固定される。モジュールホルダ5は、上面が開放された箱型ハウジングであり、その底部にはDINレール取付溝51及びDINレール固定金具52が設けられている。そのため、モジュールホルダ5は、図示しないDINレールへと取り付けが可能となされている。尚、図示例では1個の基本モジュールに対して2個の拡張モジュール3,4を設けた場合であるが、拡張モジュールの数はより多くしてもよく、8個あるいは16個といったように多数の拡張モジュールを装着可能としてもよい。モジュールホルダ5の内部の底の部分には、後に図11を参照して説明するマザーボード53が敷設されている。そして、基本モジュール2、入力拡張モジュール3、出力拡張モジュール4は、マザーボード53上の基本モジュール用コネクタ531、拡張モジュール用コネクタ533−1〜533−nに差し込みが可能となされている。
基本モジュール2の一側面には、第1入力端子台21と第2入力端子台22とが上下2段に設けられており、他の側面には第1出力端子台23と第2出力端子台24とが上下2段に設けられている。同様にして、入力拡張モジュール3の他側面には、第1入力端子台31と、第2入力端子台32と、第3入力端子台33と、第4入力端子台34とが上下2段に設けられている。同様にして、出力拡張モジュール4の一側面には第1出力端子台41が設けられ、他の側面には第2出力端子台42がそれぞれ設けられている。
図から明らかなように、各端子台はそれぞれ、4本の信号線を接続可能となされ、各信号線を構成する電線は芯線差し込み式のクランパ機構を介して簡単に固定可能となされている。
図3に示されるように、セーフティコントローラ1を構成する基本モジュール2は、RS−232Cコード7を介してパソコン6と通信が可能となされており、後述する各種の設定操作が、パソコン6のキーボードを介して行われ、こうして得られた設定データはRS−232Cコード7を介して、セーフティコントローラ1を構成する基本モジュール2のメモリ(例えば、EEPROM等)に書き込まれる。尚、この種のデータ通信及びメモリの書換処理については、種々文献により公知であるから、詳細な説明は省略する。
尚、図1〜図3の例にあっては、1台の基本モジュール2と2台の拡張モジュール3,4とを設けた例を示したが、拡張モジュールの個数並びに種別はこれに限定されるものではなく、例えば8個あるいは16個といったように多数の拡張モジュールを着脱自在に接続することが可能とされている。
基本モジュールのハードウェア構成を示すブロック図が図4に示されている。同図に示されるように、基本モジュール2内には、第1CPU201と、第2CPU202と、第1入力回路203と、第2入力回路204と、第1出力回路205と、第2出力回路206と、通信回路(RS−232C)207と、電源回路208とが含まれている。
第1CPU201と第2CPU202とは制御の二重化を達成するためのものであり、それぞれほぼ同一のプログラムを実行する。第1CPU201内には、後述するセーフティ動作プログラム等を格納するためのプログラムメモリ(例えば、フラッシュメモリ)202aが内蔵されている。同様にして、第2CPU202にも、後述するセーフティ動作プログラム等を格納するためのプログラムメモリ202bが内蔵されている。また、第1CPU201及び第2CPU202のそれぞれの外部には、後述する各種の設定データを格納するためのEEPROM209a及び209bがそれぞれ設けられている。プログラムメモリ202aの記憶内容とプログラムメモリ202bの記憶内容とはほぼ同一とされ、同様にしてEEPROM209aの記憶内容とEEPROM209bの記憶内容ともほぼ同様とされている。これにより第1CPU201と第2CPU202とのいずれか一方がダウンしたような場合であっても、他方の正常なCPUによって制御を引き継ぐことで、安全性が高められている。
第1入力回路203及び第2入力回路204には後述するセーフティスイッチ9が接続され、第1出力回路205及び第2出力回路206にはこの例では電磁接触器(マグネットコンタクタ:マグネットスイッチ)10が接続される。また、通信回路(RS−232C)207にはパソコン(PC)6が接続され、電源回路208には外部電源8が接続される。さらに、第1CPU201と第2CPU202とを結ぶバスラインにはマザーボード53が接続される。これにより、基本モジュールからマザーボード53を介して各拡張モジュールに対してデータを送り出したり、逆に各拡張モジュールからマザーボード53を介して到来するデータを、基本モジュールが取り込むことが可能となされている。さらに、パソコン(PC)6にて生成された各種のデータは、通信回路(RS−232C)207を介して基本モジュール2へと取り込まれることとなる。尚、セーフティスイッチ9並びに電磁接触器10の構成については後に詳細に説明する。
基本モジュール内の第1,第2出力回路205,206と外部電磁接触器10との結線例を示す配線図が図5に示されている。同図に示されるように、基本モジュール2内の第1出力回路205は、互いにコンプリメンタリ接続された2個のトランジスタTR1,TR2で構成され、同様に第2出力回路206は互いにコンプリメンタリ接続された2個のトランジスタTR3,TR4で構成される。それら2個のトランジスタの各接続点は外部端子T01,T02へと引き出されている。これら外部端子T01,T02と0V端子との間にマグネットスイッチのコイルMS1,MS2がそれぞれ接続される。マグネットスイッチMS1は、3極単投型の主メイク接点MS1−1と単極単投型の補助ブレイク接点MS1−2とを有する。同様にして、マグネットスイッチMS2にも、3極単投型の主メイク接点MS2−1と単極単投型の補助ブレイク接点MS2−2とを有する。そして、これら2個の主メイク接点MS1−1,MS2−1は、危険源の駆動源であるモータMへの通電路に直列に接続される。そのため、第1出力回路205及び第2出力回路206の双方がONすることによって、マグネットスイッチMS1及びMS2が作動し、主メイク接点MS1−1,MS2−1が閉じることによって、3相モータMに対して通電が行われる。
入力拡張モジュールのハードウェア構成を示すブロック図が図6に示されている。同図に示されるように、この入力拡張モジュール3は、第1入力回路301と、第2入力回路302と、第3入力回路303と、第4入力回路304と、第1バスインタフェース305と、第2バスインタフェース306とを含んでいる。
第1入力回路301は、第1入力端子台(図2参照)31へ接続される3個の外部入力端子T11,T12,T13を有する。第2入力回路302は、第2入力端子台(図2参照)32へと繋がる3個の外部入力端子T21,T22,T23を有する。第3入力回路303は、第3入力端子台(図2参照)33へ繋がる3個の外部入力端子T31,T32,T33を有する。第4入力回路304は第4入力端子台(図2参照)34へ繋がる3個の外部入力端子T41,T42,T43を有する。また、電源端子(24V,GND)は電源ライン307を介してマザーボード53へと接続される。第1バスインタフェース305及び第2バスインタフェース306は不揮発性の記憶素子を含んでおり、この記憶素子には、当該入力拡張モジュール3の識別情報(モジュール識別情報)等が記憶されている。このモジュール識別情報(ID)は、マザーボード53上の拡張用スロット533−1〜Nから読み込まれたモジュール識別情報と基本モジュール側に設定されたモジュール識別情報との照合により、各拡張スロットに予定の拡張モジュールが装着されているか否かを診断する際に利用される。
出力拡張モジュールである電磁リレー出力モジュールのハードウェア構成を示すブロック図が図7に示されている。同図に示されるように、電磁リレー出力モジュール4A内には、第1出力回路401と、第2出力回路402と、モニタ回路403と、第1バスインタフェース404と、第2バスインタフェース405とが含まれている。また、電磁リレー出力モジュール4A内には、電磁リレーK1とK2とが内蔵されている。電磁リレーK1は、2個の単極単投型のメイク接点K1−1,K1−2と、2個の単極単投型ブレイク接点K1−3,K1−4とを有する。同様にして、電磁リレーK2には、2個の単極単投型のメイク接点K2−1,K2−2と、2個の単極単投型ブレイク接点K2−3,K2−4とを有する。これらの接点は、外部端子列T11,T21,T31と外部端子列T12,T22,T32との間に互いに直列または並列状態で介在されている。
出力拡張モジュールである電磁リレー出力モジュール内のリレー接点と外部マグネットスイッチとの結線例を示す配線図が図8に示されている。尚、同図において図7と同一端子については同符号を付して説明は省略する。図から明らかなように、電磁リレーK1,K2の双方が作動することによって、2個のマグネットスイッチMS1,MS2のコイルに通電が行われ、3極単投型の主メイク接点MS1−1及びMS2−1の双方がONして、3相モータMに対して通電が行われる。
出力拡張モジュールであるソリッドステートリレー出力モジュールのハードウェア構成を示すブロック図が図9に示されている。同図に示されるように、ソリッドステートリレー出力モジュール4B内には、第1出力回路411と、第2出力回路412と、第1モニタ回路403aと、第2モニタ回路403bと、第1バスインタフェース404と、第2バスインタフェース405とが含まれている。第1出力回路411は外部端子T13,T14に接続される。第2出力回路412は外部端子T23,T24に接続される。第1モニタ回路403aは外部端子T11に、第2モニタ回路403bは外部端子T21に接続される。外部端子T12,T22はマザーボード53から到来する電源に接続される。
ソリッドステートリレー出力モジュール内のリレーと外部電磁接触器との結線例を示す配線図が図10に示されている。同図に示されるように、ソリッドステートリレー出力モジュール4B内には、第1ソリッドステートリレー411aと、第2ソリッドステートリレー412bと、第1モニタ回路403aと、第2モニタ回路403bと、第1,第2バスインタフェース404,405と、フューズ406,407とが含まれている。そして、図から明らかなように、第1ソリッドステートリレー411a,第2ソリッドステートリレー412bの双方が作動すると、マグネットスイッチMS1,MS2に対して通電が行われ、その主メイク接点MS1−1,MS2−1がONすることによって、3相モータMに対して通電が行われる。同時に、マグネットスイッチMS1,MS2の補助ブレイク接点MS1−2,MS2−2がOFFすることによって、第1モニタ回路403a,第2モニタ回路403bを介して、マグネットスイッチMS1,MS2が正常に作動したかどうかを確認することができる。尚、図において、ACは交流電源、F1,F2はフューズである。
マザーボードのハードウェア構成を示す図が図11に示されている。同図に示されるように、マザーボード53は、セーフティコントローラ1のモジュールホルダ5の内部に敷設されるものであって、基本モジュール用コネクタ531と、2個のアドレスデコーダ532a,532bと、n個の拡張モジュール用コネクタ533−1,533−2〜533−nを有する。基本モジュール用コネクタ531からは、データライン534と2系統のアドレスライン535a,535bとが導出される。アドレスライン535aはアドレスデコーダ532aによってデコードされ、これによりスロットセレクトライン536aが導出される。同様にして、アドレスライン535bは、アドレスデコーダ532bによってデコードされ、これによりスロットセレクトライン536bが生成される。基本モジュール用コネクタ531には言うまでもないが基本モジュール2が着脱自在に装着される。同様にして、拡張モジュール用コネクタ533−1〜533−nには、各種の拡張モジュール(入力拡張モジュール3や出力拡張モジュール4等)が着脱自在に装着される。尚、図では、第1スロット,第2スロット,・・・,第nスロットとして、n個の拡張モジュール用コネクタ533−1〜533−nを描いているが、図2に示される具体的な構成例を対象とする場合には拡張モジュール用コネクタは2個で済むことは言うまでもない。
次に、本発明のセーフティコントローラ1が取り扱うことを予定しているセーフティスイッチのいくつかの例について図12〜図17を参照して説明する。
非常停止スイッチの端子台結線方法を示す配線図が図12に示されている。同図に示されるように、セーフティスイッチ1個分の外部端子台(例えば、図2の上下二段の端子台21,22で構成される)には、6個の外部端子T13,T11,T12,T23,T21,T22が順に配列されている。また、非常停止スイッチESは、1個の押しボタンPB0と、この押しボタンPB0の操作で連動して作動する2個のブレイク接点b0−1(第1系統),b0−2(第2系統)とを含んでいる。第1ブレイク接点b0−1は外部端子T11とT12との間に接続され、第2ブレイク接点b0−2は外部端子T21とT22との間に接続される。
両手操作スイッチの端子台結線方法を示す配線図が図13に示されている。この例にあっても、セーフティスイッチ1個分の外部端子台には6個の外部端子T13,T11,T12,T23,T21,T22が順に配列されている。また、両手操作スイッチ2HSには、2個の押しボタンPB1,PB2と、押しボタンPB1の操作に連動して作動する第1系統の一対のブレイク及びメイク接点b1−1,a1−2と、押しボタンPB2の操作に連動して作動する第2系統の一対のブレイク及びメイク接点b2−1,a2−2とが設けられている。そして、ブレイク接点b1−1は外部端子T13とT11との間に接続され、メイク接点a1−2は外部端子T11とT12との間に接続される。同様にして、ブレイク接点b2−1は外部端子T23とT21との間に接続され、メイク接点a2−2は外部端子T21とT22との間に接続される。
マットスイッチの端子台結線方法を示す配線図が図14に示されている。この例にあっても、1個のセーフティスイッチに対応する外部端子台には、6個の外部入力端子T13,T11,T12,T23,T21,T22が順に配列されている。一方、マットスイッチMSには、互いに並列の関係にある複数個のメイク接点a1,a2,a3が含まれている。そして、これらメイク接点群の一端側(第1系統)の共通線は、端子T11とT12との間に接続され、同様にして接点群の他の共通線(第2系統)は、端子T21とT22との間に接続される。
セーフティリミットスイッチの端子台結線方法を示す配線図が図15に示されている。同図に示されるように、この例にあっても、セーフティスイッチ1個分の外部入力端子台には、6個の入力端子T13,T11,T12,T23,T21,T22が順に配列されている。また、セーフティリミットスイッチSLSには、リミットスイッチのアクチュエータであるセーフティガード(Safety Guard)の作動に連動して動作する一対のメイク接点a1とブレイク接点b1とが含まれている。そして、メイク接点(第1系統)a1は端子T11とT12との間に接続される。ブレイク接点(第2系統)b1は端子T21とT22との間に接続される。
ライトカーテンの端子台結線方法を示す配線図が図16に示されている。この例にあっては、1個のセーフティスイッチに対応する外部端子台には、2個の電源端子(24V,GND)と、6個の外部入力端子T13,T11,T12,T23,T21,T22が順に配列されている。そして、第1系統である端子T11にはリセット信号(RESET)が、T12には制御出力1が、また第2系統であるT21にはテスト信号(TEST)が、端子T22には制御出力2がそれぞれ対応する。よく知られているように、ライトカーテンLCは、投光器Tと受光器Rとの間に多孔軸のライトカーテンを形成すると共に、これを人体等が遮ることによって、制御出力1及び制御出力2を発するものである。
電磁ロック式セーフティドアスイッチとセーフティリミットスイッチの端子台結線方法を示す配線図が図17に示されている。この例にあっては、セーフティスイッチ1個分の外部端子台には、ソレノイド駆動端子(A,B)と、6個の外部入力端子T13,T11,T12,T23,T21,T22が順に配列されている。一方、セーフティリミットスイッチSLSには、スライドアクチュエータ(Safety Guard)で駆動される1個のブレイク接点b1が設けられ、電磁ロック式セーフティドアスイッチMDSには、ソレノイドSOLの作動に連動して動作するブレイク接点b1(ソレノイド作動確認用)と、抜け止め用のロックピンpの出没動作に連動して作動する2個のブレイク接点b2,b3(不作用)が含まれている。そして、第1系統である2個のブレイク接点b1とb2とは端子T11と端子T12との間に接続される。同様にして、第2系統であるセーフティリミットスイッチSLSのブレイク接点b1は端子21と端子T22との間に接続される。
以上説明したように、本発明のセーフティコントローラの入力端子台においては、各セーフティスイッチ1個分の領域に関して、6個の外部入力端子T13,T11,T12,T23,T21,T22が順に配列され、これら共通の外部端子を用いて、様々なセーフティスイッチ(非常停止スイッチES、両手操作スイッチ2HS、マットスイッチMS、セーフティリミットスイッチSLS、ライトカーテンLC、電磁ロック式セーフティドアスイッチMDS等)への対応を可能としている。
次に、第1,第2CPUにて実行される制御プログラムの全体を概略的に示すフローチャートが図18に示されている。このフローチャートは電源投入によって実行を開始される。同図において処理が開始されると、まず内部RAM初期化並びに各種初期設定が実行される(ステップ101)。ここで言う内部RAMとは、第1CPU201及び第2CPU202内のワークエリアを構成するRAM等を意味している。続く電源投入時の診断処理(ステップ102)では、後に詳細に説明するように、セーフティシステムの信頼性を向上させるための各種の診断処理が実行される。続く設定モード突入のコマンド有無判定処理(ステップ103)では、パソコン(PC)6の操作で生成された所定のコマンドが、基本モジュール2へと到来したか否かの判定が行われる。ここで、設定モード突入のコマンド有りと判定されれば(ステップ103YES)、設定モードの処理(ステップ104)が実行される。これに対して、設定モード突入のコマンドの到来がなければ(ステップ103NO)、通常モードの処理(ステップ105)が実行される。
設定モードにて実行される制御プログラムの全体を示すフローチャートが図19に示されている。同図において処理が開始されると、コマンドの受信有無をチェックしつつ(ステップ201NO)、様々な設定モードにおける処理(ステップ204)が実行される。ここで言うその他の処理(ステップ204)に関しては、後に必要に応じて説明を行う。
コマンドの受信が確認されると(ステップ201YES)、コマンドの解析並びにEEPROM202a,202b(図4参照)へのデータ書込処理(ステップ202)が実行される。書込みが終了すると、続いてレスポンス処理(ステップ203)が実行されて、書込みの正常終了または異常終了を示すレスポンスが、通信回路(RS−232C)207を介してパソコン(PC)6側へと返送される。
コマンド解析・EEPROM書込み処理の詳細を示すフローチャートが図20に示されている。同図において処理が開始されると、受信データの読み出しが行われ(ステップ301)、読み出されたコマンドの内容がEEPROM書込命令であるか否かの判定が行われる(ステップ302)。ここでEEPROM書込命令以外の命令であれば、その他の命令処理への移行が行われる。これに対して、EEPROM書込命令であれば、続いて当該書込を要求されたデータのEEPROM内における指定アドレスの判定が行われる(ステップ303)。ここで、指定のアドレスが00〜3F(hex)と判定されると、当該受信データは、基本モジュールのメモリ領域としてアドレス指定され、該当する領域のEEPROMへと書き込まれる(ステップ306)。これに対して、指定のアドレスが40〜BF(hex)と判定されれば、当該受信データは拡張モジュールの該当するメモリ領域へとアドレス指定され(ステップ305)、そのデータは双方のEEPROM209a,209b(図4参照)へと書き込まれる(ステップ306)。
EEPROM209a,209b内のデータ配置の全体を表にして示す図が図21に示されている。同図から明らかなように、EEPROM内のアドレス空間には、共通仕様設定並びに基本モジュール設定に関わる記憶領域と、拡張モジュール設定に関わる記憶領域とが設けられている。共通仕様設定並びに基本モジュール設定に関わる領域としては、アドレス0からの2バイト分としてCRC(0〜FFFFh)が、アドレス2から30バイト分としてディレータイムテーブル(0〜300)が、アドレス20から1バイト分として予備スペース(reserve)が、アドレス21から1バイト分としてディレーモード(『0』:オフディレー,『1』:オンディレー)が、アドレス22から2バイト分としてディレー時間(0〜300)が、アドレス24から1バイト分としてメインモジュール:動作モード(『0』:2N.C(非常停止スイッチなど),『1』:1N.C+1N.O,『2』:2ハンドスイッチ,『3』:マットスイッチ,『4』:ライトカーテン)、アドレス25から1バイト分として予備スペース(reserve)が、アドレス26から30バイト分としてディジタルフィルタ値(1〜255)が、アドレス30から1バイト分として安全入力系統間の時間差の許容値(0:無限、1〜255)、アドレス31から1バイト分としてマニュアルリセットオン最大時間(0:無限、1〜255)が、アドレス32から8バイト分として形式データが、アドレス3Aから2バイト分として予備スペース(reserve)が、アドレス3Cから4バイト分としてハードウェアバージョン(0.00〜99.99)がそれぞれ格納されている。ここで、『安全入力系統間の時間差の許容値』とは、『系統間同期監視タイマ』の値のことであり、後述する図39及び図40の処理にて使用される。
一方、拡張モジュール設定のための領域には、アドレス40,50,60,70,80,90,A0,B0からそれぞれ16バイト分として接続モジュール1〜8に対応するデータが格納される。
EEPROM内の拡張入力モジュール用のデータ配置を表にして示す図が図22に示されている。同図から明らかなように、拡張入力モジュールに割り当てられたメモリ領域としては、
(1)アドレス0から1バイト分として、モジュールID(『00H』:接続なし,『11H』:入力モジュール,『12H』:特定スイッチ用の入力モジュール1,『13H』:特定スイッチ用の入力モジュール2,『14H』:特定スイッチ用の入力モジュール3,・・・)が、
(2)アドレス1から1バイト分として、動作モード(『0』:非常停止,『1』:非常停止+入力1反転,『2』:2ハンド,『3』:マット,『4』:ライトカーテン)が、
(3)アドレス2から1バイト分として安全入力系統間の時間差の許容値(0:無限、1〜255)が、
(4)アドレス3から1バイト分として、予備スペース(reserve)が、
(5)アドレス4から2バイト分として、ディジタルフィルタ値(1〜255)が、
(6)アドレス6から1バイト分として動作モード(0:非常停止、1:非常停止+入力1反転、2:2ハンド、3:マット、『4』:ライトカーテン)が、
(7)アドレス7から1バイト分として安全入力系統間の時間差の許容値(0:無限、1〜255)が、
(8)アドレス8から1バイト分として予備スペース(reserve)が、
(9)アドレス9から2バイト分としてディジタルフィルタ値(1〜255)が、
(10)アドレスBから1バイト分として予備スペース(reserve)が、
(11)アドレスCから4バイト分としてハードウェアバージョン(0.00〜99.99)が格納されている。これにより、各拡張入力モジュールは、独立した2個のセーフティスイッチを取り扱うことが可能とされている。
EEPROM内の拡張出力モジュール用のデータ配置を表にして示す図が図23に示されている。同図から明らかなように、拡張出力モジュール用のメモリエリアとしては、
(1)アドレス0から1バイト分のモジュールID(『00H』:接続なし,『01H』:AC半導体出力モジュール,『02H』:リレー出力モジュール,・・・)が、
(2)アドレス1から1バイト分としてディレーモード(『0』:オフディレー,『1』:オンディレー)が、
(3)アドレス2から2バイト分としてディレー時間(0〜300)が、
(4)アドレス4から8バイト分として予備スペース(reserve)が、
(5)アドレスCから4バイト分としてハードウェアバージョン(0.00〜99.99)が格納されている。
尚、以上説明した各データの中で、ディレーモード、ディレー時間については、個々の拡張出力モジュールのそれぞれについて、オフディレー出力又はオンディレー出力を可能とするためのものであり、ディレー時間の範囲は0〜300(×100)msecの範囲で自由に設定が可能となされている。もちろん、このテーブルに対応して、拡張出力モジュール用の動作プログラムには、それらディレーモードの内容並びにディレー時間を参照して、該当する出力機能を実現するための処理が組み込まれている。
次に、通常モードにて実行される制御プログラムの全体を示すフローチャートが図24に示されている。同図において処理が開始されると、エラーがないことを条件として(ステップ401NO)、入力処理/出力判定処理(ステップ402)、診断処理(ステップ403)、出力処理(ステップ404)、その他の処理(ステップ405)が順に繰り返し実行される。
出力判定処理の詳細を示すフローチャート(その1)が図25に、同その2が図26にそれぞれ示されている。
同図において処理が開始されると、ステップ501では読み出しスロットの番号を『1』に設定する。ステップ502では、指定されたスロットは入力モジュールであるか否かの判定を行う。ここで入力モジュールであると判定されると(ステップ502YES)、安全入力値の読み出し(セーフティ入力値の読み出し)が実行される(ステップ503)。続いて、当該スロットに装着されたモジュールに要求される動作モードの判定が行われ、動作モードが『非常停止スイッチ』、『両手操作スイッチ』、『マットスイッチ』等のいずれであるかに応じて、該当するスイッチの出力判定処理(ステップ505,506,507,・・・)のいずれかが実行される。これらの判定処理においては、それぞれのセーフティスイッチの種別並びに内部構造に応じて、所定のセーフティ動作プログラムを実行させることによって、該当するセーフティスイッチの現在のON/OFF状態が判定される。こうして判定されたON/OFF状態はメモリに格納される(ステップ508)。
以上の動作が、拡張スロットの番号を+1更新させつつ、順次に各拡張用スロットに装着された拡張用モジュールに関して実行される。すなわち、これらの処理(ステップ505,506,507,508)が全てのスロットに関して実行されることによって、各安全スイッチのON/OFF状態がメモリ内に記憶される。こうして、全スロットに対する処理が終了すると(ステップ509)、図26へ移って、安全入力(セーフティ入力)が全てONであるかどうかの判定が行われる(ステップ510)。
ここで、セーフティ入力の全てがONであると判定されれば(ステップ510YES)、その出力はONと判定される(ステップ511)。その後、リセット入力の有無が判定され(ステップ512)、リセット入力がある場合には(ステップ512YES)、オンディレータイマがまだスタートしていないことを条件として(ステップ513NO)、オンディレータイマのスタート処理を実行した後(ステップ514)、以後オンディレータイマがカウントアップするまで(ステップ515NO)、出力はOFFと判定される(ステップ517)。これに対して、オンディレータイマのカウントアップが確認されると(ステップ515YES)、出力はONと判定される。これにより、外部出力に関するオンディレイ機能が実現されることとなる。尚、リセット入力がない場合には(ステップ512NO)、直ちに出力はOFFと判定される(ステップ517)。
尚、ステップ512で判定されたリセット入力の有無とは、基本モジュールの第1入力回路203又は第2入力回路204に接続されたリセットボタンからの信号に基づくものである。すなわち、一般にこの種のセーフティシステムにおいては、システム全体のリセット操作を行うために、指先で軽く操作する等の小型の押しボタンスイッチを取り付け、その操作によってシステム全体の起動をリセットするのが通例である。
一方、いずれか1つの入力がOFFであると判定されると(ステップ510NO)、出力はOFFと判定された後(ステップ518)、前回の判定において出力がONであったかどうかの判定が行われる(ステップ519)。ここで前回の判定で出力がONであったとすれば(ステップ519YES)、オフディレータイマがまだスタートしていないことを条件として(ステップ520NO)、オフディレータイマのスタート処理が実行され(ステップ521)、以後オフディレータイマのカウントアップを確認するまで(ステップ522NO)、出力はONと判定される。これに対して、以上の動作中にオフディレータイマのカウントアップが確認されると(ステップ522YES)、出力はOFFと判定される(ステップ523)。これにより、外部出力に関するオフディレイ機能が実現される。一方、前回の判定では出力がONでないと判定されれば(ステップ519NO)、直ちに出力はOFFと判定される(ステップ523)。
尚、以上説明した図26のフローチャートにおいては、安全入力が全てオンの場合にはオンディレー処理が、また全てオフの場合にはオフディレー処理が自動的に行われている。これは、複数のセーフティ入力スイッチに対して、1個の出力を割り付けた場合である。もっとも、本発明のセーフティコントローラにあっては、複数のセーフティスイッチに対して、複数の拡張出力モジュールを対応させることも可能である。このような場合を想定して作成されたのが、先に説明された図23に示される拡張出力モジュール用のデータ配列である。すなわち、先にも述べたように、個々の拡張出力モジュール別に、ディレーモード並びにディレー時間の設定が可能とされており、これらが設定されると、図26で説明したオンディレー処理(ステップ511〜517)と、オフディレー処理(ステップ518〜524)とのいずれかが、当該ディレーモードの設定された拡張出力モジュールについて実行される結果、複数の拡張出力モジュールのそれぞれについて、個別にオンディレー処理又はオフディレー処理が行われるのである。
次に、診断処理の詳細を示すフローチャートが図27に示されている。同図に示されるように、この処理においては、入力診断処理(ステップ601)と、その他の診断処理(ステップ602)とを行いつつ、いずれかの診断処理においてエラーコードが判定されれば(ステップ603YES)、エラーコードをメモリに格納する処理(ステップ604)を実行する。
次に、図28〜図37を参照して、入力診断処理について説明する。入力診断処理には、2つの大きな役目が存在する。第1の役目は、入力端子台に外部接続されたセーフティスイッチそれ自体を診断することである。他の1つの役目は、入力端子台の内部に存在する出力回路及び入力回路の状態を診断するものである。ここで出力回路とは、入力端子台を構成する個々の端子に対して選択的に電圧を供給するためのドライブ回路等であり、入力回路とは、端子台に外部から供給された24Vを論理IC用の5Vに低下させるためのレベルシフト回路、並びに、その後段に設けられたゲート等である。
ところで、セーフティスイッチ側の接点構成には、無電圧接点と有電圧接点とが存在する。無電圧接点は主として、非常停止スイッチ、マットスイッチ、両手操作スイッチ等がこれに相当する。これに大して、有電圧接点は、ライトカーテン等がこれに相当する。
入力端子台側のハードウェア構成とセーフティスイッチの結線例を示す図(無電圧接点対応)が図34に、また入力端子台のハードウェア構成とセーフティスイッチの結線例を示す図(有電圧接点対応)が図35にそれぞれ示されている。それらの図から明らかなように、この入力端子台には、T11,T12,T21,T22からなる4個の端子が設けられている。そして、無電圧接点対応として使用する場合、セーフティスイッチの第1系統のブレイク接点b11は、端子T11と端子T12との間に接続される。これに対して、第2系統のブレイク接点b21は、端子T21と端子T22との間に接続される。
一方、この端子台の内部に存在する入力回路及び出力回路については次のように構成される。端子T11には図示しないが出力回路と入力回路とが逆並列に接続されている。ここで、出力回路から送り出される信号をT11P(out)として表記し、端子T11から入力回路へと取り込まれる信号をT11M(in)と表記する。同様にして、端子T12にも図示しないが入力回路と出力回路とが設けられている。端子T12から入力回路に取り込まれる信号をT12Dとして表記し、出力回路から送り出されトランジスタTR11をドライブする信号をT12P(out)と表記する。
一方、第2系統の構成について説明すると、端子T21には、図示しないが、出力回路と入力回路とが逆並列に設けられている。ここで、出力回路から端子T21へ送り出される信号をT21P(out)と表記し、端子T21から入力回路へと取り込まれる信号をT21M(in)と表記する。同様にして、端子T22にも、入力回路と出力回路とが設けられている。ここで、端子T22から入力回路へと取り込まれる信号をT22Dと表記し、出力回路から送り出され、トランジスタTR21をドライブする信号をT22P(out)と表記する。
図34と図35とを比較して明らかなように、無電圧接点対応の場合、セーフティスイッチの第1系統のブレイク接点b11は、端子T11と端子T12との間に接続される。同様にして、第2系統のブレイク接点b21は、端子T21と端子T22との間に接続される。一方、有電圧接点対応の場合、第1系統側のブレイク接点b11は、電源24Vと端子T12との間に接続される。同様にして、第2系統側のブレイク接点b21は、電源24Vと端子T22との間に接続される。
次に、図34及び図35の回路構成を前提として、本発明者等が新たに開発した診断処理の構成を、図28〜図33を参照して説明する。この入力診断処理は、第1CPU201と第2CPU202とを並列に動作させながら行われる。また、処理全体の前半においては、第1CPU側が第1系統のブレイク接点に関する診断を担当し、第2CPU側は第2系統のブレイク接点に関する診断処理を実行する。一方、処理の後半においては、役割が反転して、第1のCPU側が第2系統のブレイク接点に関する診断処理を実行し、第2CPU側が第1系統のブレイク接点に関する診断処理を実行する。
また、これらの診断処理は、先に説明した端子T11,T12,T21,T22のそれぞれに、適宜出力信号を与え又は入力信号を取り込むといった処理を行うのであるが、それらの端子に関する電圧出力に関しては、あらかじめ役割が固定化されている。すなわち、第1系統の端子T11,T12に対する電圧の出力は、第1CPU側が行うものとされ、第2系統の端子T21,T22に関する電圧の出力は、第2CPU側が担当するものとされている。これらの関係は、ハードウェア的に固定化されたものである。一方、それら4個の端子T11,T12,T21,T22からの信号の取り込みは、第1CPU及び第2CPUが並列に行えるように構成されている。すなわち、それら4個の端子T11,T12,T21,T22からの信号の取り込みは、第1CPU又は第2CPUのいずれもが行えるように構成されている。
次に、図28及び図29を参照しながら、入力診断処理の前半の処理について説明する。それらの図において処理が開始されると、第1CPU並びに第2CPUのそれぞれにおいては、互いにCPU間通信(ステップ701,721)を実行することによって、まず、同期の確立を行う。
続いて、第1CPUの側では、T12D=オンの判定(ステップ702)を行う。図34の回路から明らかなように、T11P(out)がオン(“H”)の状態において、T12Dがオン(“H”)かオフ(“L”)かを見れば、第1系統のブレイク接点b11が断線又は不導通していることを判定できる。ここで、T12D=オンでないと判定されると(ステップ702NO)、エラーテーブル4(詳細は後述)が更新されて(ステップ703)、断線又は不導通発生が記憶される。これに対して、T12D=オン(“H”)であれば(ステップ702YES)、断線又は不導通は生じていないものと判定される。
続いて、第1CPUの側では、T12Pをオン(“H”)させ(ステップ704)、100μs以上のウエイト処理を実行した後(ステップ705)、今度はT12D=オフ(“L”)の判定(ステップ706)を実行する。ここで、T12Pをオン(“H”)させた状態において、T12D=オフ(“L”)を判定するということは、端子T12に接続された入力回路の状態を診断することを意味している。ここで、T12D=オフ(“L”)でないと判定されれば(ステップ706NO)、所定のエラーテーブル1が更新されて(ステップ707)、第1系統側の端子T12に内蔵された入力回路等の異常が記憶される。
続いて第1CPUの側では、さらにT12Pをオフ(“L”)させ(ステップ708)、T11Pをオフ(“L”)させた後(ステップ709)、300μs以上のウエイト処理を実行した後(ステップ710)、図29へ移って、T11min=オフ(“L”)の判定(ステップ711)を行う。ここで、T12をオフ(“L”)、T11Pをオフ(“L”)の状態において、T11min=オフ(“L”)を判定するということは、第1系統のブレイク接点b11と第2系統のブレイク接点b21との系統短絡を判定することを意味している。ここで、T11min=オフ(“L”)でないと判定されると(ステップ711NO)、エラーテーブル3が更新されて(ステップ712)、先ほど説明した、第1系統と第2系統との短絡が記憶される。
さらに、第1CPUの側では、T12D=オフ(“L”)の判定(ステップ713)が実行される。ここで、T12D=オフ(“L”)を判定するということは、特にセーフティスイッチがマットスイッチの場合において、マットスイッチに対する24Vの配線を間違って結線、または断線したような場合を意味している。ここで、T12D=オフ(“L”)でないと判定されれば(ステップ713NO)、エラーテーブル6が更新されて(ステップ714)、マットスイッチに異常配線があった旨が実質的に記憶される。
続いて、第1CPUの側では、T11Pをオン(“H”)させた後、T11M=オン(“H”)の判定を行う(ステップ716)。ここで、T11Pをオン(“H”)させた状態において、T11M=オン(“H”)を判定するということは、第1系統側の端子T11に内蔵された回路の故障診断を行っていることを意味している。ここで、T11M=オン(“H”)でないと判定されれば(ステップ716NO)、エラーテーブル5が更新されて(ステップ717)、端子T11に内蔵された回路の異常が記憶される。
一方、以上第1CPU側の処理の最中、第2CPU側においては、CPU間通信を行った後(ステップ721)、100μsウエイト処理を実行して(ステップ722)、しかる後T12D=オフ(“L”)の判定(ステップ723)を行う。ここで、T12D=オフ(“L”)ということは、先に第1CPU側において行った処理(ステップ706,707)と同じである。すなわち、第2CPU側においても、端子T12の内部入力回路が正常であるか否かを判定することを意味している。
このようにして、第1CPU側において、ステージ#1,ステージ#2,ステージ#3が順次実行される一方、第2CPU側においてもステージ#1の状態が終了すると、最後に両CPUにおいては判定処理(ステップ718,725)を実行する。
判定処理の詳細を示すフローチャートが図36に示されている。この判定処理においては、図37に示されるエラーテーブルの内容を参照することによって、セーフティスイッチ側の故障及び/又は入力端子台に内蔵された入力回路及び出力回路の異常を判定する。すなわち、図37に示されるように、入力診断用のエラーテーブルには、基本モジュール並びに拡張モジュール1〜8のそれぞれごとに、診断結果記憶エリアが設けられている。尚、図中モードと記された欄は、当該モジュールの動作モードを示している。ここで先に説明したように、『0』は非常停止モード、『1』は非常停止+入力1アクティブ反転モード、『2』は両手操作スイッチモード、『3』はマットスイッチモード、『4』はライトカーテンモード、『−1』は接続なしをそれぞれ示している。また、診断結果記憶領域には、『テーブル1自入力部故障』、『テーブル2他入力部故障』、「テーブル3安全入力』、『テーブル4,6断線』、『テーブル5モニタ回路故障』からなる5つのエリアが設けられている。そして、各エリアには、診断結果が所定のコードで記憶されている。ここで『0』は診断未実施(システムによって定期的にクリアされる)を示しており、『−1』は正常終了、『1』は異常1回目、『2』は異常2回目をそれぞれ示している。従って、この入力診断用のエラーテーブルの内容を参照することによって、基本モジュール並びに拡張モジュールのそれぞれについて、そのモードを参照しつつ、診断結果を確認することによって、セーフティスイッチ側の故障、及び/又は端子台側の入力回路及び/又は出力回路の故障を的確に判定することができるのである。
次に、以上説明した前半処理の信号状態を、図30のタイムチャートに従って説明する。同図において、上側が第1CPU側の処理であり、下側が第2CPU側の処理である。図から明らかなように、第1CPU側の処理においては、T12P(out)をオン(“H”)させた状態において、T12Dの信号状態を参照することにより、内部回路の故障状態を判定することができる。一方、T11P(out)をオフ(“L”)させた状態において、T11M(in)の状態を参照することによって、24Vのままは入力系統間ショートとして判定することができる。また、T12Dの信号状態を参照し、これが当初から“L”の状態の場合には、マットスイッチの場合のみにおいては、断線と判定することができる。一方、第2CPU側の処理において、T12Dを参照することにより、内部回路の故障等を適切に判定することができる。
次に、入力診断処理の後半の処理を、図31〜図33を参照して説明する。尚、これらの処理は、先に説明した前半の処理におけるものを、第1CPU側と第2CPU側とを交換したものに相当する。すなわち、この実施の形態においては、第1CPU側と第2CPU側とにおいて交互に同一の処理を実行することにより、故障診断時期に時間差を持たせることによって、接続されたセーフティスイッチの2つの系統間における短絡を確実に検出しようとするものである。尚、図31〜図33の処理は、先に前半の処理に関して説明した図28〜図30の処理と全く同一であるから、詳細な説明は省略する。
最後に、判定処理の詳細を示すフローチャートが図36に示されている。同図において処理が開始されると、まずテーブル1エラー<2の判定(ステップ801)が行われる。ここでは、テーブル1エラー<2でないと判定された場合に限り(ステップ801NO)、エラーコードがセットされる(ステップ802)。
続いて、テーブル2エラー<2の判定が行われ(ステップ803)、ここではテーブル2エラー<2でないと判定された場合に限り(ステップ803NO)、エラーコードのセットが行われる(ステップ804)。
続いて、テーブル5エラー<2の判定が行われ(ステップ805)、ここではテーブル5エラー<2でないと判定された場合に限り(ステップ805NO)、エラーコードのセットが行われる(ステップ806。
続いて、動作モードがマットモードであるか否かの判定が行われる(ステップ807)。ここで動作モードがマットモードでないと判定されれば(ステップ807YES)、テーブル3エラー<2の判定が行われ(ステップ808)、ここでは、テーブル3エラー<2でないと判定された場合に限り(ステップ808NO)、エラーコードのセットが行われる(ステップ809)。
これに対して、動作モードがマットモードと判定された場合には(ステップ807NO)、続いてテーブル4エラー<2の判定が行われ(ステップ810)、ここではテーブル4エラー<2でないと判定された場合に限り(ステップ810NO)、エラーコードのセットが行われる(ステップ813)。
一方、テーブル4エラー<2であると判定された場合には(ステップ810YES)、続いてテーブル6エラー<2の判定が行われ(ステップ811)、ここではテーブル6エラー<2でないと判定された場合に限り(ステップ811NO)、エラーコードのセットが行われる(ステップ812)。
このようにして、エラーコードがセットされると(ステップ802,804,806,809,813,812)、このセーフティコントローラは動作を停止し、いわゆるロックアウト状態へと移行するのである。すなわち、外部に接続されたセーフティスイッチの断線や短絡、あるいは入力端子台に内蔵される入力回路や出力回路に異常があれば、直ちにセーフティコントローラの動作は停止され、それらの異常に基づく危険な状態への移行が未然に防止されるわけである。
次に、基本モジュール又は拡張出力モジュールにおいて実行される出力処理の詳細を示すフローチャートが図38に示されている。同図において処理が開始されると、スロットを指定するポインタを『+1』に初期設定した後(ステップ901)、ポインタにて指定されるスロットに装着されたモジュール(基本モジュール又は拡張モジュール)が出力モジュールであるか否かの判定を行う(ステップ902)。ここで出力モジュールと判定されれば(ステップ902YES)、先に図26のフローチャートにおけるステップ516,517,523,524において記憶された出力判定値の読み出しが行われ(ステップ903)、それらの判定値に応じた出力処理が実行される(ステップ904)。
以後、スロット指定ポインタの値を+1ずつ更新させながら、該当するスロットに関して出力モジュールであるか否かの判定を行い、出力モジュールである場合には以上の処理(ステップ903,904)を繰り返すことによって、基本モジュール又は拡張出力モジュールの該当する出力端子台から外部へと出力信号を送り出すのである。
以上詳細に説明したように、本発明のセーフティコントローラにあっては、基本モジュール2内のプログラムメモリ202a,202bに、セーフティ入力信号の状態とセーフティ出力信号の状態との関係を規定するセーフティ動作プログラムを予定されるセーフティスイッチの種類のそれぞれについて記憶させる一方、パソコン(PC)6を介して、外部入力端子部とその外部入力端子部に接続されるべきセーフティスイッチの種類とを設定し、しかる後、動作モードにおいては、動作プログラム記憶手段であるプログラムメモリ202a,202bに記憶された複数種のセーフティ動作プログラムの中で、設定手段にて設定されたスイッチ種類に対応するセーフティ動作プログラムを選択し、これを設定手段にて設定された外部入力端子部に関して実行させるようにしたものであるから、基本モジュール並びに拡張モジュールのそれぞれに任意の種類のセーフティスイッチを接続可能であると共に、それらに対応した動作プログラムを適切に動作させることによって、任意個数のセーフティスイッチを様々に組み合わせて、所望するセーフティシステムを効率よく実現することができる。
加えて、各入力端子部においては、外部接続されたセーフティスイッチのみならず、内部入出力回路についても、適宜に故障診断が行われるため、それらの処理とも相俟って、高い安全性を維持しつつ、セーフティコントローラを運転させることができるのである。
次に、各種スイッチに対応する動作プログラムの詳細(特に、動作プログラムの入力値判定部分)を、図39〜図50を参照しながら詳細に説明する。
非常停止スイッチモードにおけるコントローラの動作(入力判定部分)を示す状態遷移図が図39に示されている。同図に示されるように、この状態遷移図には、『INITIAL』、『READY#2』、『TIMEOUT#2』、『ON』、『TIMEOUT#3』、『TIMEOUT#1』、『READY#1』とからなる7つの状態が存在する。これらの状態間の遷移は、特定の条件の成立により行われる。図では、それらの条件が矢印とこれに付された記号で表されている。
例えば状態『INITIAL』から状態『READY#1』への移行は、条件T22=Xの成立により行われる。逆に、状態『READY#1』から状態『INITIAL』への移行は、条件T22=反転X(Xの論理反転)の成立により行われる。この状態遷移図の読み方は、上述の要領により、当業者であれば容易に理解されるはずであるが、念のため、主要な動作を分かりやすくフローチャートを使用して説明する。
非常停止スイッチがオフからオンに切り替わったことを判定するための処理プログラムを示すフローチャートが図40に示されている。いま仮に、端子T12とT22(図34,35参照)はOFF(“L”)であると想定する(ステップ1001)。続いて、ステップ1002においては、T12がON(“H”)であるか否かの判定が行われる。ここでT12がON(“H”)ではないと判定されれば(ステップ1002NO)、ステップ1009へ進んで、非常停止スイッチはOFFと判定される。これに対して、T12がON(“H”)であれば(ステップ1002YES)、系統間同期監視タイマがスタート中でないことを条件として(ステップ1003NO)、系統間同期監視タイマをスタートさせた後(ステップ1004)、T22がON(“H”)であるか否かの判定を行う(ステップ1005)。ここでT22がON(“H”)でなければ(ステップ1005NO)、続いて系統間同期監視タイマがタイムアップするのを待機する(ステップ1008)。その間にT22がON(“H”)と判定されれば(ステップ1005YES)、後述する履歴処理(ステップ1006)を実行した後、非常停止スイッチはONと判定される(ステップ1007)。これに対して、系統間同期監視タイマがタイムアップしてしまえば(ステップ1008YES)、非常停止スイッチはOFFと判定される(ステップ1009)。
次に、非常停止スイッチがONからOFFに切り替わったことを判定するための処理のプログラムを示すフローチャートが図41に示されている。いま仮に、端子T12とT22がON(“H”)であると仮定する(ステップ1101)。この状態において、T12がON(“H”)であって(ステップ1102YES)、かつT22がON(“H”)であれば(ステップ1103YES)、非常停止スイッチはONと判定される。これに対して、端子T12,T22のいずれかがOFF(“L”)であると判定されれば(ステップ1102NO又は1103NO)、非常停止スイッチはOFFと判定される(ステップ1105)。
次に、図42〜図44を参照して、セーフティスイッチ作動時を利用した接点溶着診断について説明する。先に図40を参照して説明したように、セーフティスイッチの作動時にあっては、ステップ1006において履歴処理が実行される。この履歴処理(ステップ1006)は、セーフティスイッチが有する2系統の入力信号T12,T22のそれぞれについて、入力タイミング間の同期ずれ時間を計測し、これを時系列的にメモリに記憶させるものである。
すなわち、図42に示されるように、履歴処理(ステップ1006)においては、FIFOスタックを構成するメモリエリアのポインタを+1ずつ歩進させながら(ステップ1201)、ポインタの指定しているアドレスに対して、図43(b)に示される同期ずれ時間T1を記憶させる。FIFOスタック処理を実現するため、ポインタの値が最終アドレスを超えた場合には(ステップ1202YES)、ポインタの内容を0にクリアさせる(ステップ1203)。
以上の処理を繰り返す結果、図43(a)に示されるように、基本モジュール2のRAMのワークエリアに形成された履歴生成領域(図43(a)参照)には、先ほど説明した同期ずれ時間(T1)が安全入力の系統間の測定時間として順次記憶される。すなわち、図43(a)の例にあっては、ポインタで指定されるアドレス0001,0002,0003,0004,・・・000Fのエリアに、95ms,100ms,102ms,100ms,・・・98msのように同期ずれの時間(T1)が格納されていく。図43(b)のタイムチャートは、セーフティスイッチが有する2系統の入力端子T12,T22のそれぞれのオンタイミングを比較して示すものであり、それらの立ち上がり時間の差が同期ずれ時間(T1)となる。一方、これらの同期ずれ時間(T1)は監視しきい値(Th)と比較され、同期ずれの時間(T1)が監視しきい値(Th)を超えた場合、先のフローチャートにおいてステップ1008で示されたように、タイマのタイムアップによって、非常停止スイッチはOFFと判定されることとなる(ステップ1009)。
一方、図43(a)に示される履歴生成領域の内容は、適宜パソコン(PC)6へと読み出しが可能となされている。すなわち、図44のフローチャートに示されるように、基本モジュールにおいて、受信データを読み出し(ステップ1301)、読み出されたコマンドが安全入力の同期時間読み出しコマンドであると判定されれば(ステップ1302)、指定された履歴数分だけメモリの内容の読み出しが行われ(ステップ1303)、それに基づいて送信データが作成されて、読み出し要求を行ったパソコン(PC)6へと返送されるのである(ステップ1304)。
このように、図40に示されるように、セーフティコントローラとしての通常の動作を行いつつ、入力スイッチを構成する第1系統の入力信号と第2系統の入力信号との立ち上がり時間差(同期ずれ時間T1)を検出し、これを図43(a)に示されるように、履歴生成領域へと時系列的に記憶させておき、しかる後、任意の時点において、パソコン(PC)6から所定の読み出しコマンドを送り出すことによって、図44のフローチャートに示されるように、履歴生成領域からのデータ読み出し並びに送信データの作成を行って、これをパソコン(PC)6側へと送り出すのである。一方、パソコン(PC)6の側でも、基本モジュールから読み出された一連の同期ずれ時間(T1)を、適当なしきい値と比較したり、あるいはその時系列的な変化の度合いをグラフ化するなどによって、取り扱い対象となるセーフティスイッチの接点劣化状況を判定したり、焼き付きに至る残り時間を推定するといった様々な用途に使用することができるであろう。
次に、両手操作スイッチモードにおけるコントローラの動作(入力判定部分)を示す状態遷移図が図45に示されている。同図に示されるように、この状態遷移図には、『INITIAL#1』、『INITIAL#2』、『READY#1』、『TIMEOUT#1』、『TIMEOUT#3』、『ON』、『TIMEOUT#2』、『READY#2』とからなる8個の状態が存在する。そして、これらの状態間の移行条件は、先に説明したように、矢印とその矢印に付された記号とで表されている。先に述べたように、この状態遷移図の理解は、先の要領により、当業者であれば容易であろうが、念のため図46〜図48を参照して、代表的な動作について分かりやすく説明する。
図46において処理が開始されると、端子T12とT22がOFF(“L”)かつ端子T13とT23がON(“H”)となることが待機される(ステップ1401)。この状態において、端子T12とT22がOFF(“L”)かつ端子T13とT23がON(“H”)になると(ステップ1401YES)、続いて端子T12がON(“H”)であるか否かの判定が行われる(ステップ1402)。ここで、端子T12についてもON(“H”)と判定されれば(ステップ1402YES)、接点間同期監視タイマがスタート中でないことを条件として(ステップ1403NO)、接点間同期監視タイマをスタートさせた後(ステップ1404)、端子T13がOFF(“L”)であるか否かの判定が行われる(ステップ1405)。ここで、端子T13がOFF(“L”)と判定されれば(ステップ1405YES)、続いて端子T22がON(“H”)かつ端子T23がOFF(“L”)であるか否かの判定が行われる(ステップ1408)。ここで、端子T22がON(“H”)かつT23がOFF(“L”)と判定されれば(ステップ1408YES)、両手操作スイッチはONと判定される(ステップ1409)。
これに対して、端子T13がOFF(“L”)であることを待機する間に(ステップ1405NO)、接点間同期監視タイマがタイムアップすれば(ステップ1406YES)、両手操作スイッチはOFFと判定され(ステップ1407)、処理は終了する。また、端子T22がON(“H”)かつT23がOFF(“L”)でなければ(ステップ1408NO)、系統間同期監視タイマがスタート中でないことを条件として(ステップ1410NO)、系統間同期監視タイマをスタートさせた後(ステップ1411)、系統間同期監視タイマがタイムアップするのを待機する(ステップ1412NO)。この状態において、系統間同期監視タイマがタイムアップすれば(ステップ1412YES)、両手操作スイッチはOFFと判定される(ステップ1413)。
次に、両手操作スイッチがONからOFFに切り替わったことを判定するための処理プログラムを示すフローチャートが図48に示されている。同図において、いま仮に端子T12とT22はON(“H”)、かつ端子T13とT23はOFF(“L”)であると想定する(ステップ1501)。この状態において、端子T12がON(ステップ1502YES)、T22がON(ステップ1503YES)、T13がOFF(ステップ1504YES)、かつT23がOFF(ステップ1505YES)と判定されれば、両手操作スイッチはONと判定される(ステップ1506)。
これに対して、T12がONでない(ステップ1502NO)、T22がONでない(ステップ1503NO)、T13がOFFでない(ステップ1504NO)、T23がOFFでない(ステップ1505NO)のいずれか1つが判定されれば、両手操作スイッチはOFFと判定される(ステップ1507)。
次に、マットスイッチモードにおけるコントローラの動作(入力判定部分)を示す状態遷移図が図49に示されている。この状態遷移図は、『INITIAL』及び『ON』からなる2つの状態を有する。これらの状態間の移行は、マットOFF又はマットONのいずれかであって、極めて簡単である。これをフローチャートで示せば、図50に示されるように、系統間の短絡が起こっているか否かに基づいて(ステップ1601、マットスイッチはOFFと判定され(ステップ1602)又はマットスイッチはONと判定される(ステップ1603)。
次に、この実施形態に示される基本モジュール又は拡張モジュールに組み込まれた様々なチェック処理について説明する。モジュールチェック処理の詳細を示すフローチャートが図51に示されている。このモジュールチェック処理とは、マザーボード上の拡張スロットに対して任意の拡張スロットを装着した場合、これが予め設定された種別の拡張モジュールかあるいはそうでないかの判定を自己診断できるようにしたものである。このモジュールチェック処理については、例えば、図27に示されるその他の診断処理(ステップ602)において実行される。
図51において処理が開始されると、当該スロットに対応するメモリにIDが割り付けてあるか否かの判定が行われる(ステップ1701)。ここでメモリにIDが割り付けてあれば(ステップ1701YES)、実際のモジュールからIDの読み出しが行われ(ステップ1702)、次いでメモリに記憶されたIDとモジュールから読み出されたIDとの照合が行われ(ステップ1703)、両者が不一致な場合にはエラーとの認識が行われ(ステップ1704)、コントローラの起動が禁止される。以上の処理が、マザーボードに装着された全てのスロットに関して行われる結果、例えば、パソコンから各スロットに対して様々な種別の拡張モジュールを設定はしたものの、オペレータのミス等によって、指定されたスロットに異なる種別の拡張モジュールが装着されてしまったような場合には、このモジュールチェック処理の実行により、誤動作が防止されることとなる。
次に、第1のバックチェックのための結線方法を示す配線図が図52に、同バックチェックのための処理を示すフローチャートが図53にそれぞれ示されている。図52に示されるように、基本モジュール2にはフィードバック端子FB0が設けられる。そして、このFB0と電源24Vとの間には、マグネットスイッチMS1の補助ブレイク接点MS1−2とマグネットスイッチ2の補助ブレイク接点MS2−2とが直列に介在される。そのため、フィードバック端子FB0の電圧(“H”又は“L”)を観察することによって、マグネットスイッチMS1,MS2に対してセーフティ出力信号を送り出した後、実際にマグネットスイッチの主メイク接点MS1−1,MS2−1がOFFされたかどうかを確認することができる。すなわち、図53に示されるように、基本モジュール2内においては、端子T22,T32へとセーフティ出力を送出した後、フィードバック端子FB0がOFFされる時点を監視する(ステップ1801NO)。そして、タイマをスタートした後(ステップ1802)、フィードバック入力がON状態のまま(ステップ1803)、監視時間が設定値を超えた場合には(ステップ1804YES)、エラーとの判定を行うことによって(ステップ1805)、マグネットスイッチMS1,MS2の主接点MS1−1,MS2−1の接点焼き付き事故等をいち早く検出することができるのである。
次に、第2のバックチェックのための結線方法を示す配線図が図54に、同チェックのための処理を示すフローチャート(その1)が図55に、同フローチャート(その2)が図56にそれぞれ示されている。この例にあっては、拡張ユニット4A′の側に2個のフィードバック端子FB1,FB2が設けられる。そして、これらのフィードバック端子FB1,FB2は、マグネットスイッチMS1,MS2の補助ブレイク接点MS1−2,MS2−2がそれぞれ電源を介して接続される。これにより、ブレイク接点MS1−2,MS2−2のON/OFF状態を個別に拡張モジュール4A′に取り込み、マザーボード上のバスを介して基本モジュール2へと送り込むことによって、基本モジュール2内でマグネットスイッチMS1,MS2の接点溶着診断個別に行うことができる。
すなわち、図55のフローチャートに示されるように、各スロットに対してスキャニングを行いつつ、出力モジュールと判定された場合には(ステップ1901YES)、出力がOFFした時点から(ステップ1903YES)、所定の監視時間が経過する間に(ステップ1906NO)、フィードバック入力がONすることを(ステップ1905YES)待機する。そして、フィードバック入力がONするたびに(ステップ1905YES)、履歴処理(ステップ1908)を実行することによって、図57(a)に示されるように、履歴生成領域内にフィードバック測定時間を蓄積する。履歴生成処理(ステップ1908)の詳細が図56(a)に、また履歴読出し処理の詳細が図56(b)に示されている。この履歴生成処理(ステップ1908)においては、図56(a)に示されるように、図57(a)に示される履歴生成領域内においてポインタを+1更新しつつ(ステップ2001)、ポインタが最終アドレスを超えるたびに(ステップ2002)、ポインタを0に更新することによって(ステップ2003)、ポインタ値が示しているアドレスに書込を行う(ステップ2004)。そして、図57(b)に示されるように、セーフティ出力をOFFさせた後、フィードバック入力がONするまでのフィードバック時間を観察し、その時間的変位が監視しきい値に達するか否かによって、接点溶着診断を行うことができるのである。
一方、図57(a)に示される履歴生成領域の内容は、適宜パソコン(PC)6へと読み出しが可能となされている。すなわち、図56(b)のフローチャートに示されるように、基本モジュールにおいて、受信データを読み出し(ステップ2101)、読み出されたコマンドがフィードバック時間読み出しコマンドであると判定されれば(ステップ2102)、指定された履歴数分だけメモリの内容の読み出しが行われ(ステップ2103)、それに基づいて送信データが作成されて、読み出し要求を行ったパソコン(PC)6へと返送されるのである(ステップ2104)。
このように、図55に示されるように、出力がOFFした時点から、所定の監視時間が経過する間にフィードバック入力がONする時間差を検出し、これを図57(a)に示されるように、履歴生成領域へと時系列的に記憶させておき、しかる後、任意の時点において、パソコン(PC)6から所定の読み出しコマンドを送り出すことによって、図56(b)のフローチャートに示されるように、履歴生成領域からのデータ読み出し並びに送信データの作成を行って、これをパソコン(PC)6側へと送り出すのである。一方、パソコン(PC)6の側でも、基本モジュールから読み出された一連のフィードバック時間を、適当なしきい値と比較したり、あるいはその時系列的な変化の度合いをグラフ化するなどによって、取り扱い対象となるマグネットスイッチの接点劣化状況を判定したり、焼き付きに至る残り時間を推定するといった様々な用途に使用することができるであろう。
次に、動作状態モニタ端子付きのセーフティコントローラの説明図(その1)が図58に示されている。この例にあっては、プログラマブル・コントローラ(PLC)からの動作状態信号S1を本発明のセーフティスイッチ(SC)のモニタ端子MT0に入力することによって、PLCが制御対象となる装置を作動させている状態かどうかの判定を行う。そして、PLCが該当する制御対象装置を作動させていない状態にあっては、仮にセーフティスイッチからの信号に基づいて、危険な状態と判定されるような場合にあっても、遮断出力OUT2、OUT3を出力させないことによって、例えばメンテナンス作業や運転停止中において、作業員が危険領域に進入したような場合、その都度セーフティスイッチが作動して、セーフティコントローラ(SC)によってコンタクタ(KM2,KM3)が不用意に遮断されることがないようにしているのである。すなわち、装置の制御系はプログラマブル・コントローラ(PLC)によって管理され、人の管理系はセーフティコントローラ(SC)によって独立に実行することにより、装置の制御系がアクティブな状態でない限り、仮に危険領域に作業員が進入しても、セーフティコントローラからは遮断出力が生じないようにしているのである。
動作状態モニタ端子付きのセーフティコントローラの説明図(その2)が図59に示されている。この例にあっては、同図(a)に示されるように、従来装置の制御系と人の管理系のそれぞれにマグネットスイッチKM1,KM2,KM3が存在して、スイッチKM1についてはプログラマブル・コントローラ(PLC)で、スイッチKM2,KM3についてはセーフティコントローラ(SC)の出力OUT2,OUT3でON/OFF動作を行っていたものを、同図(b)に示されるように、プログラマブル・コントローラ(PLC)からセーフティコントローラ(SC)に対して動作指令信号S2を与え、これをセーフティコントローラ(SC)側のモニタ端子(MT1)で受けることによって、インターロックを掛け、プログラマブル・コントローラ(PLC)が動作していない時には、遮断出力OUT2,OUT3が出力されないようにして、装置の制御系における遮断スイッチKM1を省略可能としたものである。
次に、入力回路を利用したソレノイド診断の説明図が図60に示されている。この例にあっては、同図(a)に示されるソレノイド接続端子E1,E2に対して、同図(b)のタイムチャートに示されるように、出力Aout,Boutを送りながら、信号Ain,Binを観察することによって、ソレノイドSOLの導通故障並びに断線故障を判定できるようにしたものである。この診断処理については、先のフローチャートに示されたように、電源投入直後あるいは通常モード中の診断処理等の適宜なタイミングにおいて行うことができる。
最後に、各セーフティスイッチに対応した動作プログラムにおける出力制御態様(その1)が図61に、同出力制御態様(その2)が図62にそれぞれ示されている。
図61(a)に示されるものは、基本モジュール(main)の管理下において、基本モジュールの入力部(INmain)あるいは2つの拡張入力モジュール(INadditional1,2)のいずれかにおいて、セーフティスイッチがOFFと判定されると、基本モジュールの出力部(OUTmain)あるいは拡張出力モジュール(OUT1,2)の出力を全て一括してOFFさせるようにしたものである。
同図(b)に示されるものは、基本モジュール(main)の管理下において、基本モジュールの入力部(INmain)あるいは2つの拡張入力モジュール(INadditional1,2)のいずれかにおいて、セーフティスイッチがOFFと判定されると、基本モジュールの出力部(OUTmain)と第1拡張モジュールの出力部(OUT1)については瞬時にOFFさせるものの、第2拡張出力モジュールの出力部(OUT2)についてはオフディレー出力させるものである。
図62(a)に示されるものは、基本モジュール(main)の管理下において、基本モジュールの入力部(INmain)がセーフティスイッチのOFF判定を行うと、基本モジュールの出力部(OUTmain)も瞬時OFFさせる一方、2台の拡張モジュールの入力部(INadditional1,2)のいずれかにおいて、セーフティスイッチがOFFと判定されると、それら拡張モジュールの出力部(OUT1,2)を瞬時OFFさせるものである。
図62(b)に示されるものは、基本モジュール(main)の管理下において、基本モジュールの入力部(INmain)がセーフティスイッチのOFF判定を行うと、基本モジュールの出力部(OUTmain)並びに2台の拡張モジュールの出力部(OUT1,2)を瞬時OFFさせる一方、2台の拡張モジュールの入力部(INadditional1,2)のいずれかがセーフティスイッチのOFF判定を行うと、それら拡張モジュールの出力部(OUT1,2)を瞬時OFFさせるものである。
このように、セーフティ動作プログラムを構成するセーフティースイッチの入力判定結果と出力制御状態との関係は、様々な態様を予め組み込むことが可能である。
尚、以上説明したセーフティ動作プログラムについては、工場出荷時において固定的に組み込み、ユーザ側では変更ないし操作はできないものであるから、欧州への輸出等に際しても、セーフティ規格の認定を予め受けておけば、ユーザサイドにおいてどのような安全スイッチに対応する設定を行ったとしても、システム構築後にその都度安全なセーフティ規格の認定を受ける必要はなくなる。