(57)【要約】      （修正有）【課題】  予定された複数種類のセーフティスイッチのいずれかであれば、どの種類のものにも簡単な操作で必要な動作プログラムを設定することができ、しかも欧州等への輸出に際しても、セーフティシステムへの組み込みの都度、セーフティ規格認定を受ける必要がないセーフティコントローラを提供すること。【解決手段】  基本モジュールには、外部入力端子部からのセーフティ入力信号の状態と外部出力端子部へのセーフティ出力信号の状態との関係を規定するセーフティ動作プログラムを予定されるセーフティスイッチの種類別に記憶させた記憶手段と、外部入力端子部とそこへ接続されるべきセーフティスイッチの種別とを設定するためのスイッチ種別設定手段と、記憶手段に記憶された複数種のセーフティ動作プログラムの中で、設定されたスイッチ種別に対応するプログラムを選択し、これを設定された外部入力端子部に関して実行する実行手段と、が具備されている。【選択図】  図１
2004297997.tif 000002
【特許請求の範囲】
【請求項１】
基本モジュールと、１若しくは２以上の拡張モジュールと、それらをバス接続する拡張用スロット付のマザーボードとを有し、
前記拡張モジュールの１つである入力拡張モジュールには、
１若しくは２以上のセーフティスイッチが接続可能な１若しくは２以上の外部入力端子部と、
１若しくは２以上の外部入力端子部からセーフティ入力信号を取り込むための入力回路と、が含まれており、
前記拡張モジュールの１つである出力拡張モジュールには、
危険源の出力制御系へと接続可能な外部出力端子部と、
外部出力端子部へとセーフティ出力信号を送出するための出力回路と、が含まれており、
前記基本モジュールには、
セーフティ入力信号の状態とセーフティ出力信号の状態との関係を規定するセーフティ動作プログラムを予定されるセーフティスイッチの種類のそれぞれについて記憶させた動作プログラム記憶手段と、
外部入力端子部とその外部入力端子部に接続されるべきセーフティスイッチの種類とを設定するためのスイッチ種類設定手段と、
動作プログラム記憶手段に記憶された複数種のセーフティ動作プログラムの中で、設定手段にて設定されたスイッチ種類に対応するセーフティ動作プログラムを選択し、これを設定手段にて設定された外部入力端子部に関して実行する動作プログラム実行手段と、
を具備することを特徴とするセーフティコントローラ。
【請求項２】
前記基本モジュールにも、
１若しくは２以上のセーフティスイッチが接続可能な１若しくは２以上の外部入力端子部と、
１若しくは２以上の外部入力端子部からセーフティ入力信号を取り込むための入力回路と、
危険源の出力制御系へと接続可能な外部出力端子部と、
外部出力端子部へとセーフティ出力信号を送出するための出力回路と、が含まれていることを特徴とする請求項１に記載のセーフティコントローラ。
【請求項３】
前記基本モジュールには、マザーボード上の拡張用スロットから読み込まれたモジュール識別情報と基本モジュール側に設定されたモジュール識別情報との照合により、各拡張スロットに予定の拡張モジュールが装着されているか否かを診断する診断プログラムを実行する手段が含まれていることを特徴とする請求項１に記載のセーフティコントローラ。
【請求項４】
前記基本モジュールには、
外部接続端子部に接続されたセーフティスイッチの故障診断を行う故障診断プログラムを予定されるセーフティスイッチの種類別に記憶させた故障診断プログラム記憶手段と、
故障診断プログラム記憶手段に記憶された複数種の故障診断プログラムの中で、設定手段にて設定されたスイッチ種別に対応する故障診断プログラムを選択し、これを設定手段にて設定された外部入力端子部に関して実行する故障診断プログラム実行手段と、
がさらに具備されていることを特徴とする請求項１に記載のセーフティコントローラ。
【請求項５】
ロック解除用ソレノイドを有する電磁ロック式ドアスイッチの故障診断プログラムには、ロック解除用ソレノイドの故障を診断するソレノイド診断機能が含まれていることを特徴とする請求項４に記載のセーフティコントローラ。
【請求項６】
故障診断プログラムには、セーフティスイッチに含まれる一対の連動接点から到来する２系統の信号間における時間差の経時的変化に基づいてセーフティスイッチの接点劣化を診断可能とする履歴生成機能が含まれていることを特徴とする請求項４に記載のセーフティコントローラ。
【請求項７】
故障診断プログラムには、セーフティ出力信号を送出したのち、コンタクタ補助接点からのフィードバック信号が到来するまでの時間差の経時的変化に基づいてコンタクタの接点劣化を診断可能とする履歴生成機能が含まれていることを特徴とする請求項４に記載のセーフティコントローラ。
【請求項８】
前記基本モジュールには、基本モジュール又は拡張モジュールに設けたフィードバック入力端子から取り込まれたコンタクタ補助接点信号に基づいて危険源の出力制御系を構成するコンタクタの状態を監視する出力監視プログラムを実行する手段が含まれていることを特徴とする請求項１に記載のセーフティコントローラ。
【請求項９】
前記基本モジュールには、基本モジュール又は拡張モジュールに設けたＰＬＣ動作状態入力端子から取り込まれたＰＬＣ動作状態信号に基づいて、前記セーフティ動作プログラムの実行結果である出力動作の可否を制御するインターロックプログラムを実行する手段が含まれていることを特徴とする請求項１に記載のセーフティコントローラ。
【請求項１０】
請求項１に記載のセーフティコントローラと、そのセーフティコントローラに接続された１若しくは２以上のセーフティスイッチとを具備することを特徴とするセーフティシステム。
【請求項１１】
予定されるセーフティスイッチの種類として、非常停止スイッチを有し、
非常停止スイッチに対応するセーフティ動作プログラムは、
設定されたスイッチ種類が非常停止スイッチである入力拡張モジュールの外部入力端子部に対して前記バス接続を介して、オンおよびオフの信号を有する２系統の出力信号を与え、それぞれの出力信号に対応する非常停止スイッチからのブレイク接点を介した２系統の入力信号を取り込み、それぞれが出力信号に対応してオンおよびオフの信号が得られているかどうかを確認することによって各系統の短絡、断線もしくは不導通を検出する第1のステップと、
前記の２系統の入力信号を取り込むための２系統の入力回路それぞれに対して、入力回路にオンの信号入力を与え、当該入力回路からオンの信号が得られるか、および／または、入力回路にオフの信号入力を与え、当該入力回路からオフの信号が得られるかを調べることによって２系統のいずれの入力回路内の断線あるいは不導通の発生を検出する第２のステップと、
前記の２系統の出力信号にオンおよびオフの信号をそれぞれ逆のタイミングで出力し、第1のステップにおける対応関係とは逆の対応関係にある入力信号をそれぞれ取り込み、当該与えたオンの出力信号がそれぞれ入力信号として得られていないことによって2系統間に短絡が生じていないことを確認する第３のステップを実行するとともに、
前記第1のステップにおいて前記２系統の少なくとも一方が不導通となり、あるいは、第２のステップにおいて前記２系統の少なくとも一方の入力回路内に断線あるいは不導通が発生し、あるいは、第３のステップにおいて前記２系統の間に短絡が生じたときに、前記バス接続を介して前記出力拡張モジュールの外部出力端子へ前記出力回路を通じてセーフティ出力信号を送出する第4のステップと、を実行することを特徴とする請求項１に記載のセーフティコントローラ。
【請求項１２】
予定されるセーフティスイッチの種類として、マットスイッチを有し、
マットスイッチに対応するセーフティ動作プログラムは、
設定されたスイッチ種類がマットスイッチである入力拡張モジュールの外部入力端子部に対して前記バス接続を介して、オンおよびオフの信号を有する２系統の出力信号を互いに重ならないタイミングで与え、それぞれの出力信号に対応するマットスイッチからの２系統の入力信号を取り込み、それぞれが出力信号に対応してオンおよびオフの信号が得られているかどうかを確認することによって各系統の導通、断線もしくは誤配線を検出する第５のステップと、
前記の２系統の入力信号を取り込むための２系統の入力回路それぞれに対して、入力回路にオンの信号入力を与え、当該入力回路からオンの信号が得られるか、および／または、入力回路にオフの信号入力を与え、当該入力回路からオフの信号が得られるかを調べることによって２系統のいずれの入力回路内の断線あるいは不導通の発生を検出する第６のステップと、
前記の２系統の出力信号にオンおよびオフの信号をそれぞれ逆のタイミングで出力し、第1のステップにおける対応関係とは逆の対応関係にある入力信号をそれぞれ取り込み、当該与えたオンの出力信号がそれぞれ入力信号として得られていないことによって2系統間の導通、もしくは不導通を検出する第７のステップを実行するとともに、
前記第５のステップにおいて前記２系統の少なくとも一方が断線もしくは誤配線を検出し、あるいは、第６のステップにおいて前記２系統の少なくとも一方の入力回路内に断線あるいは不導通が発生し、あるいは、第７のステップにおいて前記２系統の間が不導通であるときに、前記バス接続を介して前記出力拡張モジュールの外部出力端子へ前記出力回路を通じてセーフティ出力信号を送出する第８のステップと、を実行することを特徴とする請求項１に記載のセーフティコントローラ。
【請求項１３】
予定されるセーフティスイッチの種類として、両手操作スイッチを有し、
両手操作スイッチに対応するセーフティ動作プログラムは、
設定されたスイッチ種類が両手操作スイッチである入力拡張モジュールの外部入力端子部に対して前記バス接続を介して、オン信号である２系統の出力信号を与えるとともに、それぞれの出力信号に対応する両手操作スイッチのメイク接点を介した２系統の入力信号を取り込み、2系統の入力信号が所定の時間内にオンしたかどうかを確認することによって両手操作スイッチが正しく動作されたことを検出する第９のステップと、
前記の２系統の入力信号を取り込むための２系統の入力回路それぞれに対して、入力回路にオンの信号入力を与え、当該入力回路からオンの信号が得られるか、および／または、入力回路にオフの信号入力を与え、当該入力回路からオフの信号が得られるかを調べることによって２系統のいずれの入力回路内の断線あるいは不導通の発生を検出する第１０のステップと、
前記の２系統の出力信号にオンおよびオフの信号をそれぞれ逆のタイミングで出力し、第1のステップにおける対応関係とは逆の対応関係にある入力信号をそれぞれ取り込み、当該与えたオンの出力信号がそれぞれ入力信号として得られていないことによって2系統間に短絡が生じていないことを確認する第１１のステップを実行するとともに、
前記第９のステップにおいて両手操作スイッチが正しく動作されたことを検出し、あるいは、第１０ステップにおいて前記２系統のいずれかの入力回路内に断線あるいは不導通が発生し、あるいは、第１１のステップにおいて前記２系統の間に短絡が生じたときに、前記バス接続を介して前記出力拡張モジュールの外部出力端子へ前記出力回路を通じてセーフティ出力信号を送出する第１２のステップと、を実行することを特徴とする請求項１に記載のセーフティコントローラ。
【請求項１４】
予定されるセーフティスイッチの種類として、ライトカーテンを有し、
ライトカーテンに対応するセーフティ動作プログラムは、
設定されたスイッチ種類がライトカーテンである入力拡張モジュールの外部入力端子部から前記バス接続を介して、ライトカーテンからの２系統の入力信号を取り込み、オフの信号を得たときにライトカーテンが遮光されたことを検出する第1３のステップと、
前記の２系統の入力信号を取り込むための２系統の入力回路それぞれに対して、入力回路にオンの信号入力を与え、当該入力回路からオンの信号が得られるか、および／または、入力回路にオフの信号入力を与え、当該入力回路からオフの信号が得られるかを調べることによって２系統のいずれの入力回路内の断線あるいは不導通の発生を検出する第１４のステップと、を実行するとともに、
前記第１３のステップにおいて前記２系統の少なくとも一方でオフ信号を検出することによりライトカーテンの遮光状態を検知し、あるいは、第１４のステップにおいて前記２系統の少なくとも一方の入力回路内に断線あるいは不導通が発生したときに、前記バス接続を介して前記出力拡張モジュールの外部出力端子へ前記出力回路を通じてセーフティ出力信号を送出する第１５のステップと、を実行することを特徴とする請求項１に記載のセーフティコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、工場内におけるセーフティシステム（作業安全システム）の構築等に好適なセーフティコントローラに係り、特に、各種のセーフティスイッチと危険源となる生産機器等との間にあって、作業員等が危険に晒される状況を回避するための制御を実行するセーフティコントローラに関する。
【背景技術】
【０００２】
工場内におけるセーフティシステムの構築のためには、各種のセーフティコントローラが採用される。この種のセーフティコントローラの基本的な機能は、各種のセーフティスイッチ（例えば、非常停止スイッチ、両手操作スイッチ、マットスイッチ、セーフティリミットスイッチ、ライトカーテン、電磁ロック式セーフティドアスイッチ等）と危険源となる生産機器（ロボットアーム、工作機械、コンベア等）との間にあって、作業員が危険に晒される状況を判断して、当該生産機器を停止させる等の制御を実行するものである。
【０００３】
従来のセーフティコントローラとしては、セーフティＰＬＣ（Programmable Logic Controller）とセーフティリレーユニットとが知られている。セーフティＰＬＣとは、通常のＰＬＣに対して、ハードウェアやソフトウェアを二重化したり、故障診断機能を付加する等により、動作信頼性を高めたものである。セーフティリレーユニットとは、セーフティスイッチと生産機器との間に介在される専用のセーフティリレーを内蔵したユニット機器である。なお、従来、接続されたセーフティスイッチの種類を自動認識して対応する動作プログラムに自動切換することにより、１台で様々な種類のセーフティスイッチに適用可能としたセーフティリレーユニットが知られている（例えば、特許文献１参照）。
【特許文献１】特表２００１−５２１６６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したセーフティＰＬＣは、基本的にはＰＬＣであるから、セーフティスイッチからの入力信号と危険源への出力信号との関係を規定する動作プログラムについては、ユーザであるベンダーやエンドユーザの側でプログラムしなければならず、面倒煩雑でありプログラミングのミスも生じやすい。加えて、厳格なセーフティ規格を要求する欧州等への輸出機器への組み込みに際しては、セーフティＰＬＣへの動作プログラム組み込みが完了した時点で、セーフティ規格を満たしているか否かの認定をその都度受けねばならないから煩雑に耐えない。さらに、生産ラインにおける機器増設等によりセーフティスイッチが増加して動作プログラムの追加が必要となった場合には、その追加動作プログラムに関しても新にセーフティ規格の認定を受けることが必要となり、上述と同様な問題が生ずる。
【０００５】
一方、セーフティリレーユニットにあっては、セーフティスイッチからの入力信号と危険源への出力信号との関係を規定する動作についてはハードウェア的又はソフトウェア的に固定されているから、出荷時等にセーフティ規格の認定を受けていさえすれば、実際のセーフティシステムへの組み込み完了時には重ねて認定を受ける必要はない。しかし、セーフティスイッチの種類別に専用のユニットが必要であるから、様々な種類のセーフティスイッチを含むセーフティシステムに対応するには、各スイッチの種別毎に専用のセーフティリレーユニットを購入せねばならず、発注が面倒で在庫管理も手間がかかり、コストアップが招来される。また、生産ラインにおける機器の増設等に際しても、新に追加されたセーフティスイッチに対応するリレーユニットをその都度購入せねばならず、コストアップが招来される。
【０００６】
なお、特許文献１に記載の１台で様々な種類のセーフティスイッチに適用可能としたＣＰＵ内蔵型のセーフティリレーユニットにあっては、１個のセーフティスイッチにしか適用できないから、複数個のセーフティスイッチを含むセーフティシステムに対応するためには、それぞれＣＰＵを内蔵する複数台のセーフティリレーユニットが必要となり、著しいコストアップが招来される。
【０００７】
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、予め予定された複数種類のセーフティスイッチのいずれかであれば、どの種類のセーフティスイッチにも簡単な操作で必要な動作プログラムを設定することができ、しかも欧州等への輸出に際しても、セーフティシステムへの組み込みの都度、セーフティ規格認定を受ける必要がないセーフティコントローラを提供することにある。
【０００８】
この発明の他の目的とするところは、上記に加えて、多数のセーフティスイッチを含むセーフティシステムを構築する場合、或いは既設のセーフティシステムにおいてセーフティスイッチを増設する場合等に、これを低コストに実現することができるようにした拡張性の高いセーフティコントローラを提供することにある。
【０００９】
この発明のさらに他の目的又は作用効果については、以下の明細書の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００１０】
本発明のセーフティコントローラは、基本モジュールと、１若しくは２以上の拡張モジュールと、それらをバス接続する拡張用スロット付のマザーボードとを有する。
【００１１】
前記拡張モジュールの１つである入力拡張モジュールには、１若しくは２以上のセーフティスイッチが接続可能な１若しくは２以上の外部入力端子部と、１若しくは２以上の外部入力端子部からセーフティ入力信号を取り込むための入力回路と、が含まれている。ここで、『セーフティスイッチ』とは、危険源である装置や機械に人が接近した状態等を検知するため、或いは機械を停止させるためのスイッチやセンサのことであり、具体的には、セーフティマットスイッチ、非常停止スイッチ、両手操作スイッチ、テープスイッチ、ライトカーテン等々がこれに相当する。これらのセーフティスイッチは、フェールセーフ機能や故障診断機能等を備えたり、ハードウェアやソフトウェアの多重化を施す等によって安全性乃至信頼性を高めている。これらのセーフティスイッチの端子数や端子配列はその種類によって区々である。したがって、１個の外部入力端子部には、予定される種類のセーフティスイッチのどれが接続されてもよいだけ数の外部端子が用意されている。また、入力回路にも、予定されるどのような種類のセーフティスイッチが接続されても、各外部端子に対して所望の信号を送出又は取り込み可能な回路構成が含まれている。
【００１２】
前記拡張モジュールの１つである出力拡張モジュールには、危険源の出力制御系へと接続可能な外部出力端子部と、外部出力端子部へとセーフティ出力信号を送出するための出力回路と、が含まれている。ここで、『危険源の出力制御系』とは、例えば、危険源であるロボットアーム、工作機械、コンベア等々の駆動源をオンオフさせるマグネットスイッチ（マグネットコンタクタ：電磁接触器）の制御回路等を意味している。外部出力端子部に接続される機器や素子は１つには限らない。そのため、外部出力端子部には、想定される出力制御系に併せて必要な数の外部出力端子が用意されている。出力回路を構成する出力素子としては、電磁リレーに限らず、半導体スイッチング素子を内蔵したソリッドステートリレー（ＳＳＲ）等も採用することができる。これらの出力素子の数も外部出力端子の数に応じて適宜に決定される。
【００１３】
前記基本モジュールには、セーフティ入力信号の状態とセーフティ出力信号の状態との関係を規定するセーフティ動作プログラムを予定されるセーフティスイッチの種類別に記憶させた動作プログラム記憶手段と、外部入力端子部とその外部入力端子部に接続されるべきセーフティスイッチの種類を設定するためのスイッチ種類設定手段と、動作プログラム記憶手段に記憶された複数種のセーフティ動作プログラムの中で、設定手段にて設定されたスイッチ種類に対応するセーフティ動作プログラムを選択し、これを設定手段にて設定された外部入力端子部に関して実行する動作プログラム実行手段と、が含まれている。ここで、『セーフティ動作プログラム』とは、要するに、１若しくは２以上の外部入力端子部に接続されたセーフティスイッチのそれぞれの動作状態（オン状態／オフ状態）を各セーフティスイッチの構成に対応して判定し、それらの判定結果を規定の論理に当て嵌めて最終的な出力状態を生成して、外部出力端子部の各外部端子に接続された機器や素子へと送出するための動作を実現するプログラムである。一般的な例としては、セーフティシステムにおいては、全てのセーフティスイッチがオン状態であるときに限り、危険源の駆動源（モータ等）のマグネットコンタクタはオンとされ、セーフティスイッチのいずれか１つがオフ状態のときに、同コンタクタはオフとされる。勿論、例外も存在する。
【００１４】
このような構成によれば、どんな種類のセーフティスイッチがどの外部出力端子部に接続されるかの設定を行うだけで、該当するセーフティ動作プログラムが自動的に作動することとなるため、あとは該当する外部入力端子部並びに外部出力端子部にセーフティスイッチ並びに出力素子や機器を接続するだけで、セーフティＰＬＣのように、セーフティ動作プログラムに関するプログラミングを行わずとも、所望のセーフティシステムを簡単かつ迅速に構築することができる。また、セーフティ動作プログラムに関しては規定のプログラムを使用するものであるから、工場出荷時等にセーフティ規格の認定をひとたび受けておけば、どのようなセーフティシステムを構築するについても、その後は、改めてセーフティ規格認定を受ける必要はないから、そのようなセーフティ規格の認定を必要とする欧州等への輸出もスムーズに行うことができる。さらに、多数のセーフティスイッチを含むセーフティシステムを構築したり、或いは既設のセーフティシステムを増設するような場合にも、拡張モジュールを増設したのち、同様な設定操作を行うだけで済み、極めてシステムの拡張自由度が高いと言う利点もある。
【００１５】
本発明の好ましい実施の形態においては、予定されるセーフティスイッチの種類として、非常停止スイッチを有し、非常停止スイッチに対応するセーフティ動作プログラムは、設定されたスイッチ種類が非常停止スイッチである入力拡張モジュールの外部入力端子部に対して前記バス接続を介して、オンおよびオフの信号を有する２系統の出力信号を与え、それぞれの出力信号に対応する非常停止スイッチからのブレイク接点を介した２系統の入力信号を取り込み、それぞれが出力信号に対応してオンおよびオフの信号が得られているかどうかを確認することによって各系統の短絡、断線もしくは不導通を検出する第1のステップと、前記の２系統の入力信号を取り込むための２系統の入力回路それぞれに対して、入力回路にオンの信号入力を与え、当該入力回路からオンの信号が得られるか、および／または、入力回路にオフの信号入力を与え、当該入力回路からオフの信号が得られるかを調べることによって２系統のいずれの入力回路内の断線あるいは不導通の発生を検出する第２のステップと、前記の２系統の出力信号にオンおよびオフの信号をそれぞれ逆のタイミングで出力し、第1のステップにおける対応関係とは逆の対応関係にある入力信号をそれぞれ取り込み、当該与えたオンの出力信号がそれぞれ入力信号として得られていないことによって2系統間に短絡が生じていないことを確認する第３のステップを実行するとともに、前記第1のステップにおいて前記２系統の少なくとも一方が不導通となり、あるいは、第２のステップにおいて前記２系統の少なくとも一方の入力回路内に断線あるいは不導通が発生し、あるいは、第３のステップにおいて前記２系統の間に短絡が生じたときに、前記バス接続を介して前記出力拡張モジュールの外部出力端子へ前記出力回路を通じてセーフティ出力信号を送出する第4のステップと、を実行する。
【００１６】
本発明の好ましい実施の形態においては、予定されるセーフティスイッチの種類として、マットスイッチを有し、マットスイッチに対応するセーフティ動作プログラムは、設定されたスイッチ種類がマットスイッチである入力拡張モジュールの外部入力端子部に対して前記バス接続を介して、オンおよびオフの信号を有する２系統の出力信号を互いに重ならないタイミングで与え、それぞれの出力信号に対応するマットスイッチからの２系統の入力信号を取り込み、それぞれが出力信号に対応してオンおよびオフの信号が得られているかどうかを確認することによって各系統の導通、断線もしくは誤配線を検出する第５のステップと、前記の２系統の入力信号を取り込むための２系統の入力回路それぞれに対して、入力回路にオンの信号入力を与え、当該入力回路からオンの信号が得られるか、および／または、入力回路にオフの信号入力を与え、当該入力回路からオフの信号が得られるかを調べることによって２系統のいずれの入力回路内の断線あるいは不導通の発生を検出する第６のステップと、前記の２系統の出力信号にオンおよびオフの信号をそれぞれ逆のタイミングで出力し、第1のステップにおける対応関係とは逆の対応関係にある入力信号をそれぞれ取り込み、当該与えたオンの出力信号がそれぞれ入力信号として得られていないことによって2系統間の導通、もしくは不導通を検出する第７のステップを実行するとともに、前記第５のステップにおいて前記２系統の少なくとも一方が断線もしくは誤配線を検出し、あるいは、第６のステップにおいて前記２系統の少なくとも一方の入力回路内に断線あるいは不導通が発生し、あるいは、第７のステップにおいて前記２系統の間が不導通であるときに、前記バス接続を介して前記出力拡張モジュールの外部出力端子へ前記出力回路を通じてセーフティ出力信号を送出する第８のステップと、を実行する。
【００１７】
本発明の好ましい実施の形態においては、予定されるセーフティスイッチの種類として、両手操作スイッチを有し、両手操作スイッチに対応するセーフティ動作プログラムは、設定されたスイッチ種類が両手操作スイッチである入力拡張モジュールの外部入力端子部に対して前記バス接続を介して、オン信号である２系統の出力信号を与えるとともに、それぞれの出力信号に対応する両手操作スイッチのメイク接点を介した２系統の入力信号を取り込み、2系統の入力信号が所定の時間内にオンしたかどうかを確認することによって両手操作スイッチが正しく動作されたことを検出する第９のステップと、前記の２系統の入力信号を取り込むための２系統の入力回路それぞれに対して、入力回路にオンの信号入力を与え、当該入力回路からオンの信号が得られるか、および／または、入力回路にオフの信号入力を与え、当該入力回路からオフの信号が得られるかを調べることによって２系統のいずれの入力回路内の断線あるいは不導通の発生を検出する第１０のステップと、前記の２系統の出力信号にオンおよびオフの信号をそれぞれ逆のタイミングで出力し、第1のステップにおける対応関係とは逆の対応関係にある入力信号をそれぞれ取り込み、当該与えたオンの出力信号がそれぞれ入力信号として得られていないことによって2系統間に短絡が生じていないことを確認する第１１のステップを実行するとともに、前記第９のステップにおいて両手操作スイッチが正しく動作されたことを検出し、あるいは、第１０ステップにおいて前記２系統のいずれかの入力回路内に断線あるいは不導通が発生し、あるいは、第１１のステップにおいて前記２系統の間に短絡が生じたときに、前記バス接続を介して前記出力拡張モジュールの外部出力端子へ前記出力回路を通じてセーフティ出力信号を送出する第１２のステップと、を実行する。
【００１８】
本発明の好ましい実施の形態においては、予定されるセーフティスイッチの種類として、ライトカーテンを有し、ライトカーテンに対応するセーフティ動作プログラムは、設定されたスイッチ種類がライトカーテンである入力拡張モジュールの外部入力端子部から前記バス接続を介して、ライトカーテンからの２系統の入力信号を取り込み、オフの信号を得たときにライトカーテンが遮光されたことを検出する第1３のステップと、前記の２系統の入力信号を取り込むための２系統の入力回路それぞれに対して、入力回路にオンの信号入力を与え、当該入力回路からオンの信号が得られるか、および／または、入力回路にオフの信号入力を与え、当該入力回路からオフの信号が得られるかを調べることによって２系統のいずれの入力回路内の断線あるいは不導通の発生を検出する第１４のステップと、を実行するとともに、前記第１３のステップにおいて前記２系統の少なくとも一方でオフ信号を検出することによりライトカーテンの遮光状態を検知し、あるいは、第１４のステップにおいて前記２系統の少なくとも一方の入力回路内に断線あるいは不導通が発生したときに、前記バス接続を介して前記出力拡張モジュールの外部出力端子へ前記出力回路を通じてセーフティ出力信号を送出する第１５のステップと、を実行する。
【００１９】
本発明の好ましい実施の形態においては、前記基本モジュールにも、１若しくは２以上のセーフティスイッチが接続可能な１若しくは２以上の外部入力端子部と、１若しくは２以上の外部入力端子部からセーフティ入力信号を取り込むための入力回路と、危険源の出力制御系へと接続可能な外部出力端子部と、外部出力端子部へとセーフティ出力信号を送出するための出力回路と、が含まれているようにしてもよい。このような構成によれば、基本ユニット単独でも、セーフティシステムを構築することができる。
【００２０】
本発明の好ましい実施の形態においては、前記基本モジュールには、マザーボード上の拡張用スロットから読み込まれたモジュール識別情報と基本モジュール側に設定されたモジュール識別情報との照合により、各拡張スロットに予定の拡張モジュールが装着されているか否かを診断する診断プログラムを実行する手段が含まれているようにしてもよい。このような構成によれば、拡張スロットに対して予定するものと異なる拡張モジュールを装着することによる誤動作の虞を回避することができる。
【００２１】
本発明の好ましい実施の形態においては、前記基本モジュールには、外部接続端子部に接続されたセーフティスイッチの故障診断を行う故障診断プログラムを予定されるセーフティスイッチの種類別に記憶させた故障診断プログラム記憶手段と、故障診断プログラム記憶手段に記憶された複数種の故障診断プログラムの中で、設定手段にて設定されたスイッチ種別に対応する故障診断プログラムを選択し、これを設定手段にて設定された外部入力端子部に関して実行する故障診断プログラム実行手段と、がさらに具備されているようにしてもよい。このような構成によれば、各セーフティスイッチのそれぞれに対する動作確実性を担保することにより、セーフティシステムの信頼性を向上させることができる。
【００２２】
本発明の好ましい実施の形態においては、ロック解除用ソレノイドを有する電磁ロック式ドアスイッチの故障診断プログラムには、ロック解除用ソレノイドの故障を診断するソレノイド診断機能が含まれているようにしてもよい。このような構成によれば、ロック解除用ソレノイドの動作確実性を担保することで、同ドアスイッチの信頼性を向上させることができる。
【００２３】
本発明の好ましい実施の形態においては、故障診断プログラムには、セーフティスイッチに含まれる一対の連動接点から到来する２系統の信号間における同期時間差の経時的変化に基づいてセーフティスイッチの接点劣化を診断可能とする履歴生成機能が含まれているようにしてもよい。このような構成によれば、セーフティスイッチの接点劣化を自動診断可能となる。
【００２４】
本発明の好ましい実施の形態においては、故障診断プログラムには、セーフティ出力信号を送出したのち、コンタクタ補助接点からのフィードバック信号が到来するまでの時間差の経時的変化に基づいてコンタクタの接点劣化を診断可能とする履歴生成機能が含まれているようにしてもよい。このような構成によれば、コンタクタの接点劣化を自動診断可能となる。
【００２５】
本発明の好ましい実施の形態においては、前記基本モジュールには、基本モジュール又は拡張モジュールに設けたフィードバック入力端子から取り込まれたコンタクタ補助接点信号に基づいて危険源の出力制御系を構成するコンタクタの状態を監視する出力監視プログラム実行手段が含まれているようにしてもよい。このような構成によれば、セーフティ出力信号を送出したのちに、コンタクタが正しく作動したか否かを確認することができる。
【００２６】
本発明の好ましい実施の形態においては、前記基本モジュールには、基本モジュール又は拡張モジュールに設けたＰＬＣ動作状態入力端子から取り込まれたＰＬＣ動作状態信号に基づいて、前記セーフティ動作プログラムの実行結果である出力動作の可否を制御するインターロックプログラム実行手段が含まれているようにしてもよい。このような構成によれば、コンタクタの作動条件にＰＬＣの運転状態をリンクすることで、ＰＬＣが動作停止指令を出力して制御対象機器の運転が停止しているような場合には、セーフティコントローラのセーフティ出力によって、危険もないのにコンタクタがオフされるという無駄なスイッチングを防止することができる。また、ＰＬＣの動作停止指令をモニタし、ＰＬＣからの命令がない限りコンタクタを作動させなくすることで、装置の制御系におけるコンタクタを省略することができる。
【発明の効果】
【００２７】
以上の説明で明らかなように、本発明によれば、予め予定された複数種類のセーフティスイッチのいずれかであれば、どの種類のセーフティスイッチにも簡単な操作で必要な動作プログラムを設定することができ、しかも欧州等への輸出に際しても、セーフティシステムへの組み込みの都度、セーフティ規格認定を受ける必要がない。また、本発明によれば、上記に加えて、多数のセーフティスイッチを含むセーフティシステムを構築する場合、或いは既設のセーフティシステムにおいてセーフティスイッチを増設する場合等に、これを低コストに実現することができる。
【発明を実施するための最良の形態】
【００２８】
以下に、本発明に係るセーフティコントローラの実施の一形態を添付図面に従って詳細に説明する。
【００２９】
セーフティコントローラの全モジュール装着状態における外観斜視図が図１に、同セーフティコントローラの拡張モジュール引き抜き状態における外観斜視図が図２に、コントローラにパソコンを接続した状態を示すシステム外観図が図３にそれぞれ示されている。
【００３０】
それらの図から明らかなように、セーフティコントローラ１は、基本モジュール２と、入力拡張モジュール３と、出力拡張モジュール４とを備えている。これらのモジュール２，３，４は、モジュールホルダ５を介して整列状態で位置決め固定される。モジュールホルダ５は、上面が開放された箱型ハウジングであり、その底部にはＤＩＮレール取付溝５１及びＤＩＮレール固定金具５２が設けられている。そのため、モジュールホルダ５は、図示しないＤＩＮレールへと取り付けが可能となされている。尚、図示例では１個の基本モジュールに対して２個の拡張モジュール３，４を設けた場合であるが、拡張モジュールの数はより多くしてもよく、８個あるいは１６個といったように多数の拡張モジュールを装着可能としてもよい。モジュールホルダ５の内部の底の部分には、後に図１１を参照して説明するマザーボード５３が敷設されている。そして、基本モジュール２、入力拡張モジュール３、出力拡張モジュール４は、マザーボード５３上の基本モジュール用コネクタ５３１、拡張モジュール用コネクタ５３３−１〜５３３−ｎに差し込みが可能となされている。
【００３１】
基本モジュール２の一側面には、第１入力端子台２１と第２入力端子台２２とが上下２段に設けられており、他の側面には第１出力端子台２３と第２出力端子台２４とが上下２段に設けられている。同様にして、入力拡張モジュール３の他側面には、第１入力端子台３１と、第２入力端子台３２と、第３入力端子台３３と、第４入力端子台３４とが上下２段に設けられている。同様にして、出力拡張モジュール４の一側面には第１出力端子台４１が設けられ、他の側面には第２出力端子台４２がそれぞれ設けられている。
【００３２】
図から明らかなように、各端子台はそれぞれ、４本の信号線を接続可能となされ、各信号線を構成する電線は芯線差し込み式のクランパ機構を介して簡単に固定可能となされている。
【００３３】
図３に示されるように、セーフティコントローラ１を構成する基本モジュール２は、ＲＳ−２３２Ｃコード７を介してパソコン６と通信が可能となされており、後述する各種の設定操作が、パソコン６のキーボードを介して行われ、こうして得られた設定データはＲＳ−２３２Ｃコード７を介して、セーフティコントローラ１を構成する基本モジュール２のメモリ（例えば、ＥＥＰＲＯＭ等）に書き込まれる。尚、この種のデータ通信及びメモリの書換処理については、種々文献により公知であるから、詳細な説明は省略する。
【００３４】
尚、図１〜図３の例にあっては、１台の基本モジュール２と２台の拡張モジュール３，４とを設けた例を示したが、拡張モジュールの個数並びに種別はこれに限定されるものではなく、例えば８個あるいは１６個といったように多数の拡張モジュールを着脱自在に接続することが可能とされている。
【００３５】
基本モジュールのハードウェア構成を示すブロック図が図４に示されている。同図に示されるように、基本モジュール２内には、第１ＣＰＵ２０１と、第２ＣＰＵ２０２と、第１入力回路２０３と、第２入力回路２０４と、第１出力回路２０５と、第２出力回路２０６と、通信回路（ＲＳ−２３２Ｃ）２０７と、電源回路２０８とが含まれている。
【００３６】
第１ＣＰＵ２０１と第２ＣＰＵ２０２とは制御の二重化を達成するためのものであり、それぞれほぼ同一のプログラムを実行する。第１ＣＰＵ２０１内には、後述するセーフティ動作プログラム等を格納するためのプログラムメモリ（例えば、フラッシュメモリ）２０２ａが内蔵されている。同様にして、第２ＣＰＵ２０２にも、後述するセーフティ動作プログラム等を格納するためのプログラムメモリ２０２ｂが内蔵されている。また、第１ＣＰＵ２０１及び第２ＣＰＵ２０２のそれぞれの外部には、後述する各種の設定データを格納するためのＥＥＰＲＯＭ２０９ａ及び２０９ｂがそれぞれ設けられている。プログラムメモリ２０２ａの記憶内容とプログラムメモリ２０２ｂの記憶内容とはほぼ同一とされ、同様にしてＥＥＰＲＯＭ２０９ａの記憶内容とＥＥＰＲＯＭ２０９ｂの記憶内容ともほぼ同様とされている。これにより第１ＣＰＵ２０１と第２ＣＰＵ２０２とのいずれか一方がダウンしたような場合であっても、他方の正常なＣＰＵによって制御を引き継ぐことで、安全性が高められている。
【００３７】
第１入力回路２０３及び第２入力回路２０４には後述するセーフティスイッチ９が接続され、第１出力回路２０５及び第２出力回路２０６にはこの例では電磁接触器（マグネットコンタクタ：マグネットスイッチ）１０が接続される。また、通信回路（ＲＳ−２３２Ｃ）２０７にはパソコン（ＰＣ）６が接続され、電源回路２０８には外部電源８が接続される。さらに、第１ＣＰＵ２０１と第２ＣＰＵ２０２とを結ぶバスラインにはマザーボード５３が接続される。これにより、基本モジュールからマザーボード５３を介して各拡張モジュールに対してデータを送り出したり、逆に各拡張モジュールからマザーボード５３を介して到来するデータを、基本モジュールが取り込むことが可能となされている。さらに、パソコン（ＰＣ）６にて生成された各種のデータは、通信回路（ＲＳ−２３２Ｃ）２０７を介して基本モジュール２へと取り込まれることとなる。尚、セーフティスイッチ９並びに電磁接触器１０の構成については後に詳細に説明する。
【００３８】
基本モジュール内の第１，第２出力回路２０５，２０６と外部電磁接触器１０との結線例を示す配線図が図５に示されている。同図に示されるように、基本モジュール２内の第１出力回路２０５は、互いにコンプリメンタリ接続された２個のトランジスタＴＲ１，ＴＲ２で構成され、同様に第２出力回路２０６は互いにコンプリメンタリ接続された２個のトランジスタＴＲ３，ＴＲ４で構成される。それら２個のトランジスタの各接続点は外部端子Ｔ０１，Ｔ０２へと引き出されている。これら外部端子Ｔ０１，Ｔ０２と０Ｖ端子との間にマグネットスイッチのコイルＭＳ１，ＭＳ２がそれぞれ接続される。マグネットスイッチＭＳ１は、３極単投型の主メイク接点ＭＳ１−１と単極単投型の補助ブレイク接点ＭＳ１−２とを有する。同様にして、マグネットスイッチＭＳ２にも、３極単投型の主メイク接点ＭＳ２−１と単極単投型の補助ブレイク接点ＭＳ２−２とを有する。そして、これら２個の主メイク接点ＭＳ１−１，ＭＳ２−１は、危険源の駆動源であるモータＭへの通電路に直列に接続される。そのため、第１出力回路２０５及び第２出力回路２０６の双方がＯＮすることによって、マグネットスイッチＭＳ１及びＭＳ２が作動し、主メイク接点ＭＳ１−１，ＭＳ２−１が閉じることによって、３相モータＭに対して通電が行われる。
【００３９】
入力拡張モジュールのハードウェア構成を示すブロック図が図６に示されている。同図に示されるように、この入力拡張モジュール３は、第１入力回路３０１と、第２入力回路３０２と、第３入力回路３０３と、第４入力回路３０４と、第１バスインタフェース３０５と、第２バスインタフェース３０６とを含んでいる。
【００４０】
第１入力回路３０１は、第１入力端子台（図２参照）３１へ接続される３個の外部入力端子Ｔ１１，Ｔ１２，Ｔ１３を有する。第２入力回路３０２は、第２入力端子台（図２参照）３２へと繋がる３個の外部入力端子Ｔ２１，Ｔ２２，Ｔ２３を有する。第３入力回路３０３は、第３入力端子台（図２参照）３３へ繋がる３個の外部入力端子Ｔ３１，Ｔ３２，Ｔ３３を有する。第４入力回路３０４は第４入力端子台（図２参照）３４へ繋がる３個の外部入力端子Ｔ４１，Ｔ４２，Ｔ４３を有する。また、電源端子（２４Ｖ，ＧＮＤ）は電源ライン３０７を介してマザーボード５３へと接続される。第１バスインタフェース３０５及び第２バスインタフェース３０６は不揮発性の記憶素子を含んでおり、この記憶素子には、当該入力拡張モジュール３の識別情報（モジュール識別情報）等が記憶されている。このモジュール識別情報（ＩＤ）は、マザーボード５３上の拡張用スロット５３３−１〜Ｎから読み込まれたモジュール識別情報と基本モジュール側に設定されたモジュール識別情報との照合により、各拡張スロットに予定の拡張モジュールが装着されているか否かを診断する際に利用される。
【００４１】
出力拡張モジュールである電磁リレー出力モジュールのハードウェア構成を示すブロック図が図７に示されている。同図に示されるように、電磁リレー出力モジュール４Ａ内には、第１出力回路４０１と、第２出力回路４０２と、モニタ回路４０３と、第１バスインタフェース４０４と、第２バスインタフェース４０５とが含まれている。また、電磁リレー出力モジュール４Ａ内には、電磁リレーＫ１とＫ２とが内蔵されている。電磁リレーＫ１は、２個の単極単投型のメイク接点Ｋ１−１，Ｋ１−２と、２個の単極単投型ブレイク接点Ｋ１−３，Ｋ１−４とを有する。同様にして、電磁リレーＫ２には、２個の単極単投型のメイク接点Ｋ２−１，Ｋ２−２と、２個の単極単投型ブレイク接点Ｋ２−３，Ｋ２−４とを有する。これらの接点は、外部端子列Ｔ１１，Ｔ２１，Ｔ３１と外部端子列Ｔ１２，Ｔ２２，Ｔ３２との間に互いに直列または並列状態で介在されている。
【００４２】
出力拡張モジュールである電磁リレー出力モジュール内のリレー接点と外部マグネットスイッチとの結線例を示す配線図が図８に示されている。尚、同図において図７と同一端子については同符号を付して説明は省略する。図から明らかなように、電磁リレーＫ１，Ｋ２の双方が作動することによって、２個のマグネットスイッチＭＳ１，ＭＳ２のコイルに通電が行われ、３極単投型の主メイク接点ＭＳ１−１及びＭＳ２−１の双方がＯＮして、３相モータＭに対して通電が行われる。
【００４３】
出力拡張モジュールであるソリッドステートリレー出力モジュールのハードウェア構成を示すブロック図が図９に示されている。同図に示されるように、ソリッドステートリレー出力モジュール４Ｂ内には、第１出力回路４１１と、第２出力回路４１２と、第１モニタ回路４０３ａと、第２モニタ回路４０３ｂと、第１バスインタフェース４０４と、第２バスインタフェース４０５とが含まれている。第１出力回路４１１は外部端子Ｔ１３，Ｔ１４に接続される。第２出力回路４１２は外部端子Ｔ２３，Ｔ２４に接続される。第１モニタ回路４０３ａは外部端子Ｔ１１に、第２モニタ回路４０３ｂは外部端子Ｔ２１に接続される。外部端子Ｔ１２，Ｔ２２はマザーボード５３から到来する電源に接続される。
【００４４】
ソリッドステートリレー出力モジュール内のリレーと外部電磁接触器との結線例を示す配線図が図１０に示されている。同図に示されるように、ソリッドステートリレー出力モジュール４Ｂ内には、第１ソリッドステートリレー４１１ａと、第２ソリッドステートリレー４１２ｂと、第１モニタ回路４０３ａと、第２モニタ回路４０３ｂと、第１，第２バスインタフェース４０４，４０５と、フューズ４０６，４０７とが含まれている。そして、図から明らかなように、第１ソリッドステートリレー４１１ａ，第２ソリッドステートリレー４１２ｂの双方が作動すると、マグネットスイッチＭＳ１，ＭＳ２に対して通電が行われ、その主メイク接点ＭＳ１−１，ＭＳ２−１がＯＮすることによって、３相モータＭに対して通電が行われる。同時に、マグネットスイッチＭＳ１，ＭＳ２の補助ブレイク接点ＭＳ１−２，ＭＳ２−２がＯＦＦすることによって、第１モニタ回路４０３ａ，第２モニタ回路４０３ｂを介して、マグネットスイッチＭＳ１，ＭＳ２が正常に作動したかどうかを確認することができる。尚、図において、ＡＣは交流電源、Ｆ１，Ｆ２はフューズである。
【００４５】
マザーボードのハードウェア構成を示す図が図１１に示されている。同図に示されるように、マザーボード５３は、セーフティコントローラ１のモジュールホルダ５の内部に敷設されるものであって、基本モジュール用コネクタ５３１と、２個のアドレスデコーダ５３２ａ，５３２ｂと、ｎ個の拡張モジュール用コネクタ５３３−１，５３３−２〜５３３−ｎを有する。基本モジュール用コネクタ５３１からは、データライン５３４と２系統のアドレスライン５３５ａ，５３５ｂとが導出される。アドレスライン５３５ａはアドレスデコーダ５３２ａによってデコードされ、これによりスロットセレクトライン５３６ａが導出される。同様にして、アドレスライン５３５ｂは、アドレスデコーダ５３２ｂによってデコードされ、これによりスロットセレクトライン５３６ｂが生成される。基本モジュール用コネクタ５３１には言うまでもないが基本モジュール２が着脱自在に装着される。同様にして、拡張モジュール用コネクタ５３３−１〜５３３−ｎには、各種の拡張モジュール（入力拡張モジュール３や出力拡張モジュール４等）が着脱自在に装着される。尚、図では、第１スロット，第２スロット，・・・，第ｎスロットとして、ｎ個の拡張モジュール用コネクタ５３３−１〜５３３−ｎを描いているが、図２に示される具体的な構成例を対象とする場合には拡張モジュール用コネクタは２個で済むことは言うまでもない。
【００４６】
次に、本発明のセーフティコントローラ１が取り扱うことを予定しているセーフティスイッチのいくつかの例について図１２〜図１７を参照して説明する。
【００４７】
非常停止スイッチの端子台結線方法を示す配線図が図１２に示されている。同図に示されるように、セーフティスイッチ１個分の外部端子台（例えば、図２の上下二段の端子台２１，２２で構成される）には、６個の外部端子Ｔ１３，Ｔ１１，Ｔ１２，Ｔ２３，Ｔ２１，Ｔ２２が順に配列されている。また、非常停止スイッチＥＳは、１個の押しボタンＰＢ０と、この押しボタンＰＢ０の操作で連動して作動する２個のブレイク接点ｂ０−１（第１系統），ｂ０−２（第２系統）とを含んでいる。第１ブレイク接点ｂ０−１は外部端子Ｔ１１とＴ１２との間に接続され、第２ブレイク接点ｂ０−２は外部端子Ｔ２１とＴ２２との間に接続される。
【００４８】
両手操作スイッチの端子台結線方法を示す配線図が図１３に示されている。この例にあっても、セーフティスイッチ１個分の外部端子台には６個の外部端子Ｔ１３，Ｔ１１，Ｔ１２，Ｔ２３，Ｔ２１，Ｔ２２が順に配列されている。また、両手操作スイッチ２ＨＳには、２個の押しボタンＰＢ１，ＰＢ２と、押しボタンＰＢ１の操作に連動して作動する第１系統の一対のブレイク及びメイク接点ｂ１−１，ａ１−２と、押しボタンＰＢ２の操作に連動して作動する第２系統の一対のブレイク及びメイク接点ｂ２−１，ａ２−２とが設けられている。そして、ブレイク接点ｂ１−１は外部端子Ｔ１３とＴ１１との間に接続され、メイク接点ａ１−２は外部端子Ｔ１１とＴ１２との間に接続される。同様にして、ブレイク接点ｂ２−１は外部端子Ｔ２３とＴ２１との間に接続され、メイク接点ａ２−２は外部端子Ｔ２１とＴ２２との間に接続される。
【００４９】
マットスイッチの端子台結線方法を示す配線図が図１４に示されている。この例にあっても、１個のセーフティスイッチに対応する外部端子台には、６個の外部入力端子Ｔ１３，Ｔ１１，Ｔ１２，Ｔ２３，Ｔ２１，Ｔ２２が順に配列されている。一方、マットスイッチＭＳには、互いに並列の関係にある複数個のメイク接点ａ１，ａ２，ａ３が含まれている。そして、これらメイク接点群の一端側（第１系統）の共通線は、端子Ｔ１１とＴ１２との間に接続され、同様にして接点群の他の共通線（第２系統）は、端子Ｔ２１とＴ２２との間に接続される。
【００５０】
セーフティリミットスイッチの端子台結線方法を示す配線図が図１５に示されている。同図に示されるように、この例にあっても、セーフティスイッチ１個分の外部入力端子台には、６個の入力端子Ｔ１３，Ｔ１１，Ｔ１２，Ｔ２３，Ｔ２１，Ｔ２２が順に配列されている。また、セーフティリミットスイッチＳＬＳには、リミットスイッチのアクチュエータであるセーフティガード（Safety Guard）の作動に連動して動作する一対のメイク接点ａ１とブレイク接点ｂ１とが含まれている。そして、メイク接点（第１系統）ａ１は端子Ｔ１１とＴ１２との間に接続される。ブレイク接点（第２系統）ｂ１は端子Ｔ２１とＴ２２との間に接続される。
【００５１】
ライトカーテンの端子台結線方法を示す配線図が図１６に示されている。この例にあっては、１個のセーフティスイッチに対応する外部端子台には、２個の電源端子（２４Ｖ，ＧＮＤ）と、６個の外部入力端子Ｔ１３，Ｔ１１，Ｔ１２，Ｔ２３，Ｔ２１，Ｔ２２が順に配列されている。そして、第１系統である端子Ｔ１１にはリセット信号（ＲＥＳＥＴ）が、Ｔ１２には制御出力１が、また第２系統であるＴ２１にはテスト信号（ＴＥＳＴ）が、端子Ｔ２２には制御出力２がそれぞれ対応する。よく知られているように、ライトカーテンＬＣは、投光器Ｔと受光器Ｒとの間に多孔軸のライトカーテンを形成すると共に、これを人体等が遮ることによって、制御出力１及び制御出力２を発するものである。
【００５２】
電磁ロック式セーフティドアスイッチとセーフティリミットスイッチの端子台結線方法を示す配線図が図１７に示されている。この例にあっては、セーフティスイッチ１個分の外部端子台には、ソレノイド駆動端子（Ａ，Ｂ）と、６個の外部入力端子Ｔ１３，Ｔ１１，Ｔ１２，Ｔ２３，Ｔ２１，Ｔ２２が順に配列されている。一方、セーフティリミットスイッチＳＬＳには、スライドアクチュエータ（Safety Guard）で駆動される１個のブレイク接点ｂ１が設けられ、電磁ロック式セーフティドアスイッチＭＤＳには、ソレノイドＳＯＬの作動に連動して動作するブレイク接点ｂ１（ソレノイド作動確認用）と、抜け止め用のロックピンｐの出没動作に連動して作動する２個のブレイク接点ｂ２，ｂ３（不作用）が含まれている。そして、第１系統である２個のブレイク接点ｂ１とｂ２とは端子Ｔ１１と端子Ｔ１２との間に接続される。同様にして、第２系統であるセーフティリミットスイッチＳＬＳのブレイク接点ｂ１は端子２１と端子Ｔ２２との間に接続される。
【００５３】
以上説明したように、本発明のセーフティコントローラの入力端子台においては、各セーフティスイッチ１個分の領域に関して、６個の外部入力端子Ｔ１３，Ｔ１１，Ｔ１２，Ｔ２３，Ｔ２１，Ｔ２２が順に配列され、これら共通の外部端子を用いて、様々なセーフティスイッチ（非常停止スイッチＥＳ、両手操作スイッチ２ＨＳ、マットスイッチＭＳ、セーフティリミットスイッチＳＬＳ、ライトカーテンＬＣ、電磁ロック式セーフティドアスイッチＭＤＳ等）への対応を可能としている。
【００５４】
次に、第１，第２ＣＰＵにて実行される制御プログラムの全体を概略的に示すフローチャートが図１８に示されている。このフローチャートは電源投入によって実行を開始される。同図において処理が開始されると、まず内部ＲＡＭ初期化並びに各種初期設定が実行される（ステップ１０１）。ここで言う内部ＲＡＭとは、第１ＣＰＵ２０１及び第２ＣＰＵ２０２内のワークエリアを構成するＲＡＭ等を意味している。続く電源投入時の診断処理（ステップ１０２）では、後に詳細に説明するように、セーフティシステムの信頼性を向上させるための各種の診断処理が実行される。続く設定モード突入のコマンド有無判定処理（ステップ１０３）では、パソコン（ＰＣ）６の操作で生成された所定のコマンドが、基本モジュール２へと到来したか否かの判定が行われる。ここで、設定モード突入のコマンド有りと判定されれば（ステップ１０３ＹＥＳ）、設定モードの処理（ステップ１０４）が実行される。これに対して、設定モード突入のコマンドの到来がなければ（ステップ１０３ＮＯ）、通常モードの処理（ステップ１０５）が実行される。
【００５５】
設定モードにて実行される制御プログラムの全体を示すフローチャートが図１９に示されている。同図において処理が開始されると、コマンドの受信有無をチェックしつつ（ステップ２０１ＮＯ）、様々な設定モードにおける処理（ステップ２０４）が実行される。ここで言うその他の処理（ステップ２０４）に関しては、後に必要に応じて説明を行う。
【００５６】
コマンドの受信が確認されると（ステップ２０１ＹＥＳ）、コマンドの解析並びにＥＥＰＲＯＭ２０２ａ，２０２ｂ（図４参照）へのデータ書込処理（ステップ２０２）が実行される。書込みが終了すると、続いてレスポンス処理（ステップ２０３）が実行されて、書込みの正常終了または異常終了を示すレスポンスが、通信回路（ＲＳ−２３２Ｃ）２０７を介してパソコン（ＰＣ）６側へと返送される。
【００５７】
コマンド解析・ＥＥＰＲＯＭ書込み処理の詳細を示すフローチャートが図２０に示されている。同図において処理が開始されると、受信データの読み出しが行われ（ステップ３０１）、読み出されたコマンドの内容がＥＥＰＲＯＭ書込命令であるか否かの判定が行われる（ステップ３０２）。ここでＥＥＰＲＯＭ書込命令以外の命令であれば、その他の命令処理への移行が行われる。これに対して、ＥＥＰＲＯＭ書込命令であれば、続いて当該書込を要求されたデータのＥＥＰＲＯＭ内における指定アドレスの判定が行われる（ステップ３０３）。ここで、指定のアドレスが００〜３Ｆ（ｈｅｘ）と判定されると、当該受信データは、基本モジュールのメモリ領域としてアドレス指定され、該当する領域のＥＥＰＲＯＭへと書き込まれる（ステップ３０６）。これに対して、指定のアドレスが４０〜ＢＦ（ｈｅｘ）と判定されれば、当該受信データは拡張モジュールの該当するメモリ領域へとアドレス指定され（ステップ３０５）、そのデータは双方のＥＥＰＲＯＭ２０９ａ，２０９ｂ（図４参照）へと書き込まれる（ステップ３０６）。
【００５８】
ＥＥＰＲＯＭ２０９ａ，２０９ｂ内のデータ配置の全体を表にして示す図が図２１に示されている。同図から明らかなように、ＥＥＰＲＯＭ内のアドレス空間には、共通仕様設定並びに基本モジュール設定に関わる記憶領域と、拡張モジュール設定に関わる記憶領域とが設けられている。共通仕様設定並びに基本モジュール設定に関わる領域としては、アドレス０からの２バイト分としてＣＲＣ（０〜ＦＦＦＦｈ）が、アドレス２から３０バイト分としてディレータイムテーブル（０〜３００）が、アドレス２０から１バイト分として予備スペース（reserve）が、アドレス２１から１バイト分としてディレーモード（『０』：オフディレー，『１』：オンディレー）が、アドレス２２から２バイト分としてディレー時間（０〜３００）が、アドレス２４から１バイト分としてメインモジュール：動作モード（『０』：２Ｎ．Ｃ（非常停止スイッチなど），『１』：１Ｎ．Ｃ＋１Ｎ．Ｏ，『２』：２ハンドスイッチ，『３』：マットスイッチ，『４』：ライトカーテン）、アドレス２５から１バイト分として予備スペース（reserve）が、アドレス２６から３０バイト分としてディジタルフィルタ値（１〜２５５）が、アドレス３０から１バイト分として安全入力系統間の時間差の許容値（０：無限、１〜２５５）、アドレス３１から１バイト分としてマニュアルリセットオン最大時間（０：無限、１〜２５５）が、アドレス３２から８バイト分として形式データが、アドレス３Ａから２バイト分として予備スペース（reserve）が、アドレス３Ｃから４バイト分としてハードウェアバージョン（０．００〜９９．９９）がそれぞれ格納されている。ここで、『安全入力系統間の時間差の許容値』とは、『系統間同期監視タイマ』の値のことであり、後述する図３９及び図４０の処理にて使用される。
【００５９】
一方、拡張モジュール設定のための領域には、アドレス４０，５０，６０，７０，８０，９０，Ａ０，Ｂ０からそれぞれ１６バイト分として接続モジュール１〜８に対応するデータが格納される。
【００６０】
ＥＥＰＲＯＭ内の拡張入力モジュール用のデータ配置を表にして示す図が図２２に示されている。同図から明らかなように、拡張入力モジュールに割り当てられたメモリ領域としては、
（１）アドレス０から１バイト分として、モジュールＩＤ（『００Ｈ』：接続なし，『１１Ｈ』：入力モジュール，『１２Ｈ』：特定スイッチ用の入力モジュール１，『１３Ｈ』：特定スイッチ用の入力モジュール２，『１４Ｈ』：特定スイッチ用の入力モジュール３，・・・）が、
（２）アドレス１から１バイト分として、動作モード（『０』：非常停止，『１』：非常停止＋入力１反転，『２』：２ハンド，『３』：マット，『４』：ライトカーテン）が、
（３）アドレス２から１バイト分として安全入力系統間の時間差の許容値（０：無限、１〜２５５）が、
（４）アドレス３から１バイト分として、予備スペース（reserve）が、
（５）アドレス４から２バイト分として、ディジタルフィルタ値（１〜２５５）が、
（６）アドレス６から１バイト分として動作モード（０：非常停止、１：非常停止＋入力１反転、２：２ハンド、３：マット、『４』：ライトカーテン）が、
（７）アドレス７から１バイト分として安全入力系統間の時間差の許容値（０：無限、１〜２５５）が、
（８）アドレス８から１バイト分として予備スペース（reserve）が、
（９）アドレス９から２バイト分としてディジタルフィルタ値（１〜２５５）が、
（１０）アドレスＢから１バイト分として予備スペース（reserve）が、
（１１）アドレスＣから４バイト分としてハードウェアバージョン（０．００〜９９．９９）が格納されている。これにより、各拡張入力モジュールは、独立した２個のセーフティスイッチを取り扱うことが可能とされている。
【００６１】
ＥＥＰＲＯＭ内の拡張出力モジュール用のデータ配置を表にして示す図が図２３に示されている。同図から明らかなように、拡張出力モジュール用のメモリエリアとしては、
（１）アドレス０から１バイト分のモジュールＩＤ（『００Ｈ』：接続なし，『０１Ｈ』：ＡＣ半導体出力モジュール，『０２Ｈ』：リレー出力モジュール，・・・）が、
（２）アドレス１から１バイト分としてディレーモード（『０』：オフディレー，『１』：オンディレー）が、
（３）アドレス２から２バイト分としてディレー時間（０〜３００）が、
（４）アドレス４から８バイト分として予備スペース（reserve）が、
（５）アドレスＣから４バイト分としてハードウェアバージョン（０．００〜９９．９９）が格納されている。
【００６２】
尚、以上説明した各データの中で、ディレーモード、ディレー時間については、個々の拡張出力モジュールのそれぞれについて、オフディレー出力又はオンディレー出力を可能とするためのものであり、ディレー時間の範囲は０〜３００（×１００）ｍｓｅｃの範囲で自由に設定が可能となされている。もちろん、このテーブルに対応して、拡張出力モジュール用の動作プログラムには、それらディレーモードの内容並びにディレー時間を参照して、該当する出力機能を実現するための処理が組み込まれている。
【００６３】
次に、通常モードにて実行される制御プログラムの全体を示すフローチャートが図２４に示されている。同図において処理が開始されると、エラーがないことを条件として（ステップ４０１ＮＯ）、入力処理／出力判定処理（ステップ４０２）、診断処理（ステップ４０３）、出力処理（ステップ４０４）、その他の処理（ステップ４０５）が順に繰り返し実行される。
【００６４】
出力判定処理の詳細を示すフローチャート（その１）が図２５に、同その２が図２６にそれぞれ示されている。
【００６５】
同図において処理が開始されると、ステップ５０１では読み出しスロットの番号を『１』に設定する。ステップ５０２では、指定されたスロットは入力モジュールであるか否かの判定を行う。ここで入力モジュールであると判定されると（ステップ５０２ＹＥＳ）、安全入力値の読み出し（セーフティ入力値の読み出し）が実行される（ステップ５０３）。続いて、当該スロットに装着されたモジュールに要求される動作モードの判定が行われ、動作モードが『非常停止スイッチ』、『両手操作スイッチ』、『マットスイッチ』等のいずれであるかに応じて、該当するスイッチの出力判定処理（ステップ５０５，５０６，５０７，・・・）のいずれかが実行される。これらの判定処理においては、それぞれのセーフティスイッチの種別並びに内部構造に応じて、所定のセーフティ動作プログラムを実行させることによって、該当するセーフティスイッチの現在のＯＮ／ＯＦＦ状態が判定される。こうして判定されたＯＮ／ＯＦＦ状態はメモリに格納される（ステップ５０８）。
【００６６】
以上の動作が、拡張スロットの番号を＋１更新させつつ、順次に各拡張用スロットに装着された拡張用モジュールに関して実行される。すなわち、これらの処理（ステップ５０５，５０６，５０７，５０８）が全てのスロットに関して実行されることによって、各安全スイッチのＯＮ／ＯＦＦ状態がメモリ内に記憶される。こうして、全スロットに対する処理が終了すると（ステップ５０９）、図２６へ移って、安全入力（セーフティ入力）が全てＯＮであるかどうかの判定が行われる（ステップ５１０）。
【００６７】
ここで、セーフティ入力の全てがＯＮであると判定されれば（ステップ５１０ＹＥＳ）、その出力はＯＮと判定される（ステップ５１１）。その後、リセット入力の有無が判定され（ステップ５１２）、リセット入力がある場合には（ステップ５１２ＹＥＳ）、オンディレータイマがまだスタートしていないことを条件として（ステップ５１３ＮＯ）、オンディレータイマのスタート処理を実行した後（ステップ５１４）、以後オンディレータイマがカウントアップするまで（ステップ５１５ＮＯ）、出力はＯＦＦと判定される（ステップ５１７）。これに対して、オンディレータイマのカウントアップが確認されると（ステップ５１５ＹＥＳ）、出力はＯＮと判定される。これにより、外部出力に関するオンディレイ機能が実現されることとなる。尚、リセット入力がない場合には（ステップ５１２ＮＯ）、直ちに出力はＯＦＦと判定される（ステップ５１７）。
【００６８】
尚、ステップ５１２で判定されたリセット入力の有無とは、基本モジュールの第１入力回路２０３又は第２入力回路２０４に接続されたリセットボタンからの信号に基づくものである。すなわち、一般にこの種のセーフティシステムにおいては、システム全体のリセット操作を行うために、指先で軽く操作する等の小型の押しボタンスイッチを取り付け、その操作によってシステム全体の起動をリセットするのが通例である。
【００６９】
一方、いずれか１つの入力がＯＦＦであると判定されると（ステップ５１０ＮＯ）、出力はＯＦＦと判定された後（ステップ５１８）、前回の判定において出力がＯＮであったかどうかの判定が行われる（ステップ５１９）。ここで前回の判定で出力がＯＮであったとすれば（ステップ５１９ＹＥＳ）、オフディレータイマがまだスタートしていないことを条件として（ステップ５２０ＮＯ）、オフディレータイマのスタート処理が実行され（ステップ５２１）、以後オフディレータイマのカウントアップを確認するまで（ステップ５２２ＮＯ）、出力はＯＮと判定される。これに対して、以上の動作中にオフディレータイマのカウントアップが確認されると（ステップ５２２ＹＥＳ）、出力はＯＦＦと判定される（ステップ５２３）。これにより、外部出力に関するオフディレイ機能が実現される。一方、前回の判定では出力がＯＮでないと判定されれば（ステップ５１９ＮＯ）、直ちに出力はＯＦＦと判定される（ステップ５２３）。
【００７０】
尚、以上説明した図２６のフローチャートにおいては、安全入力が全てオンの場合にはオンディレー処理が、また全てオフの場合にはオフディレー処理が自動的に行われている。これは、複数のセーフティ入力スイッチに対して、１個の出力を割り付けた場合である。もっとも、本発明のセーフティコントローラにあっては、複数のセーフティスイッチに対して、複数の拡張出力モジュールを対応させることも可能である。このような場合を想定して作成されたのが、先に説明された図２３に示される拡張出力モジュール用のデータ配列である。すなわち、先にも述べたように、個々の拡張出力モジュール別に、ディレーモード並びにディレー時間の設定が可能とされており、これらが設定されると、図２６で説明したオンディレー処理（ステップ５１１〜５１７）と、オフディレー処理（ステップ５１８〜５２４）とのいずれかが、当該ディレーモードの設定された拡張出力モジュールについて実行される結果、複数の拡張出力モジュールのそれぞれについて、個別にオンディレー処理又はオフディレー処理が行われるのである。
【００７１】
次に、診断処理の詳細を示すフローチャートが図２７に示されている。同図に示されるように、この処理においては、入力診断処理（ステップ６０１）と、その他の診断処理（ステップ６０２）とを行いつつ、いずれかの診断処理においてエラーコードが判定されれば（ステップ６０３ＹＥＳ）、エラーコードをメモリに格納する処理（ステップ６０４）を実行する。
【００７２】
次に、図２８〜図３７を参照して、入力診断処理について説明する。入力診断処理には、２つの大きな役目が存在する。第１の役目は、入力端子台に外部接続されたセーフティスイッチそれ自体を診断することである。他の１つの役目は、入力端子台の内部に存在する出力回路及び入力回路の状態を診断するものである。ここで出力回路とは、入力端子台を構成する個々の端子に対して選択的に電圧を供給するためのドライブ回路等であり、入力回路とは、端子台に外部から供給された２４Ｖを論理ＩＣ用の５Ｖに低下させるためのレベルシフト回路、並びに、その後段に設けられたゲート等である。
【００７３】
ところで、セーフティスイッチ側の接点構成には、無電圧接点と有電圧接点とが存在する。無電圧接点は主として、非常停止スイッチ、マットスイッチ、両手操作スイッチ等がこれに相当する。これに大して、有電圧接点は、ライトカーテン等がこれに相当する。
【００７４】
入力端子台側のハードウェア構成とセーフティスイッチの結線例を示す図（無電圧接点対応）が図３４に、また入力端子台のハードウェア構成とセーフティスイッチの結線例を示す図（有電圧接点対応）が図３５にそれぞれ示されている。それらの図から明らかなように、この入力端子台には、Ｔ１１，Ｔ１２，Ｔ２１，Ｔ２２からなる４個の端子が設けられている。そして、無電圧接点対応として使用する場合、セーフティスイッチの第１系統のブレイク接点ｂ１１は、端子Ｔ１１と端子Ｔ１２との間に接続される。これに対して、第２系統のブレイク接点ｂ２１は、端子Ｔ２１と端子Ｔ２２との間に接続される。
【００７５】
一方、この端子台の内部に存在する入力回路及び出力回路については次のように構成される。端子Ｔ１１には図示しないが出力回路と入力回路とが逆並列に接続されている。ここで、出力回路から送り出される信号をＴ１１Ｐ（ｏｕｔ）として表記し、端子Ｔ１１から入力回路へと取り込まれる信号をＴ１１Ｍ（ｉｎ）と表記する。同様にして、端子Ｔ１２にも図示しないが入力回路と出力回路とが設けられている。端子Ｔ１２から入力回路に取り込まれる信号をＴ１２Ｄとして表記し、出力回路から送り出されトランジスタＴＲ１１をドライブする信号をＴ１２Ｐ（ｏｕｔ）と表記する。
【００７６】
一方、第２系統の構成について説明すると、端子Ｔ２１には、図示しないが、出力回路と入力回路とが逆並列に設けられている。ここで、出力回路から端子Ｔ２１へ送り出される信号をＴ２１Ｐ（ｏｕｔ）と表記し、端子Ｔ２１から入力回路へと取り込まれる信号をＴ２１Ｍ（ｉｎ）と表記する。同様にして、端子Ｔ２２にも、入力回路と出力回路とが設けられている。ここで、端子Ｔ２２から入力回路へと取り込まれる信号をＴ２２Ｄと表記し、出力回路から送り出され、トランジスタＴＲ２１をドライブする信号をＴ２２Ｐ（ｏｕｔ）と表記する。
【００７７】
図３４と図３５とを比較して明らかなように、無電圧接点対応の場合、セーフティスイッチの第１系統のブレイク接点ｂ１１は、端子Ｔ１１と端子Ｔ１２との間に接続される。同様にして、第２系統のブレイク接点ｂ２１は、端子Ｔ２１と端子Ｔ２２との間に接続される。一方、有電圧接点対応の場合、第１系統側のブレイク接点ｂ１１は、電源２４Ｖと端子Ｔ１２との間に接続される。同様にして、第２系統側のブレイク接点ｂ２１は、電源２４Ｖと端子Ｔ２２との間に接続される。
【００７８】
次に、図３４及び図３５の回路構成を前提として、本発明者等が新たに開発した診断処理の構成を、図２８〜図３３を参照して説明する。この入力診断処理は、第１ＣＰＵ２０１と第２ＣＰＵ２０２とを並列に動作させながら行われる。また、処理全体の前半においては、第１ＣＰＵ側が第１系統のブレイク接点に関する診断を担当し、第２ＣＰＵ側は第２系統のブレイク接点に関する診断処理を実行する。一方、処理の後半においては、役割が反転して、第１のＣＰＵ側が第２系統のブレイク接点に関する診断処理を実行し、第２ＣＰＵ側が第１系統のブレイク接点に関する診断処理を実行する。
【００７９】
また、これらの診断処理は、先に説明した端子Ｔ１１，Ｔ１２，Ｔ２１，Ｔ２２のそれぞれに、適宜出力信号を与え又は入力信号を取り込むといった処理を行うのであるが、それらの端子に関する電圧出力に関しては、あらかじめ役割が固定化されている。すなわち、第１系統の端子Ｔ１１，Ｔ１２に対する電圧の出力は、第１ＣＰＵ側が行うものとされ、第２系統の端子Ｔ２１，Ｔ２２に関する電圧の出力は、第２ＣＰＵ側が担当するものとされている。これらの関係は、ハードウェア的に固定化されたものである。一方、それら４個の端子Ｔ１１，Ｔ１２，Ｔ２１，Ｔ２２からの信号の取り込みは、第１ＣＰＵ及び第２ＣＰＵが並列に行えるように構成されている。すなわち、それら４個の端子Ｔ１１，Ｔ１２，Ｔ２１，Ｔ２２からの信号の取り込みは、第１ＣＰＵ又は第２ＣＰＵのいずれもが行えるように構成されている。
【００８０】
次に、図２８及び図２９を参照しながら、入力診断処理の前半の処理について説明する。それらの図において処理が開始されると、第１ＣＰＵ並びに第２ＣＰＵのそれぞれにおいては、互いにＣＰＵ間通信（ステップ７０１，７２１）を実行することによって、まず、同期の確立を行う。
【００８１】
続いて、第１ＣＰＵの側では、Ｔ１２Ｄ＝オンの判定（ステップ７０２）を行う。図３４の回路から明らかなように、Ｔ１１Ｐ（ｏｕｔ）がオン（“Ｈ”）の状態において、Ｔ１２Ｄがオン（“Ｈ”）かオフ（“Ｌ”）かを見れば、第１系統のブレイク接点ｂ１１が断線又は不導通していることを判定できる。ここで、Ｔ１２Ｄ＝オンでないと判定されると（ステップ７０２ＮＯ）、エラーテーブル４（詳細は後述）が更新されて（ステップ７０３）、断線又は不導通発生が記憶される。これに対して、Ｔ１２Ｄ＝オン（“Ｈ”）であれば（ステップ７０２ＹＥＳ）、断線又は不導通は生じていないものと判定される。
【００８２】
続いて、第１ＣＰＵの側では、Ｔ１２Ｐをオン（“Ｈ”）させ（ステップ７０４）、１００μｓ以上のウエイト処理を実行した後（ステップ７０５）、今度はＴ１２Ｄ＝オフ（“Ｌ”）の判定（ステップ７０６）を実行する。ここで、Ｔ１２Ｐをオン（“Ｈ”）させた状態において、Ｔ１２Ｄ＝オフ（“Ｌ”）を判定するということは、端子Ｔ１２に接続された入力回路の状態を診断することを意味している。ここで、Ｔ１２Ｄ＝オフ（“Ｌ”）でないと判定されれば（ステップ７０６ＮＯ）、所定のエラーテーブル１が更新されて（ステップ７０７）、第１系統側の端子Ｔ１２に内蔵された入力回路等の異常が記憶される。
【００８３】
続いて第１ＣＰＵの側では、さらにＴ１２Ｐをオフ（“Ｌ”）させ（ステップ７０８）、Ｔ１１Ｐをオフ（“Ｌ”）させた後（ステップ７０９）、３００μｓ以上のウエイト処理を実行した後（ステップ７１０）、図２９へ移って、Ｔ１１ｍｉｎ＝オフ（“Ｌ”）の判定（ステップ７１１）を行う。ここで、Ｔ１２をオフ（“Ｌ”）、Ｔ１１Ｐをオフ（“Ｌ”）の状態において、Ｔ１１ｍｉｎ＝オフ（“Ｌ”）を判定するということは、第１系統のブレイク接点ｂ１１と第２系統のブレイク接点ｂ２１との系統短絡を判定することを意味している。ここで、Ｔ１１ｍｉｎ＝オフ（“Ｌ”）でないと判定されると（ステップ７１１ＮＯ）、エラーテーブル３が更新されて（ステップ７１２）、先ほど説明した、第１系統と第２系統との短絡が記憶される。
【００８４】
さらに、第１ＣＰＵの側では、Ｔ１２Ｄ＝オフ（“Ｌ”）の判定（ステップ７１３）が実行される。ここで、Ｔ１２Ｄ＝オフ（“Ｌ”）を判定するということは、特にセーフティスイッチがマットスイッチの場合において、マットスイッチに対する２４Ｖの配線を間違って結線、または断線したような場合を意味している。ここで、Ｔ１２Ｄ＝オフ（“Ｌ”）でないと判定されれば（ステップ７１３ＮＯ）、エラーテーブル６が更新されて（ステップ７１４）、マットスイッチに異常配線があった旨が実質的に記憶される。
【００８５】
続いて、第１ＣＰＵの側では、Ｔ１１Ｐをオン（“Ｈ”）させた後、Ｔ１１Ｍ＝オン（“Ｈ”）の判定を行う（ステップ７１６）。ここで、Ｔ１１Ｐをオン（“Ｈ”）させた状態において、Ｔ１１Ｍ＝オン（“Ｈ”）を判定するということは、第１系統側の端子Ｔ１１に内蔵された回路の故障診断を行っていることを意味している。ここで、Ｔ１１Ｍ＝オン（“Ｈ”）でないと判定されれば（ステップ７１６ＮＯ）、エラーテーブル５が更新されて（ステップ７１７）、端子Ｔ１１に内蔵された回路の異常が記憶される。
【００８６】
一方、以上第１ＣＰＵ側の処理の最中、第２ＣＰＵ側においては、ＣＰＵ間通信を行った後（ステップ７２１）、１００μｓウエイト処理を実行して（ステップ７２２）、しかる後Ｔ１２Ｄ＝オフ（“Ｌ”）の判定（ステップ７２３）を行う。ここで、Ｔ１２Ｄ＝オフ（“Ｌ”）ということは、先に第１ＣＰＵ側において行った処理（ステップ７０６，７０７）と同じである。すなわち、第２ＣＰＵ側においても、端子Ｔ１２の内部入力回路が正常であるか否かを判定することを意味している。
【００８７】
このようにして、第１ＣＰＵ側において、ステージ＃１，ステージ＃２，ステージ＃３が順次実行される一方、第２ＣＰＵ側においてもステージ＃１の状態が終了すると、最後に両ＣＰＵにおいては判定処理（ステップ７１８，７２５）を実行する。
【００８８】
判定処理の詳細を示すフローチャートが図３６に示されている。この判定処理においては、図３７に示されるエラーテーブルの内容を参照することによって、セーフティスイッチ側の故障及び／又は入力端子台に内蔵された入力回路及び出力回路の異常を判定する。すなわち、図３７に示されるように、入力診断用のエラーテーブルには、基本モジュール並びに拡張モジュール１〜８のそれぞれごとに、診断結果記憶エリアが設けられている。尚、図中モードと記された欄は、当該モジュールの動作モードを示している。ここで先に説明したように、『０』は非常停止モード、『１』は非常停止＋入力１アクティブ反転モード、『２』は両手操作スイッチモード、『３』はマットスイッチモード、『４』はライトカーテンモード、『−１』は接続なしをそれぞれ示している。また、診断結果記憶領域には、『テーブル１自入力部故障』、『テーブル２他入力部故障』、「テーブル３安全入力』、『テーブル４，６断線』、『テーブル５モニタ回路故障』からなる５つのエリアが設けられている。そして、各エリアには、診断結果が所定のコードで記憶されている。ここで『０』は診断未実施（システムによって定期的にクリアされる）を示しており、『−１』は正常終了、『１』は異常１回目、『２』は異常２回目をそれぞれ示している。従って、この入力診断用のエラーテーブルの内容を参照することによって、基本モジュール並びに拡張モジュールのそれぞれについて、そのモードを参照しつつ、診断結果を確認することによって、セーフティスイッチ側の故障、及び／又は端子台側の入力回路及び／又は出力回路の故障を的確に判定することができるのである。
【００８９】
次に、以上説明した前半処理の信号状態を、図３０のタイムチャートに従って説明する。同図において、上側が第１ＣＰＵ側の処理であり、下側が第２ＣＰＵ側の処理である。図から明らかなように、第１ＣＰＵ側の処理においては、Ｔ１２Ｐ（ｏｕｔ）をオン（“Ｈ”）させた状態において、Ｔ１２Ｄの信号状態を参照することにより、内部回路の故障状態を判定することができる。一方、Ｔ１１Ｐ（ｏｕｔ）をオフ（“Ｌ”）させた状態において、Ｔ１１Ｍ（ｉｎ）の状態を参照することによって、２４Ｖのままは入力系統間ショートとして判定することができる。また、Ｔ１２Ｄの信号状態を参照し、これが当初から“Ｌ”の状態の場合には、マットスイッチの場合のみにおいては、断線と判定することができる。一方、第２ＣＰＵ側の処理において、Ｔ１２Ｄを参照することにより、内部回路の故障等を適切に判定することができる。
【００９０】
次に、入力診断処理の後半の処理を、図３１〜図３３を参照して説明する。尚、これらの処理は、先に説明した前半の処理におけるものを、第１ＣＰＵ側と第２ＣＰＵ側とを交換したものに相当する。すなわち、この実施の形態においては、第１ＣＰＵ側と第２ＣＰＵ側とにおいて交互に同一の処理を実行することにより、故障診断時期に時間差を持たせることによって、接続されたセーフティスイッチの２つの系統間における短絡を確実に検出しようとするものである。尚、図３１〜図３３の処理は、先に前半の処理に関して説明した図２８〜図３０の処理と全く同一であるから、詳細な説明は省略する。
【００９１】
最後に、判定処理の詳細を示すフローチャートが図３６に示されている。同図において処理が開始されると、まずテーブル１エラー＜２の判定（ステップ８０１）が行われる。ここでは、テーブル１エラー＜２でないと判定された場合に限り（ステップ８０１ＮＯ）、エラーコードがセットされる（ステップ８０２）。
【００９２】
続いて、テーブル２エラー＜２の判定が行われ（ステップ８０３）、ここではテーブル２エラー＜２でないと判定された場合に限り（ステップ８０３ＮＯ）、エラーコードのセットが行われる（ステップ８０４）。
【００９３】
続いて、テーブル５エラー＜２の判定が行われ（ステップ８０５）、ここではテーブル５エラー＜２でないと判定された場合に限り（ステップ８０５ＮＯ）、エラーコードのセットが行われる（ステップ８０６。
【００９４】
続いて、動作モードがマットモードであるか否かの判定が行われる（ステップ８０７）。ここで動作モードがマットモードでないと判定されれば（ステップ８０７ＹＥＳ）、テーブル３エラー＜２の判定が行われ（ステップ８０８）、ここでは、テーブル３エラー＜２でないと判定された場合に限り（ステップ８０８ＮＯ）、エラーコードのセットが行われる（ステップ８０９）。
【００９５】
これに対して、動作モードがマットモードと判定された場合には（ステップ８０７ＮＯ）、続いてテーブル４エラー＜２の判定が行われ（ステップ８１０）、ここではテーブル４エラー＜２でないと判定された場合に限り（ステップ８１０ＮＯ）、エラーコードのセットが行われる（ステップ８１３）。
【００９６】
一方、テーブル４エラー＜２であると判定された場合には（ステップ８１０ＹＥＳ）、続いてテーブル６エラー＜２の判定が行われ（ステップ８１１）、ここではテーブル６エラー＜２でないと判定された場合に限り（ステップ８１１ＮＯ）、エラーコードのセットが行われる（ステップ８１２）。
【００９７】
このようにして、エラーコードがセットされると（ステップ８０２，８０４，８０６，８０９，８１３，８１２）、このセーフティコントローラは動作を停止し、いわゆるロックアウト状態へと移行するのである。すなわち、外部に接続されたセーフティスイッチの断線や短絡、あるいは入力端子台に内蔵される入力回路や出力回路に異常があれば、直ちにセーフティコントローラの動作は停止され、それらの異常に基づく危険な状態への移行が未然に防止されるわけである。
【００９８】
次に、基本モジュール又は拡張出力モジュールにおいて実行される出力処理の詳細を示すフローチャートが図３８に示されている。同図において処理が開始されると、スロットを指定するポインタを『＋１』に初期設定した後（ステップ９０１）、ポインタにて指定されるスロットに装着されたモジュール（基本モジュール又は拡張モジュール）が出力モジュールであるか否かの判定を行う（ステップ９０２）。ここで出力モジュールと判定されれば（ステップ９０２ＹＥＳ）、先に図２６のフローチャートにおけるステップ５１６，５１７，５２３，５２４において記憶された出力判定値の読み出しが行われ（ステップ９０３）、それらの判定値に応じた出力処理が実行される（ステップ９０４）。
【００９９】
以後、スロット指定ポインタの値を＋１ずつ更新させながら、該当するスロットに関して出力モジュールであるか否かの判定を行い、出力モジュールである場合には以上の処理（ステップ９０３，９０４）を繰り返すことによって、基本モジュール又は拡張出力モジュールの該当する出力端子台から外部へと出力信号を送り出すのである。
【０１００】
以上詳細に説明したように、本発明のセーフティコントローラにあっては、基本モジュール２内のプログラムメモリ２０２ａ，２０２ｂに、セーフティ入力信号の状態とセーフティ出力信号の状態との関係を規定するセーフティ動作プログラムを予定されるセーフティスイッチの種類のそれぞれについて記憶させる一方、パソコン（ＰＣ）６を介して、外部入力端子部とその外部入力端子部に接続されるべきセーフティスイッチの種類とを設定し、しかる後、動作モードにおいては、動作プログラム記憶手段であるプログラムメモリ２０２ａ，２０２ｂに記憶された複数種のセーフティ動作プログラムの中で、設定手段にて設定されたスイッチ種類に対応するセーフティ動作プログラムを選択し、これを設定手段にて設定された外部入力端子部に関して実行させるようにしたものであるから、基本モジュール並びに拡張モジュールのそれぞれに任意の種類のセーフティスイッチを接続可能であると共に、それらに対応した動作プログラムを適切に動作させることによって、任意個数のセーフティスイッチを様々に組み合わせて、所望するセーフティシステムを効率よく実現することができる。
【０１０１】
加えて、各入力端子部においては、外部接続されたセーフティスイッチのみならず、内部入出力回路についても、適宜に故障診断が行われるため、それらの処理とも相俟って、高い安全性を維持しつつ、セーフティコントローラを運転させることができるのである。
【０１０２】
次に、各種スイッチに対応する動作プログラムの詳細（特に、動作プログラムの入力値判定部分）を、図３９〜図５０を参照しながら詳細に説明する。
【０１０３】
非常停止スイッチモードにおけるコントローラの動作（入力判定部分）を示す状態遷移図が図３９に示されている。同図に示されるように、この状態遷移図には、『ＩＮＩＴＩＡＬ』、『ＲＥＡＤＹ＃２』、『ＴＩＭＥＯＵＴ＃２』、『ＯＮ』、『ＴＩＭＥＯＵＴ＃３』、『ＴＩＭＥＯＵＴ＃１』、『ＲＥＡＤＹ＃１』とからなる７つの状態が存在する。これらの状態間の遷移は、特定の条件の成立により行われる。図では、それらの条件が矢印とこれに付された記号で表されている。
【０１０４】
例えば状態『ＩＮＩＴＩＡＬ』から状態『ＲＥＡＤＹ＃１』への移行は、条件Ｔ２２＝Ｘの成立により行われる。逆に、状態『ＲＥＡＤＹ＃１』から状態『ＩＮＩＴＩＡＬ』への移行は、条件Ｔ２２＝反転Ｘ（Ｘの論理反転）の成立により行われる。この状態遷移図の読み方は、上述の要領により、当業者であれば容易に理解されるはずであるが、念のため、主要な動作を分かりやすくフローチャートを使用して説明する。
【０１０５】
非常停止スイッチがオフからオンに切り替わったことを判定するための処理プログラムを示すフローチャートが図４０に示されている。いま仮に、端子Ｔ１２とＴ２２（図３４，３５参照）はＯＦＦ（“Ｌ”）であると想定する（ステップ１００１）。続いて、ステップ１００２においては、Ｔ１２がＯＮ（“Ｈ”）であるか否かの判定が行われる。ここでＴ１２がＯＮ（“Ｈ”）ではないと判定されれば（ステップ１００２ＮＯ）、ステップ１００９へ進んで、非常停止スイッチはＯＦＦと判定される。これに対して、Ｔ１２がＯＮ（“Ｈ”）であれば（ステップ１００２ＹＥＳ）、系統間同期監視タイマがスタート中でないことを条件として（ステップ１００３ＮＯ）、系統間同期監視タイマをスタートさせた後（ステップ１００４）、Ｔ２２がＯＮ（“Ｈ”）であるか否かの判定を行う（ステップ１００５）。ここでＴ２２がＯＮ（“Ｈ”）でなければ（ステップ１００５ＮＯ）、続いて系統間同期監視タイマがタイムアップするのを待機する（ステップ１００８）。その間にＴ２２がＯＮ（“Ｈ”）と判定されれば（ステップ１００５ＹＥＳ）、後述する履歴処理（ステップ１００６）を実行した後、非常停止スイッチはＯＮと判定される（ステップ１００７）。これに対して、系統間同期監視タイマがタイムアップしてしまえば（ステップ１００８ＹＥＳ）、非常停止スイッチはＯＦＦと判定される（ステップ１００９）。
【０１０６】
次に、非常停止スイッチがＯＮからＯＦＦに切り替わったことを判定するための処理のプログラムを示すフローチャートが図４１に示されている。いま仮に、端子Ｔ１２とＴ２２がＯＮ（“Ｈ”）であると仮定する（ステップ１１０１）。この状態において、Ｔ１２がＯＮ（“Ｈ”）であって（ステップ１１０２ＹＥＳ）、かつＴ２２がＯＮ（“Ｈ”）であれば（ステップ１１０３ＹＥＳ）、非常停止スイッチはＯＮと判定される。これに対して、端子Ｔ１２，Ｔ２２のいずれかがＯＦＦ（“Ｌ”）であると判定されれば（ステップ１１０２ＮＯ又は１１０３ＮＯ）、非常停止スイッチはＯＦＦと判定される（ステップ１１０５）。
【０１０７】
次に、図４２〜図４４を参照して、セーフティスイッチ作動時を利用した接点溶着診断について説明する。先に図４０を参照して説明したように、セーフティスイッチの作動時にあっては、ステップ１００６において履歴処理が実行される。この履歴処理（ステップ１００６）は、セーフティスイッチが有する２系統の入力信号Ｔ１２，Ｔ２２のそれぞれについて、入力タイミング間の同期ずれ時間を計測し、これを時系列的にメモリに記憶させるものである。
【０１０８】
すなわち、図４２に示されるように、履歴処理（ステップ１００６）においては、ＦＩＦＯスタックを構成するメモリエリアのポインタを＋１ずつ歩進させながら（ステップ１２０１）、ポインタの指定しているアドレスに対して、図４３（ｂ）に示される同期ずれ時間Ｔ１を記憶させる。ＦＩＦＯスタック処理を実現するため、ポインタの値が最終アドレスを超えた場合には（ステップ１２０２ＹＥＳ）、ポインタの内容を０にクリアさせる（ステップ１２０３）。
【０１０９】
以上の処理を繰り返す結果、図４３（ａ）に示されるように、基本モジュール２のＲＡＭのワークエリアに形成された履歴生成領域（図４３（ａ）参照）には、先ほど説明した同期ずれ時間（Ｔ１）が安全入力の系統間の測定時間として順次記憶される。すなわち、図４３（ａ）の例にあっては、ポインタで指定されるアドレス０００１，０００２，０００３，０００４，・・・０００Ｆのエリアに、９５ｍｓ，１００ｍｓ，１０２ｍｓ，１００ｍｓ，・・・９８ｍｓのように同期ずれの時間（Ｔ１）が格納されていく。図４３（ｂ）のタイムチャートは、セーフティスイッチが有する２系統の入力端子Ｔ１２，Ｔ２２のそれぞれのオンタイミングを比較して示すものであり、それらの立ち上がり時間の差が同期ずれ時間（Ｔ１）となる。一方、これらの同期ずれ時間（Ｔ１）は監視しきい値（Ｔｈ）と比較され、同期ずれの時間（Ｔ１）が監視しきい値（Ｔｈ）を超えた場合、先のフローチャートにおいてステップ１００８で示されたように、タイマのタイムアップによって、非常停止スイッチはＯＦＦと判定されることとなる（ステップ１００９）。
【０１１０】
一方、図４３（ａ）に示される履歴生成領域の内容は、適宜パソコン（ＰＣ）６へと読み出しが可能となされている。すなわち、図４４のフローチャートに示されるように、基本モジュールにおいて、受信データを読み出し（ステップ１３０１）、読み出されたコマンドが安全入力の同期時間読み出しコマンドであると判定されれば（ステップ１３０２）、指定された履歴数分だけメモリの内容の読み出しが行われ（ステップ１３０３）、それに基づいて送信データが作成されて、読み出し要求を行ったパソコン（ＰＣ）６へと返送されるのである（ステップ１３０４）。
【０１１１】
このように、図４０に示されるように、セーフティコントローラとしての通常の動作を行いつつ、入力スイッチを構成する第１系統の入力信号と第２系統の入力信号との立ち上がり時間差（同期ずれ時間Ｔ１）を検出し、これを図４３（ａ）に示されるように、履歴生成領域へと時系列的に記憶させておき、しかる後、任意の時点において、パソコン（ＰＣ）６から所定の読み出しコマンドを送り出すことによって、図４４のフローチャートに示されるように、履歴生成領域からのデータ読み出し並びに送信データの作成を行って、これをパソコン（ＰＣ）６側へと送り出すのである。一方、パソコン（ＰＣ）６の側でも、基本モジュールから読み出された一連の同期ずれ時間（Ｔ１）を、適当なしきい値と比較したり、あるいはその時系列的な変化の度合いをグラフ化するなどによって、取り扱い対象となるセーフティスイッチの接点劣化状況を判定したり、焼き付きに至る残り時間を推定するといった様々な用途に使用することができるであろう。
【０１１２】
次に、両手操作スイッチモードにおけるコントローラの動作（入力判定部分）を示す状態遷移図が図４５に示されている。同図に示されるように、この状態遷移図には、『ＩＮＩＴＩＡＬ＃１』、『ＩＮＩＴＩＡＬ＃２』、『ＲＥＡＤＹ＃１』、『ＴＩＭＥＯＵＴ＃１』、『ＴＩＭＥＯＵＴ＃３』、『ＯＮ』、『ＴＩＭＥＯＵＴ＃２』、『ＲＥＡＤＹ＃２』とからなる８個の状態が存在する。そして、これらの状態間の移行条件は、先に説明したように、矢印とその矢印に付された記号とで表されている。先に述べたように、この状態遷移図の理解は、先の要領により、当業者であれば容易であろうが、念のため図４６〜図４８を参照して、代表的な動作について分かりやすく説明する。
【０１１３】
図４６において処理が開始されると、端子Ｔ１２とＴ２２がＯＦＦ（“Ｌ”）かつ端子Ｔ１３とＴ２３がＯＮ（“Ｈ”）となることが待機される（ステップ１４０１）。この状態において、端子Ｔ１２とＴ２２がＯＦＦ（“Ｌ”）かつ端子Ｔ１３とＴ２３がＯＮ（“Ｈ”）になると（ステップ１４０１ＹＥＳ）、続いて端子Ｔ１２がＯＮ（“Ｈ”）であるか否かの判定が行われる（ステップ１４０２）。ここで、端子Ｔ１２についてもＯＮ（“Ｈ”）と判定されれば（ステップ１４０２ＹＥＳ）、接点間同期監視タイマがスタート中でないことを条件として（ステップ１４０３ＮＯ）、接点間同期監視タイマをスタートさせた後（ステップ１４０４）、端子Ｔ１３がＯＦＦ（“Ｌ”）であるか否かの判定が行われる（ステップ１４０５）。ここで、端子Ｔ１３がＯＦＦ（“Ｌ”）と判定されれば（ステップ１４０５ＹＥＳ）、続いて端子Ｔ２２がＯＮ（“Ｈ”）かつ端子Ｔ２３がＯＦＦ（“Ｌ”）であるか否かの判定が行われる（ステップ１４０８）。ここで、端子Ｔ２２がＯＮ（“Ｈ”）かつＴ２３がＯＦＦ（“Ｌ”）と判定されれば（ステップ１４０８ＹＥＳ）、両手操作スイッチはＯＮと判定される（ステップ１４０９）。
【０１１４】
これに対して、端子Ｔ１３がＯＦＦ（“Ｌ”）であることを待機する間に（ステップ１４０５ＮＯ）、接点間同期監視タイマがタイムアップすれば（ステップ１４０６ＹＥＳ）、両手操作スイッチはＯＦＦと判定され（ステップ１４０７）、処理は終了する。また、端子Ｔ２２がＯＮ（“Ｈ”）かつＴ２３がＯＦＦ（“Ｌ”）でなければ（ステップ１４０８ＮＯ）、系統間同期監視タイマがスタート中でないことを条件として（ステップ１４１０ＮＯ）、系統間同期監視タイマをスタートさせた後（ステップ１４１１）、系統間同期監視タイマがタイムアップするのを待機する（ステップ１４１２ＮＯ）。この状態において、系統間同期監視タイマがタイムアップすれば（ステップ１４１２ＹＥＳ）、両手操作スイッチはＯＦＦと判定される（ステップ１４１３）。
【０１１５】
次に、両手操作スイッチがＯＮからＯＦＦに切り替わったことを判定するための処理プログラムを示すフローチャートが図４８に示されている。同図において、いま仮に端子Ｔ１２とＴ２２はＯＮ（“Ｈ”）、かつ端子Ｔ１３とＴ２３はＯＦＦ（“Ｌ”）であると想定する（ステップ１５０１）。この状態において、端子Ｔ１２がＯＮ（ステップ１５０２ＹＥＳ）、Ｔ２２がＯＮ（ステップ１５０３ＹＥＳ）、Ｔ１３がＯＦＦ（ステップ１５０４ＹＥＳ）、かつＴ２３がＯＦＦ（ステップ１５０５ＹＥＳ）と判定されれば、両手操作スイッチはＯＮと判定される（ステップ１５０６）。
【０１１６】
これに対して、Ｔ１２がＯＮでない（ステップ１５０２ＮＯ）、Ｔ２２がＯＮでない（ステップ１５０３ＮＯ）、Ｔ１３がＯＦＦでない（ステップ１５０４ＮＯ）、Ｔ２３がＯＦＦでない（ステップ１５０５ＮＯ）のいずれか１つが判定されれば、両手操作スイッチはＯＦＦと判定される（ステップ１５０７）。
【０１１７】
次に、マットスイッチモードにおけるコントローラの動作（入力判定部分）を示す状態遷移図が図４９に示されている。この状態遷移図は、『ＩＮＩＴＩＡＬ』及び『ＯＮ』からなる２つの状態を有する。これらの状態間の移行は、マットＯＦＦ又はマットＯＮのいずれかであって、極めて簡単である。これをフローチャートで示せば、図５０に示されるように、系統間の短絡が起こっているか否かに基づいて（ステップ１６０１、マットスイッチはＯＦＦと判定され（ステップ１６０２）又はマットスイッチはＯＮと判定される（ステップ１６０３）。
【０１１８】
次に、この実施形態に示される基本モジュール又は拡張モジュールに組み込まれた様々なチェック処理について説明する。モジュールチェック処理の詳細を示すフローチャートが図５１に示されている。このモジュールチェック処理とは、マザーボード上の拡張スロットに対して任意の拡張スロットを装着した場合、これが予め設定された種別の拡張モジュールかあるいはそうでないかの判定を自己診断できるようにしたものである。このモジュールチェック処理については、例えば、図２７に示されるその他の診断処理（ステップ６０２）において実行される。
【０１１９】
図５１において処理が開始されると、当該スロットに対応するメモリにＩＤが割り付けてあるか否かの判定が行われる（ステップ１７０１）。ここでメモリにＩＤが割り付けてあれば（ステップ１７０１ＹＥＳ）、実際のモジュールからＩＤの読み出しが行われ（ステップ１７０２）、次いでメモリに記憶されたＩＤとモジュールから読み出されたＩＤとの照合が行われ（ステップ１７０３）、両者が不一致な場合にはエラーとの認識が行われ（ステップ１７０４）、コントローラの起動が禁止される。以上の処理が、マザーボードに装着された全てのスロットに関して行われる結果、例えば、パソコンから各スロットに対して様々な種別の拡張モジュールを設定はしたものの、オペレータのミス等によって、指定されたスロットに異なる種別の拡張モジュールが装着されてしまったような場合には、このモジュールチェック処理の実行により、誤動作が防止されることとなる。
【０１２０】
次に、第１のバックチェックのための結線方法を示す配線図が図５２に、同バックチェックのための処理を示すフローチャートが図５３にそれぞれ示されている。図５２に示されるように、基本モジュール２にはフィードバック端子ＦＢ０が設けられる。そして、このＦＢ０と電源２４Ｖとの間には、マグネットスイッチＭＳ１の補助ブレイク接点ＭＳ１−２とマグネットスイッチ２の補助ブレイク接点ＭＳ２−２とが直列に介在される。そのため、フィードバック端子ＦＢ０の電圧（“Ｈ”又は“Ｌ”）を観察することによって、マグネットスイッチＭＳ１，ＭＳ２に対してセーフティ出力信号を送り出した後、実際にマグネットスイッチの主メイク接点ＭＳ１−１，ＭＳ２−１がＯＦＦされたかどうかを確認することができる。すなわち、図５３に示されるように、基本モジュール２内においては、端子Ｔ２２，Ｔ３２へとセーフティ出力を送出した後、フィードバック端子ＦＢ０がＯＦＦされる時点を監視する（ステップ１８０１ＮＯ）。そして、タイマをスタートした後（ステップ１８０２）、フィードバック入力がＯＮ状態のまま（ステップ１８０３）、監視時間が設定値を超えた場合には（ステップ１８０４ＹＥＳ）、エラーとの判定を行うことによって（ステップ１８０５）、マグネットスイッチＭＳ１，ＭＳ２の主接点ＭＳ１−１，ＭＳ２−１の接点焼き付き事故等をいち早く検出することができるのである。
【０１２１】
次に、第２のバックチェックのための結線方法を示す配線図が図５４に、同チェックのための処理を示すフローチャート（その１）が図５５に、同フローチャート（その２）が図５６にそれぞれ示されている。この例にあっては、拡張ユニット４Ａ′の側に２個のフィードバック端子ＦＢ１，ＦＢ２が設けられる。そして、これらのフィードバック端子ＦＢ１，ＦＢ２は、マグネットスイッチＭＳ１，ＭＳ２の補助ブレイク接点ＭＳ１−２，ＭＳ２−２がそれぞれ電源を介して接続される。これにより、ブレイク接点ＭＳ１−２，ＭＳ２−２のＯＮ／ＯＦＦ状態を個別に拡張モジュール４Ａ′に取り込み、マザーボード上のバスを介して基本モジュール２へと送り込むことによって、基本モジュール２内でマグネットスイッチＭＳ１，ＭＳ２の接点溶着診断個別に行うことができる。
【０１２２】
すなわち、図５５のフローチャートに示されるように、各スロットに対してスキャニングを行いつつ、出力モジュールと判定された場合には（ステップ１９０１ＹＥＳ）、出力がＯＦＦした時点から（ステップ１９０３ＹＥＳ）、所定の監視時間が経過する間に（ステップ１９０６ＮＯ）、フィードバック入力がＯＮすることを（ステップ１９０５ＹＥＳ）待機する。そして、フィードバック入力がＯＮするたびに（ステップ１９０５ＹＥＳ）、履歴処理（ステップ１９０８）を実行することによって、図５７（ａ）に示されるように、履歴生成領域内にフィードバック測定時間を蓄積する。履歴生成処理（ステップ１９０８）の詳細が図５６（ａ）に、また履歴読出し処理の詳細が図５６（ｂ）に示されている。この履歴生成処理（ステップ１９０８）においては、図５６（ａ）に示されるように、図５７（ａ）に示される履歴生成領域内においてポインタを＋１更新しつつ（ステップ２００１）、ポインタが最終アドレスを超えるたびに（ステップ２００２）、ポインタを０に更新することによって（ステップ２００３）、ポインタ値が示しているアドレスに書込を行う（ステップ２００４）。そして、図５７（ｂ）に示されるように、セーフティ出力をＯＦＦさせた後、フィードバック入力がＯＮするまでのフィードバック時間を観察し、その時間的変位が監視しきい値に達するか否かによって、接点溶着診断を行うことができるのである。
【０１２３】
一方、図５７（ａ）に示される履歴生成領域の内容は、適宜パソコン（ＰＣ）６へと読み出しが可能となされている。すなわち、図５６（ｂ）のフローチャートに示されるように、基本モジュールにおいて、受信データを読み出し（ステップ２１０１）、読み出されたコマンドがフィードバック時間読み出しコマンドであると判定されれば（ステップ２１０２）、指定された履歴数分だけメモリの内容の読み出しが行われ（ステップ２１０３）、それに基づいて送信データが作成されて、読み出し要求を行ったパソコン（ＰＣ）６へと返送されるのである（ステップ２１０４）。
【０１２４】
このように、図５５に示されるように、出力がＯＦＦした時点から、所定の監視時間が経過する間にフィードバック入力がＯＮする時間差を検出し、これを図５７（ａ）に示されるように、履歴生成領域へと時系列的に記憶させておき、しかる後、任意の時点において、パソコン（ＰＣ）６から所定の読み出しコマンドを送り出すことによって、図５６（ｂ）のフローチャートに示されるように、履歴生成領域からのデータ読み出し並びに送信データの作成を行って、これをパソコン（ＰＣ）６側へと送り出すのである。一方、パソコン（ＰＣ）６の側でも、基本モジュールから読み出された一連のフィードバック時間を、適当なしきい値と比較したり、あるいはその時系列的な変化の度合いをグラフ化するなどによって、取り扱い対象となるマグネットスイッチの接点劣化状況を判定したり、焼き付きに至る残り時間を推定するといった様々な用途に使用することができるであろう。
【０１２５】
次に、動作状態モニタ端子付きのセーフティコントローラの説明図（その１）が図５８に示されている。この例にあっては、プログラマブル・コントローラ（ＰＬＣ）からの動作状態信号Ｓ１を本発明のセーフティスイッチ（ＳＣ）のモニタ端子ＭＴ０に入力することによって、ＰＬＣが制御対象となる装置を作動させている状態かどうかの判定を行う。そして、ＰＬＣが該当する制御対象装置を作動させていない状態にあっては、仮にセーフティスイッチからの信号に基づいて、危険な状態と判定されるような場合にあっても、遮断出力ＯＵＴ２、ＯＵＴ３を出力させないことによって、例えばメンテナンス作業や運転停止中において、作業員が危険領域に進入したような場合、その都度セーフティスイッチが作動して、セーフティコントローラ（ＳＣ）によってコンタクタ（ＫＭ２，ＫＭ３）が不用意に遮断されることがないようにしているのである。すなわち、装置の制御系はプログラマブル・コントローラ（ＰＬＣ）によって管理され、人の管理系はセーフティコントローラ（ＳＣ）によって独立に実行することにより、装置の制御系がアクティブな状態でない限り、仮に危険領域に作業員が進入しても、セーフティコントローラからは遮断出力が生じないようにしているのである。
【０１２６】
動作状態モニタ端子付きのセーフティコントローラの説明図（その２）が図５９に示されている。この例にあっては、同図（ａ）に示されるように、従来装置の制御系と人の管理系のそれぞれにマグネットスイッチＫＭ１，ＫＭ２，ＫＭ３が存在して、スイッチＫＭ１についてはプログラマブル・コントローラ（ＰＬＣ）で、スイッチＫＭ２，ＫＭ３についてはセーフティコントローラ（ＳＣ）の出力ＯＵＴ２，ＯＵＴ３でＯＮ／ＯＦＦ動作を行っていたものを、同図（ｂ）に示されるように、プログラマブル・コントローラ（ＰＬＣ）からセーフティコントローラ（ＳＣ）に対して動作指令信号Ｓ２を与え、これをセーフティコントローラ（ＳＣ）側のモニタ端子（ＭＴ１）で受けることによって、インターロックを掛け、プログラマブル・コントローラ（ＰＬＣ）が動作していない時には、遮断出力ＯＵＴ２，ＯＵＴ３が出力されないようにして、装置の制御系における遮断スイッチＫＭ１を省略可能としたものである。
【０１２７】
次に、入力回路を利用したソレノイド診断の説明図が図６０に示されている。この例にあっては、同図（ａ）に示されるソレノイド接続端子Ｅ１，Ｅ２に対して、同図（ｂ）のタイムチャートに示されるように、出力Ａｏｕｔ，Ｂｏｕｔを送りながら、信号Ａｉｎ，Ｂｉｎを観察することによって、ソレノイドＳＯＬの導通故障並びに断線故障を判定できるようにしたものである。この診断処理については、先のフローチャートに示されたように、電源投入直後あるいは通常モード中の診断処理等の適宜なタイミングにおいて行うことができる。
【０１２８】
最後に、各セーフティスイッチに対応した動作プログラムにおける出力制御態様（その１）が図６１に、同出力制御態様（その２）が図６２にそれぞれ示されている。
【０１２９】
図６１（ａ）に示されるものは、基本モジュール（main）の管理下において、基本モジュールの入力部（INmain）あるいは２つの拡張入力モジュール（INadditional1,2）のいずれかにおいて、セーフティスイッチがＯＦＦと判定されると、基本モジュールの出力部（OUTmain）あるいは拡張出力モジュール（OUT1,2）の出力を全て一括してＯＦＦさせるようにしたものである。
【０１３０】
同図（ｂ）に示されるものは、基本モジュール（main）の管理下において、基本モジュールの入力部（INmain）あるいは２つの拡張入力モジュール（INadditional1,2）のいずれかにおいて、セーフティスイッチがＯＦＦと判定されると、基本モジュールの出力部（OUTmain）と第１拡張モジュールの出力部（OUT1）については瞬時にＯＦＦさせるものの、第２拡張出力モジュールの出力部（OUT2）についてはオフディレー出力させるものである。
【０１３１】
図６２（ａ）に示されるものは、基本モジュール（main）の管理下において、基本モジュールの入力部（INmain）がセーフティスイッチのＯＦＦ判定を行うと、基本モジュールの出力部（OUTmain）も瞬時ＯＦＦさせる一方、２台の拡張モジュールの入力部（INadditional1,2）のいずれかにおいて、セーフティスイッチがＯＦＦと判定されると、それら拡張モジュールの出力部（OUT1,2）を瞬時ＯＦＦさせるものである。
【０１３２】
図６２（ｂ）に示されるものは、基本モジュール（main）の管理下において、基本モジュールの入力部（INmain）がセーフティスイッチのＯＦＦ判定を行うと、基本モジュールの出力部（OUTmain）並びに２台の拡張モジュールの出力部（OUT1,2）を瞬時ＯＦＦさせる一方、２台の拡張モジュールの入力部（INadditional1,2）のいずれかがセーフティスイッチのＯＦＦ判定を行うと、それら拡張モジュールの出力部（OUT1,2）を瞬時ＯＦＦさせるものである。
【０１３３】
このように、セーフティ動作プログラムを構成するセーフティースイッチの入力判定結果と出力制御状態との関係は、様々な態様を予め組み込むことが可能である。
【０１３４】
尚、以上説明したセーフティ動作プログラムについては、工場出荷時において固定的に組み込み、ユーザ側では変更ないし操作はできないものであるから、欧州への輸出等に際しても、セーフティ規格の認定を予め受けておけば、ユーザサイドにおいてどのような安全スイッチに対応する設定を行ったとしても、システム構築後にその都度安全なセーフティ規格の認定を受ける必要はなくなる。
【図面の簡単な説明】
【０１３５】
【図１】セーフティコントローラの全モジュール装着状態における外観斜視図である。
【図２】セーフティコントローラの拡張モジュール引き抜き状態における外観斜視図である。
【図３】コントローラにパソコンを接続した状態を示すシステム外観図である。
【図４】基本モジュールのハードウェア構成を示すブロック図である。
【図５】基本モジュール内の第１，第２出力回路と外部電磁接触器との結線例を示す配線図である。
【図６】入力拡張モジュールのハードウェア構成を示すブロック図である。
【図７】出力拡張モジュールである電磁リレー出力モジュールのハードウェア構成を示すブロック図である。
【図８】出力拡張モジュールである電磁リレー出力モジュール内のリレー接点と外部マグネットスイッチとの結線例を示す配線図である。
【図９】出力拡張モジュールであるソリッドステートリレー出力モジュールのハードウェア構成を示すブロック図である。
【図１０】ソリッドステートリレー出力モジュール内のリレーと外部電磁接触器との結線例を示す配線図である。
【図１１】マザーボードのハードウェア構成を示す図である。
【図１２】非常停止スイッチの端子台結線方法を示す配線図である。
【図１３】両手操作スイッチの端子台結線方法を示す配線図である。
【図１４】マットスイッチの端子台結線方法を示す配線図である。
【図１５】セーフティリミットスイッチの端子台結線方法を示す配線図である。
【図１６】ライトカーテンの端子台結線方法を示す配線図である。
【図１７】電磁ロック式セーフティドアスイッチとセーフティリミットスイッチの端子台結線方法を示す配線図である。
【図１８】第１，第２ＣＰＵにて実行される制御プログラムの全体を概略的に示すフローチャートである。
【図１９】設定モードにて実行される制御プログラムの全体を示すフローチャートである。
【図２０】コマンド解析／ＥＥＰＲＯＭ書込み処理の詳細を示すフローチャートである。
【図２１】ＥＥＰＲＯＭ内のデータ配置の全体を表にして示す図である。
【図２２】ＥＥＰＲＯＭ内の拡張入力モジュール用のデータ配置を表にして示す図である。
【図２３】ＥＥＰＲＯＭ内の拡張出力モジュール用のデータ配置を表にして示す図である。
【図２４】通常モードにて実行される制御プログラムの全体を示すフローチャートである。
【図２５】入力処理／出力判定処理の詳細を示すフローチャートである。
【図２６】出力判定処理の詳細を示すフローチャート（その２）である。
【図２７】診断処理の詳細を示すフローチャートである。
【図２８】入力診断処理の詳細を示すフローチャート（その１）である。
【図２９】入力診断処理の詳細を示すフローチャート（その２）である。
【図３０】入力回路側の診断処理を示すタイムチャートである。
【図３１】入力診断処理の詳細を示すフローチャート（その３）である。
【図３２】入力診断処理の詳細を示すフローチャート（その４）である。
【図３３】第２入力回路側の診断処理を示すタイムチャートである。
【図３４】入力端子側のハードウェア構成とセーフティスイッチの結線例を示す図（無電圧接点対応）である。
【図３５】入力端子台のハードウェア構成とセーフティスイッチの結線例を示す図（有電圧接点対応）である。
【図３６】判定処理の詳細を示すフローチャートである。
【図３７】入力診断用のエラーテーブルの内容を示す図である。
【図３８】出力処理の詳細を示すフローチャートである。
【図３９】非常停止スイッチモードにおけるコントローラの動作を示す状態遷移図である。
【図４０】非常停止スイッチがＯＦＦからＯＮに切換ったことを判定するための処理プログラムを示すフローチャートである。
【図４１】非常停止スイッチがＯＮからＯＦＦに切換ったことを判定するための処理プロ津ラムを示すフローチャートである。
【図４２】履歴生成のための処理プログラムを示すフローチャートである。
【図４３】セーフティースイッチ作動時を利用した接点溶着診断の説明図である。
【図４４】履歴読出のためのコマンド解析処理を示すフローチャートである。
【図４５】両手操作スイッチモードにおけるコントローラの動作を示す状態遷移図である。
【図４６】両手操作スイッチがＯＦＦからＯＮに切換ったことを判定するための処理プログラムを示すフローチャート（その１）である。
【図４７】両手操作スイッチがＯＦＦからＯＮに切換ったことを判定するための処理プログラムを示すフローチャート（その２）である。
【図４８】両手操作スイッチがＯＮからＯＦＦに切換ったことを判定するための処理プログラムを示すフローチャートである。
【図４９】マットスイッチモードにおけるコントローラの動作を示す状態遷移図である。
【図５０】マットスイッチのＯＮ／ＯＦＦを判定するための処理プログラムを示すフローチャートである。
【図５１】モジュールチェック処理の詳細を示すフローチャートである。
【図５２】第１のバックチェックのための結線方法を示す配線図である。
【図５３】第１のバックチェックのための処理を示すフローチャートである。
【図５４】第２のバックチェックのための結線方法を示す配線図である。
【図５５】第２のバックチェックのための処理を示すフローチャート（その１）である。
【図５６】第２のバックチェックのための処理を示すフローチャート（その２）である。
【図５７】第２のバックチェック時を利用した接点溶着診断の説明図である。
【図５８】動作状態モニタ端子付のセーフティーコントローラの説明図（その１）である。
【図５９】動作状態モニタ端子付のセーフティーコントローラの説明図（その２）である。
【図６０】入力回路を利用したソレノイド診断の説明図である。
【図６１】各セーフティースイッチに対応した出力制御態様（その１）である。
【図６２】各セーフティースイッチに対応した出力制御態様（その２）である。
【符号の説明】
【０１３６】
１    セーフティーコントローラ
２    基本モジュール
３    入力拡張モジュール
４    出力拡張モジュール
４Ａ  電磁リレー出力モジュール
４Ｂ  ソリッドステートリレー出力モジュール
５    モジュールホルダ
６    パソコン
７    ＲＳ−２３２Ｃコード
８    外部電源
９    セーフティースイッチ
１０    電磁接触器
２１    第１入力端子台
２２    第２入力端子台
２３    第１出力端子台
２４    第２出力端子台
３１    第１入力端子台
３２    第２入力端子台
３３    第３入力端子台
３４    第４入力端子台
４１    第１出力端子台
４２    第２出力端子台
５１    ＤＩＮレール取付溝
５３    マザーボード
２０１    第１ＣＰＵ
２０２    第２ＣＰＵ
２０２ａ，２０２ｂ    プログラムメモリ
２０３    第１入力回路
２０４    第２入力回路
２０５    第１出力回路
２０６    第２出力回路
２０７    通信回路（ＲＳ−２３２Ｃ）
２０８    電源回路
２０９ａ，２０９ｂ    ＥＥＰＲＯＭ
３０１    第１入力回路
３０２    第２入力回路
３０３    第３入力回路
３０４    第４入力回路
３０５    第１バスインターフェース
３０６    第２バスインターフェース
３０７    電源ライン
４０１    第１出力回路
４０２    第２出力回路
４０３    モニタ回路
４０３ａ    第１モニタ回路
４０３ｂ    第２モニタ回路
４０４    第１バスインターフェース
４０５    第２バスインターフェース
４０６，４０７    電源ライン
４１１    第１出力回路
４１１ａ，４１２ｂ    ソリッドステートリレー
４１２    第２出力回路
５３１    基本モジュール用コネクタ
５３２ａ，５３２ｂ    アドレスデコーダ
５３３    拡張モジュール用コネクタ
５３４    データライン
５３５ａ    アドレスライン
５３６ｂ    スロットセレクトライン
２ＨＳ    両手操作スイッチ
ＥＳ      非常停止スイッチ
ＬＣ      ライトカーテン
ＭＤＳ    電磁ロック式セーフティードアスイッチ
ＭＳ      マットスイッチ
ＰＢ      押しボタン
Ｒ        受光器
ＳＬＳ    セーフティーリミットスイッチ
ＳＯＬ    ソレノイド
Ｔ        投光器
【図１】
2004297997.tif 000003
【図２】
2004297997.tif 000004
【図３】
2004297997.tif 000005
【図４】
2004297997.tif 000006
【図５】
2004297997.tif 000007
【図６】
2004297997.tif 000008
【図７】
2004297997.tif 000009
【図８】
2004297997.tif 000010
【図９】
2004297997.tif 000011
【図１０】
2004297997.tif 000012
【図１１】
2004297997.tif 000013
【図１２】
2004297997.tif 000014
【図１３】
2004297997.tif 000015
【図１４】
2004297997.tif 000016
【図１５】
2004297997.tif 000017
【図１６】
2004297997.tif 000018
【図１７】
2004297997.tif 000019
【図１８】
2004297997.tif 000020
【図１９】
2004297997.tif 000021
【図２０】
2004297997.tif 000022
【図２１】
2004297997.tif 000023
【図２２】
2004297997.tif 000024
【図２３】
2004297997.tif 000025
【図２４】
2004297997.tif 000026
【図２５】
2004297997.tif 000027
【図２６】
2004297997.tif 000028
【図２７】
2004297997.tif 000029
【図２８】
2004297997.tif 000030
【図２９】
2004297997.tif 000031
【図３０】
2004297997.tif 000032
【図３１】
2004297997.tif 000033
【図３２】
2004297997.tif 000034
【図３３】
2004297997.tif 000035
【図３４】
2004297997.tif 000036
【図３５】
2004297997.tif 000037
【図３６】
2004297997.tif 000038
【図３７】
2004297997.tif 000039
【図３８】
2004297997.tif 000040
【図３９】
2004297997.tif 000041
【図４０】
2004297997.tif 000042
【図４１】
2004297997.tif 000043
【図４２】
2004297997.tif 000044
【図４３】
2004297997.tif 000045
【図４４】
2004297997.tif 000046
【図４５】
2004297997.tif 000047
【図４６】
2004297997.tif 000048
【図４７】
2004297997.tif 000049
【図４８】
2004297997.tif 000050
【図４９】
2004297997.tif 000051
【図５０】
2004297997.tif 000052
【図５１】
2004297997.tif 000053
【図５２】
2004297997.tif 000054
【図５３】
2004297997.tif 000055
【図５４】
2004297997.tif 000056
【図５５】
2004297997.tif 000057
【図５６】
2004297997.tif 000058
【図５７】
2004297997.tif 000059
【図５８】
2004297997.tif 000060
【図５９】
2004297997.tif 000061
【図６０】
2004297997.tif 000062
【図６１】
2004297997.tif 000063
【図６２】
2004297997.tif 000064