(57)【要約】【課題】負荷の制限がないセーフティコントローラーを提供することである。【解決手段】安全出力回路２４は、チャンネル回路２４１を含む。チャンネル回路２４１は、スイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂと電圧検出回路２４４，２４５とを含む。電圧検出回路２４４，２４５は、それぞれ、ノードＮ２，Ｎ３の電圧を監視する。スイッチング素子Ｓ１ａ，Ｓ１ｂおよびＳ２ａ，Ｓ２ｂは、それぞれ、ＣＰＵからの信号Ｓ１，Ｓ２により同時にオン／オフされる。ＣＰＵは、信号Ｓ１，Ｓ２によりスイッチング素子Ｓ２ａ，Ｓ２ｂをオンしたままスイッチング素子Ｓ１ａ，Ｓ１ｂをオン／オフし、またはスイッチング素子Ｓ１ａ，Ｓ１ｂをオンしたままスイッチング素子Ｓ２ａ，Ｓ２ｂをオン／オフしてチャンネル回路２４１の導通機能および遮断機能を診断する。【選択図】        図３
2005044074.tif 000002
【特許請求の範囲】
【請求項１】
負荷を導通／遮断する安全出力回路と、
前記安全出力回路が前記負荷を導通する導通機能および前記安全出力回路が前記負荷を遮断する遮断機能を診断する診断手段とを備え、
前記診断手段は、前記安全出力回路にのみ診断信号を与えて前記安全出力回路の前記導通機能および前記遮断機能を診断する、セーフティコントローラー。
【請求項２】
前記負荷は、複数の負荷素子から成り、
前記安全出力回路は、前記複数の負荷素子に対応して設けられ、各々が対応する負荷素子を導通／遮断する複数のチャンネル回路を含み、
前記複数のチャンネル回路の各々は、
前記対応する負荷素子と電源との間に配置され、相互に並列に接続された第１および第２のスイッチング回路と、
前記第１および第２のスイッチング回路の出力を検出する検出回路とから成り、
前記診断手段は、前記複数のチャンネル回路の各々において、前記第１および第２のスイッチング回路を開閉したときの前記検出回路からの検出信号に基づいて前記安全出力回路の前記導通機能および前記遮断機能を診断する、請求項１に記載のセーフティコントローラー。
【請求項３】
前記診断手段は、診断するタイミングを所定の時間づつずらせながら前記複数のチャンネル回路の各々において、前記安全出力回路の前記導通機能および前記遮断機能を診断する、請求項２に記載のセーフティコントローラー。
【請求項４】
前記第１のスイッチング回路は、前記対応する負荷素子と前記電源との間に直列に接続された第１および第２のスイッチング素子から成り、
前記第２のスイッチング回路は、前記対応する負荷素子と前記電源との間に直列に接続された第３および第４のスイッチング素子から成り、
前記検出回路は、
前記第１のスイッチング素子と前記第２のスイッチング素子との間の第１の電圧を検出し、その検出した第１の電圧の電圧レベルに応じた論理レベルを有する第１の検出信号を出力する第１の電圧検出器と、
前記第３のスイッチング素子と前記第４のスイッチング素子との間の第２の電圧を検出し、その検出した第２の電圧の電圧レベルに応じた論理レベルを有する第２の検出信号を出力する第２の電圧検出器とから成り、
前記診断手段は、前記第１および第２のスイッチング素子を同時にオンさせ、かつ、前記第３および第４のスイッチング素子を同時にオフさせる第１の診断信号と、前記第１および第２のスイッチング素子を同時にオフさせ、かつ、前記第３および第４のスイッチング素子を同時にオンさせる第２の診断信号と、前記第１から第４のスイッチング素子を同時にオンさせる第３の診断信号とを前記安全出力回路へ出力し、前記第１および第２の検出信号の論理レベルに基づいて前記導通機能および前記遮断機能を診断する、請求項２または請求項３に記載のセーフティコントローラー。
【請求項５】
前記診断手段は、第１、第２および第３の条件が満たされたとき前記安全出力回路が前記導通機能および前記遮断機能を維持していると診断し、前記第１および第２の条件のうち少なくとも一方の条件が満たされないとき前記安全出力回路が前記導通機能または前記遮断機能を維持していないと診断し、前記第３の条件が満たされないとき前記安全出力回路が前記導通機能を維持していないと診断し、
前記第１の条件は、前記第１の診断信号が前記安全出力回路へ出力されたときの前記第１および第２の検出信号の論理レベルがそれぞれ第１の論理レベルおよび第２の論理レベルであることであり、
前記第２の条件は、前記第２の診断信号が前記安全出力回路へ出力されたときの前記第１および第２の検出信号の論理レベルがそれぞれ第２の論理レベルおよび第１の論理レベルであることであり、
前記第３の条件は、前記第３の診断信号が前記安全出力回路へ出力されたときの前記第１および第２の検出信号の論理レベルが第１の論理レベルであることである、請求項４に記載のセーフティコントローラー。
【請求項６】
前記安全出力回路は、前記電源が供給する電源電圧を検出し、その検出した電源電圧の電圧レベルに応じた論理レベルを有する第３の検出信号を出力する電源電圧検出回路をさらに含み、
前記診断手段は、前記第１および第３の診断信号のいずれか一方の診断信号を前記安全出力回路へ出力したときの前記第１の検出信号の論理レベルが前記第２の論理レベルであるとき、または前記第２の診断信号を前記安全出力回路へ出力したときの前記第１の検出信号の論理レベルが前記第１の論理レベルであるとき、前記第３の検出信号の論理レベルをさらに診断し、前記第３の検出信号の論理レベルが前記第１の論理レベルであるとき前記第１、第２および第３の条件のいずれかが満たされていないと診断する、請求項５に記載のセーフティコントローラー。
【請求項７】
前記第１から第４のスイッチング素子の各々は、半導体スイッチング素子である、請求項４から請求項６のいずれか１項に記載のセーフティコントローラー。
【請求項８】
前記第１から第４のスイッチング素子の各々は、リレーであり、
前記診断手段は、前記負荷が応答しない期間よりも長い期間を設定して前記第１、第２および第３の診断信号を前記安全出力回路へ出力する、請求項４から請求項６のいずれか１項に記載のセーフティコントローラー。
【請求項９】
前記第１のスイッチング回路は、第１のスイッチング素子から成り、
前記第２のスイッチング回路は、第２のスイッチング素子から成り、
前記検出回路は、
前記第１のスイッチング素子から出力される第１の出力電流を検出し、その検出した第１の出力電流の電流レベルに応じた論理レベルを有する第１の検出信号を出力する第１の電流検出器と、
前記第２のスイッチング素子から出力される第２の出力電流を検出し、その検出した第２の出力電流の電流レベルに応じた論理レベルを有する第２の検出信号を出力する第２の電流検出器とから成り、
前記診断手段は、前記第１のスイッチング素子をオンさせ、かつ、前記第２のスイッチング素子をオフさせる第１の診断信号と、前記第１のスイッチング素子をオフさせ、かつ、前記第２のスイッチング素子をオンさせる第２の診断信号と、前記第１および第２のスイッチング素子をオンさせる第３の診断信号とを前記安全出力回路へ出力し、前記第１および第２の検出信号の論理レベルに基づいて前記導通機能および前記遮断機能を診断する、請求項２または請求項３に記載のセーフティコントローラー。
【請求項１０】
前記診断手段は、第１、第２および第３の条件が満たされたとき前記安全出力回路が前記導通機能および前記遮断機能を維持していると診断し、前記第１および第２の条件のうち少なくとも一方の条件が満たされないとき前記安全出力回路が前記導通機能または前記遮断機能を維持していないと診断し、前記第３の条件が満たされないとき前記安全出力回路が前記導通機能を維持していないと診断し、
前記第１の条件は、前記第１の診断信号が前記安全出力回路へ出力されたときの前記第１および第２の検出信号の論理レベルがそれぞれ第１の論理レベルおよび第２の論理レベルであることであり、
前記第２の条件は、前記第２の診断信号が前記安全出力回路へ出力されたときの前記第１および第２の検出信号の論理レベルがそれぞれ第２の論理レベルおよび第１の論理レベルであることであり、
前記第３の条件は、前記第３の診断信号が前記安全出力回路へ出力されたときの前記第１および第２の論理レベルが第２の論理レベルであることである、請求項９に記載のセーフティコントローラー。
【請求項１１】
前記安全出力回路は、前記電源が供給する電源電流を検出し、その検出した電源電流の電流レベルに応じた論理レベルを有する第３の検出信号を出力する電源電流検出回路をさらに含み、
前記診断手段は、前記第１および第３の診断信号のいずれか一方の診断信号を前記安全出力回路へ出力したときの前記第１の検出信号の論理レベルが前記第２の論理レベルであるとき、または前記第２の診断信号を前記安全出力回路へ出力したときの前記第１の検出信号の論理レベルが前記第１の論理レベルであるとき、前記第３の検出信号の論理レベルをさらに診断し、前記第３の検出信号の論理レベルが前記第１の論理レベルであるとき前記第１、第２および第３の条件のいずれかが満たされていないと診断する、請求項１０に記載のセーフティコントローラー。
【請求項１２】
前記第１および第２のスイッチング素子の各々は、半導体スイッチング素子である、請求項９から請求項１１のいずれか１項に記載のセーフティコントローラー。
【請求項１３】
前記第１および第２のスイッチング素子の各々は、リレーであり、
前記診断手段は、前記負荷が応答しない期間よりも長い期間を設定して前記第１、第２および第３の診断信号を前記安全出力回路へ出力する、請求項９から請求項１１のいずれか１項に記載のセーフティコントローラー。
【請求項１４】
前記複数の負荷素子に対応して設けられ、各々が対応する負荷素子の出力状態を示す補助出力を受ける複数の補助出力監視回路をさらに備え、
前記診断手段は、前記複数の補助出力監視回路からの複数の補助出力に基づいて前記複数のチャンネル回路の各々の応答時間をさらに診断する、請求項２から請求項１３のいずれか１項に記載のセーフティコントローラー。
【請求項１５】
前記負荷は、複数の負荷素子から成り、
前記複数の負荷素子に対応して設けられ、各々が対応する負荷素子の出力状態を示す補助出力を受ける複数の補助出力監視回路をさらに備え、
前記安全出力回路は、前記複数の負荷素子に対応して設けられ、各々が対応する負荷素子を導通／遮断する複数のスイッチング素子を含み、
前記診断手段は、前記スイッチング素子をオン／オフする診断信号を前記複数のスイッチング素子の各々へ出力したときの前記複数の補助出力監視回路からの複数の補助出力に基づいて、前記複数のスイッチング素子の前記導通機能および前記遮断機能を診断し、または前記複数のスイッチング素子の応答時間を診断する、請求項１に記載のセーフティコントローラー。
【請求項１６】
前記複数のスイッチング素子の各々は、半導体スイッチング素子である、請求項１５に記載のセーフティコントローラー。
【請求項１７】
前記複数のスイッチング素子の各々は、リレーであり、
前記診断手段は、前記負荷が応答しない期間よりも長い期間を設定して前記診断信号を前記安全出力回路へ出力する、請求項１５に記載のセーフティコントローラー。
【請求項１８】
セーフティコントローラーに含まれ、負荷を導通／遮断する安全出力回路の診断をコンピュータに実行させるためのプログラムであって、
前記負荷は、複数の負荷素子から成り、
前記安全出力回路は、前記複数の負荷素子に対応して設けられ、各々が対応する負荷素子を導通／遮断する複数のチャンネル回路を含み、
前記複数のチャンネル回路の各々は、
前記対応する負荷素子と電源との間に並列に接続された第１および第２のスイッチング回路と、
前記第１のスイッチング回路の出力を検出し、その検出した出力のレベルに応じた論理レベルを有する第１の検出信号を出力する第１の検出器と、
前記第２のスイッチング回路の出力を検出し、その検出した出力のレベルに応じた論理レベルを有する第２の検出信号を出力する第２の検出器とから成り、
前記プログラムは、前記複数のチャンネル回路の各々において、前記第１または第２のスイッチング回路が前記対応する負荷素子を導通する導通機能と、前記第１または第２のスイッチング回路が前記対応する負荷素子を遮断する遮断機能とを診断する診断処理をコンピュータに実行させ、
前記診断処理は、
前記安全出力回路による安全出力制御が行なわれているか否かを判定する第１のステップと、
前記安全出力制御が行なわれているとき、前記第１および第２のスイッチング回路の前記導通機能および前記遮断機能を診断する第２のステップと、
前記安全出力制御が行なわれていないとき、前記第１および第２のスイッチング回路の前記遮断機能を診断する第３のステップとを含む、コンピュータに実行させるためのプログラム。
【請求項１９】
前記第２のステップは、
前記第１のスイッチング回路を閉じ、前記第２のスイッチング回路を開閉させる第１の診断信号を前記安全出力回路へ出力し、前記第１および第２の検出信号の論理レベルに基づいて前記第１のスイッチング回路の前記導通機能と前記第２のスイッチング回路の前記導通機能および前記遮断機能とを診断する第１のサブステップと、
前記第２のスイッチング回路を閉じ、前記第１のスイッチング回路を開閉させる第２の診断信号を前記安全出力回路へ出力し、前記第１および第２の検出信号の論理レベルに基づいて前記第１のスイッチング回路の前記導通機能および前記遮断機能と前記第２のスイッチング回路の前記導通機能とを診断する第２のサブステップとを含む、請求項１８に記載のコンピュータに実行させるためのプログラム。
【請求項２０】
前記第１の診断信号は、
前記第１のスイッチング回路を閉じ、かつ、前記第２のスイッチング回路を開く第３の診断信号と、
前記第１および第２のスイッチング回路を閉じる第４の診断信号とから成り、
前記第２の診断信号は、
前記第４の診断信号と、
前記第１のスイッチング回路を開き、かつ、前記第２のスイッチング回路を閉じる第５の診断信号とから成り、
前記第１のサブステップは、
前記第３の診断信号を前記安全出力回路へ出力し、前記第１および第２の検出信号の論理レベルに基づいて前記第１のスイッチング回路の前記導通機能と前記第２のスイッチング回路の遮断機能とを診断するステップＡと、
前記第４の診断信号を前記安全出力回路へ出力し、前記第１および第２の検出信号の論理レベルに基づいて前記第１および第２のスイッチング回路の導通機能を診断するステップＢとを含み、
前記第２のサブステップは、
前記第５の診断信号を前記安全出力回路へ出力し、前記第１および第２の検出信号の論理レベルに基づいて前記第１のスイッチング回路の前記遮断機能と前記第２のスイッチング回路の導通機能とを診断するステップＣと、
前記第４の診断信号を前記安全出力回路へ出力し、前記第１および第２の検出信号の論理レベルに基づいて前記第１および第２のスイッチング回路の導通機能を診断するステップＤとを含む、請求項１９に記載のコンピュータに実行させるためのプログラム。
【請求項２１】
前記ステップＡは、
前記第１の検出信号の論理レベルが第１の論理レベルであるか否かを判定するステップＡ１と、
前記第１の検出信号の論理レベルが前記第１の論理レベルであるとき、前記第２の検出信号の論理レベルが第２の論理レベルであるか否かを判定するステップＡ２と、
前記第２の検出信号の論理レベルが前記第２の論理レベルでないとき前記第２のスイッチング回路が前記遮断機能を維持していないと診断するステップＡ３とを含み、
前記第ステップＢは、
前記第１の検出信号の論理レベルが前記第１の論理レベルであるか否かを判定するステップＢ１と、
前記第１の検出信号の論理レベルが前記第１の論理レベルであるとき、前記第２の検出信号の論理レベルが第１の論理レベルであるか否かを判定するステップＢ２と、
前記第２の検出信号の論理レベルが前記第１の論理レベルでないとき前記第２のスイッチング回路が前記導通機能を維持していないと診断するステップＢ３とを含み、
前記ステップＣは、
前記第１の検出信号の論理レベルが前記第２の論理レベルであるか否かを判定するステップＣ１と、
前記第１の検出信号の論理レベルが前記第２の論理レベルであるとき、前記第２の検出信号の論理レベルが第１の論理レベルであるか否かを判定するステップＣ２と、
前記第２の検出信号の論理レベルが前記第１の論理レベルでないとき前記第２のスイッチング回路が前記導通機能を維持していないと診断するステップＣ３とを含み、
前記ステップＤは、
前記第１の検出信号の論理レベルが前記第１の論理レベルであるか否かを判定するステップＤ１と、
前記第１の検出信号の論理レベルが前記第１の論理レベルであるとき、前記第２の検出信号の論理レベルが第１の論理レベルであるか否かを判定するステップＤ２と、
前記第２の検出信号の論理レベルが前記第１の論理レベルでないとき前記第２のスイッチング回路が前記導通機能を維持していないと診断するステップＤ３とを含む、請求項２０に記載のコンピュータに実行させるためのプログラム。
【請求項２２】
前記ステップＡは、
前記電源からの電源電圧の供給の有無を検出し、その検出した電源電圧の供給の有無に応じた論理レベルを有する第３の検出信号を受けるステップＡ４と、
前記ステップＡ１において前記第１の検出信号の論理レベルが前記第１の論理レベルでないと判定されたとき、前記第３の検出信号の論理レベルが前記第２の論理レベルであるか否かを判定するステップＡ５と、
前記第３の検出信号が前記第２の論理レベルでないとき前記第１のスイッチング回路が前記導通機能を維持していないと診断するステップＡ６と、
前記第３の検出信号の論理レベルが前記第２の論理レベルであるとき、前記第２の検出信号の論理レベルが前記第２の論理レベルであるか否かを判定するステップＡ７とをさらに含み、
前記ステップＡ３は、前記ステップＡ２または前記ステップＡ７の後、実行され、
前記ステップＢは、
前記第３の検出信号を受けるステップＢ４と、
前記ステップＢ１において前記第１の検出信号の論理レベルが前記第１の論理レベルでないと判定されたとき、前記第３の検出信号の論理レベルが前記第２の論理レベルであるか否かを判定するステップＢ５と、
前記第３の検出信号が前記第２の論理レベルでないとき前記第１のスイッチング回路が前記導通機能を維持していないと診断するステップＢ６と、
前記第３の検出信号の論理レベルが前記第２の論理レベルであるとき、前記第２の検出信号の論理レベルが前記第１の論理レベルであるか否かを判定するステップＢ７とをさらに含み、
前記ステップＢ３は、前記ステップＢ２または前記ステップＢ７の後、実行され、
前記ステップＣは、
前記第３の検出信号を受けるステップＣ４と、
前記ステップＣ１において前記第１の検出信号の論理レベルが前記第２の論理レベルでないと判定されたとき、前記第３の検出信号の論理レベルが前記第２の論理レベルであるか否かを判定するステップＣ５と、
前記第３の検出信号が前記第２の論理レベルでないとき前記第１のスイッチング回路が前記遮断機能を維持していないと診断するステップＣ６と、
前記第３の検出信号の論理レベルが前記第２の論理レベルであるとき、前記第２の検出信号の論理レベルが前記第１の論理レベルであるか否かを判定するステップＣ７とをさらに含み、
前記ステップＣ３は、前記ステップＣ２または前記ステップＣ７の後、実行され、
前記ステップＤは、
前記第３の検出信号を受けるステップＤ４と、
前記ステップＤ１において前記第１の検出信号の論理レベルが前記第１の論理レベルでないと判定されたとき、前記第３の検出信号の論理レベルが前記第２の論理レベルであるか否かを判定するステップＤ５と、
前記第３の検出信号が前記第２の論理レベルでないとき前記第１のスイッチング回路が前記導通機能を維持していないと診断するステップＤ６と、
前記第３の検出信号が前記第２の論理レベルであるとき、前記第２の検出信号の論理レベルが前記第１の論理レベルであるか否かを判定するステップＤ７とをさらに含み、
前記ステップＤ３は、前記ステップＤ２または前記ステップＤ７の後、実行される、請求項２１に記載のコンピュータに実行させるためのプログラム。
【請求項２３】
前記第３のステップは、
前記第１および第２のスイッチング回路を開く第３のサブステップと、
前記第１の検出信号の論理レベルが前記第２の論理レベルであるか否かを判定する第４のサブステップと、
前記第２の検出信号の論理レベルが前記第２の論理レベルであるか否かを判定する第５のサブステップと、
前記第１および第２の検出信号の論理レベルが前記第２の論理レベルであるとき前記第１および第２のスイッチング回路が前記遮断機能を維持していると診断する第６のサブステップと、
前記第１の検出信号の論理レベルが前記第２の論理レベルでないとき前記第１のスイッチング回路が前記遮断機能を維持していないと診断する第７のサブステップと、
前記第２の検出信号の論理レベルが前記第２の論理レベルでないとき前記第２のスイッチング回路が前記遮断機能を維持していないと診断する第８のサブステップとを含む、請求項１８から請求項２２のいずれか１項に記載のコンピュータに実行させるためのプログラム。
【請求項２４】
前記第１のスイッチング回路は、前記対応する負荷素子と前記電源との間に直列に接続された第１および第２のスイッチング素子から成り、
前記第２のスイッチング回路は、前記対応する負荷素子と前記電源との間に直列に接続された第３および第４のスイッチング素子から成り、
前記第１の検出器は、前記第１のスイッチング素子と前記第２のスイッチング素子との間の電圧を検出し、その検出した電圧のレベルに応じた論理レベルを有する前記第１の検出信号を出力する第１の電圧検出器であり、
前記第２の検出器は、前記第３のスイッチング素子と前記第４のスイッチング素子との間の電圧を検出し、その検出した電圧のレベルに応じた論理レベルを有する前記第２の検出信号を出力する第２の電圧検出器である、請求項１８から請求項２３のいずれか１項に記載のコンピュータに実行させるためのプログラム。
【請求項２５】
前記第１から第４のスイッチング素子の各々は、半導体スイッチング素子またはリレーである、請求項２４に記載のコンピュータに実行させるためのプログラム。
【請求項２６】
前記第１のスイッチング回路は、前記対応する負荷素子と前記電源との間に接続された第１のスイッチング素子から成り、
前記第２のスイッチング回路は、前記対応する負荷素子と前記電源との間に接続された第２のスイッチング素子から成り、
前記第１の検出器は、前記第１のスイッチング素子から出力される出力電流を検出し、その検出した出力電流のレベルに応じた論理レベルを有する前記第１の検出信号を出力する第１の電流検出器であり、
前記第２の検出器は、前記第２のスイッチング素子から出力される出力電流を検出し、その検出した出力電流のレベルに応じた論理レベルを有する前記第２の検出信号を出力する第２の電流検出器である、請求項１８から請求項２３のいずれか１項に記載のコンピュータに実行させるためのプログラム。
【請求項２７】
前記第１および第２のスイッチング素子の各々は、半導体スイッチング素子またはリレーである、請求項２６に記載のコンピュータに実行させるためのプログラム。
【請求項２８】
セーフティコントローラーに含まれ、負荷を導通／遮断する安全出力回路の診断をコンピュータに実行させるためのプログラムであって、
前記負荷は、複数の負荷素子から成り、
前記安全出力回路は、前記複数の負荷素子に対応して設けられ、各々が対応する負荷素子を導通／遮断する複数のスイッチング素子を含み、
前記プログラムは、前記複数のスイッチング素子の各々において、前記スイッチング素子が前記対応する負荷素子を導通する導通機能と、前記スイッチング素子が前記対応する負荷素子を遮断する遮断機能とを診断する診断処理をコンピュータに実行させ、
前記診断処理は、
前記安全出力回路による安全出力制御が行なわれているか否かを判定する第１のステップと、
前記安全出力制御が行なわれているとき、前記複数のスイッチング素子の前記導通機能を診断する第２のステップと、
前記安全出力制御が行なわれていないとき、前記複数のスイッチング素子の前記遮断機能を診断する第３のステップとを含む、コンピュータに実行させるためのプログラム。
【請求項２９】
前記第２のステップは、
前記複数のスイッチング素子をオンさせる第１のサブステップと、
前記複数の負荷素子に対応し、各々が前記対応する負荷素子の出力状態に応じた論理レベルを有する複数の補助出力を前記第１のサブステップの後に受ける第２のサブステップと、
前記複数の補助出力の各々が第１の論理レベルであるか否かを判定する第３のサブステップと、
前記複数の補助出力の各々が第１の論理レベルであるとき、前記複数のスイッチング素子が前記導通機能を維持していると診断する第４のサブステップと、
前記複数の補助出力の各々が第１の論理レベルでないとき、前記複数のスイッチング素子が前記導通機能を維持していないと診断する第５のサブステップとを含み、
前記第３のステップは、
前記複数のスイッチング素子をオフさせる第６のサブステップと、
前記複数の補助出力を受ける第７のサブステップと、
前記複数の補助出力の各々が第２の論理レベルであるか否かを判定する第８のサブステップと、
前記複数の補助出力の各々が第２の論理レベルであるとき、前記複数のスイッチング素子が前記遮断機能を維持していると診断する第９のサブステップと、
前記複数の補助出力の各々が第２の論理レベルでないとき、前記複数のスイッチング素子が前記遮断機能を維持していないと診断する第１０のサブステップとを含む、請求項２８に記載のコンピュータに実行させるためのプログラム。
【請求項３０】
前記複数のスイッチング素子の各々は、半導体スイッチング素子またはリレーである、請求項２８または請求項２９に記載のコンピュータに実行させるためのプログラム。
【請求項３１】
請求項１８から請求項３０のいずれか１項に記載のプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、負荷を導通／遮断するセーフティコントローラー、セーフティコントローラーに含まれる安全出力回路の診断をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読取り可能な記録媒体に関するものである。
【０００２】
【従来の技術】
工場またはプラントの設備において、人の安全を確保することは重要である。たとえば、板金プレス装置においては、両手操作装置が設置され、人が誤って手などを挟まれないように両手で操作しなければ板金プレス装置が起動しないようにしている。
【０００３】
また、化学プラントにおいては、装置が破損して有害物質が大気中に拡散されないように、異常時にシャットダウン（非常停止）装置が稼動し、プラントを安全に停止できるようにしている。
【０００４】
これらの両手操作装置およびシャットダウン装置は、故障発生時に、直接的または間接的に人または環境に被害をもたらし得る装置である。両手操作装置およびシャットダウン装置を「安全制御部」と呼ぶことにすると、故障発生時に安全制御部が人または環境に被害をもたらさないようにするためには、リスクアセスメントを実施し、障害が発生した場合でも必要最小限の安全性能を維持できるように安全制御部を設計する必要がある。
【０００５】
特に、高度な安全性が要求される場合には、安全制御部の設計、施工の妥当性を第三者監査機関により認証してもらう必要がある。しかし、第三者監査機関による認証作業は、相当の時間および労力を要し、設備メーカーの負担になっていた。
【０００６】
このような点に着目し、安全制御部を汎用モジュール化し、第三者監査機関により安全性の認証まで受けたセーフティコントローラーが製品化されている。
【０００７】
図３１は、リレー式のセーフティコントローラーを用いた制御システムを示す。図３１を参照して、制御システム２００は、センサー／スイッチ類２１０と、セーフティコントローラー２２０と、制御対象２３０とから成る。
【０００８】
センサー／スイッチ類２１０は、非常停止スイッチ、インターロックスイッチ、両手操作スイッチ、ライトカーテンおよびエリアセンサー等から成る。そして、センサー／スイッチ類２１０は、センサー信号またはスイッチ信号をセーフティコントローラー２２０へ出力する。
【０００９】
セーフティコントローラー２２０は、安全入力回路２２１，２２４と、リレー制御回路２２２と、安全出力回路２２３とを含む。安全入力回路２２１は、センサー／スイッチ類２１０からセンサー信号またはスイッチ信号を受け、その受けたセンサー信号またはスイッチ信号をリレー制御回路２２２へ出力する。
【００１０】
リレー制御回路２２２は、安全入力回路２２１から受けたセンサー信号またはスイッチ信号に基づいて安全出力回路２２３を制御する。たとえば、リレー制御回路２２２は、装置を非常停止させるためのスイッチ信号を安全入力回路２２１から受けたとき、出力をオフするように安全出力回路２２３を制御する。また、リレー制御回路２２２は、非常停止を解除するためのスイッチ信号を安全入力回路２２１から受けると、出力をオンするように安全出力回路２２３を制御する。
【００１１】
安全出力回路２２３は、リレー制御回路２２２からの制御に従って制御対象２３０を導通／遮断する。安全入力回路２２４は、制御対象２３０からのフィードバック応答を検知する。
【００１２】
制御対象２３０は、電磁開閉器およびバルブ等からなる。そして、制御対象２３０は、安全出力回路２２３からオン／オフの出力に応じてモータ等の装置へ電力を供給／停止する。
【００１３】
セーフティコントローラー２２０は、安全リレーを用いたハード構成の回路から成る。そして、セーフティコントローラー２２０は、構造が簡単なため、故障モードを特定し易いという利点がある。
【００１４】
しかし、リレー回路には、接点の磨耗のため寿命が短い、ハード構成のために時間制御が困難である、仕様変更に対してハードの変更が必要である、リレー出力回路がオンしている間に遮断機能を維持していることを確認できない、安全リレーが通常のリレーに比較して高価である、といういくつかの問題がある。
【００１５】
このようなリレー式のセーフティコントローラーの問題点は、電子式のセーフティコントローラーによって解決される。図３２は、電子式のセーフティコントローラーを用いた制御システムを示す。図３２を参照して、制御システム３００は、センサー／スイッチ類２１０と、セーフティコントローラー３１０と、制御対象２３０とから成る。
【００１６】
セーフティコントローラー３１０は、安全入力回路３１１，３１５と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２，３１３と、安全出力回路３１４とを含む。
【００１７】
安全入力回路３１１は、センサー／スイッチ類２１０からセンサー信号またはスイッチ信号を受け、その受けたセンサー信号またはスイッチ信号をＣＰＵ３１２へ出力する。また、安全入力回路３１１は、自己を診断する機能を有する。そして、安全入力回路３１１の診断は、ＣＰＵ３１２によって実行される。
【００１８】
ＣＰＵ３１２は、安全入力回路３１１を診断する。また、ＣＰＵ３１２は、安全入力回路３１１から受けたセンサー信号またはスイッチ信号に基づいて安全出力回路３１４を制御する。たとえば、ＣＰＵ３１２は、装置を非常停止させるためのスイッチ信号を安全入力回路３１１から受けると、出力をオフするように安全出力回路３１４を制御し、非常停止を解除するためのスイッチ信号を安全入力回路３１１から受けると、出力をオンするように安全出力回路３１４を制御する。さらに、ＣＰＵ３１２は、安全出力回路３１４を診断する。
【００１９】
安全出力回路３１４は、ＣＰＵ３１２からの制御に従って制御対象２３０を導通／遮断する。安全入力回路３１５は、制御対象２３０からのフィードバック応答を受け、その受けたフィードバック応答をＣＰＵ３１３へ出力する。
【００２０】
ＣＰＵ３１３は、安全入力回路３１５からのフィードバック応答に基づいて制御対象２３０の制御が正確に行なわれた否かを判定する。また、ＣＰＵ３１３は、安全入力回路３１５を診断する。
【００２１】
セーフティコントローラー３１０は、電子回路により所定の動作シーケンスを実行するセーフティコントローラーである。そして、このような電子式安全回路の安全性を立証するために安全規格の整備が進んでいる。たとえば、コンピュータ制御の電子回路でも、国際規格ＩＥＣ６１５０８（電気式／電子式／プログラマブル電子式安全関連システムの機能安全性）に従い一定の手順を満たせば、機械設備の安全回路として使用できるようになった。
【００２２】
従来、このような手法は、原子力プラントおよび航空機制御のような高度な安全が要求される分野に応用されていたが、現在では、より一般的な機械設備に使用するセーフティコントローラーにも応用され始めている。
【００２３】
電子式のセーフティコントローラーの安全出力回路は、出力遮断機能を維持しているか否かを出力のオン中に診断する機能を要求される。図３３を参照して、安全出力回路３１４の出力遮断機能を診断する方法について説明する。ＣＰＵ３１２は、ＣＰＵ出力ＯＵＴ１とＣＰＵ入力ＩＮ１とを含む。ＣＰＵ出力ＯＵＴ１は、スイッチング信号を安全出力回路３１４へ出力する。ＣＰＵ入力ＩＮ１は、安全出力回路３１４からの電圧を受け、安全出力回路３１４の出力がオンされているかオフされているかを判定する。
【００２４】
安全出力回路３１４は、スイッチング回路３１４１と、入力回路３１４２とを含む。スイッチング回路３１４１は、電源ノードＶＣＣから電源電圧を受ける。そして、スイッチング回路３１４１は、ＣＰＵ出力ＯＵＴ１からのスイッチング信号に応じてオン／オフされ、電源ノードＶＣＣから供給された電源電圧を負荷２３５へ供給／停止する。入力回路３１４２は、スイッチング回路３１４１から出力された電圧を受け、その受けた電圧をＣＰＵへ入力可能な電圧に変換してＣＰＵ入力ＩＮ１に与える。
【００２５】
制御対象である負荷２３５は、安全出力回路３１４のスイッチング回路３１４１と接地ノードＧＮＤとの間に接続される。そして、負荷２３５は、スイッチング回路３１４１から電源電圧が供給されると導通し、スイッチング回路３１４１により電源電圧の供給が停止されると遮断する。
【００２６】
安全出力回路３１４の出力がオンしている間に、安全出力回路３１４の遮断機能を診断するために、ＣＰＵ出力ＯＵＴ１は、負荷２３５が反応しない程度の短いオフ期間を有するスイッチング信号をスイッチング回路３１４１へ出力する。すなわち、図３４を参照して、スイッチング回路３１４１は、タイミングｔ０からタイミングｔ１の間、タイミングｔ２からタイミングｔ３の間、およびタイミングｔ４以降、オンされ、電源ノードＶＣＣからの電源電圧（２４Ｖ）を負荷２３５および入力回路３１４２へ供給する。そして、負荷２３５は、電源電圧（２４Ｖ）によって導通され、入力回路３１４２は、電源電圧（２４Ｖ）をＣＰＵに入力可能な電圧に変換してＣＰＵ入力ＩＮ１へ出力する。ＣＰＵ入力ＩＮ１は、入力回路３１４２からの電圧に基づいて、スイッチング回路３１４１、すなわち、安全出力回路３１４の出力がオンされていると判定する。
【００２７】
また、スイッチング回路３１４１は、タイミングｔ１からタイミングｔ２の間およびタイミングｔ３からタイミングｔ４の間、オフされ、電源電圧（２４Ｖ）の負荷２３５および入力回路３１４２への供給を停止する。そして、入力回路３１４２は、スイッチング回路３１４１の出力、すなわち、０Ｖの電圧をＣＰＵに入力可能な電圧に変換してＣＰＵ入力ＩＮ１へ出力する。ＣＰＵ入力ＩＮ１が、入力回路３１４２からの電圧に基づいて、スイッチング回路３１４１、すなわち、安全出力回路３１４の出力がオフされていると判定する。この場合、負荷２３５は、０Ｖの電圧をスイッチング回路３１４１から受けるが、その期間は負荷２３５が反応しない程度に短いので、負荷２３５は遮断されない。つまり、負荷２３５が導通されたまま、安全出力回路３１４の遮断機能が診断される。
【００２８】
このように、従来の診断方法においては、負荷２３５に供給する電圧を負荷２３５が反応しない程度の短い期間、遮断して安全出力回路３１４の遮断機能を診断する。つまり、従来の診断方法においては、負荷２３５が反応しない程度の短い期間、電源電圧の供給が停止される診断パルスを負荷２３５に与えて安全出力回路３１４の遮断機能を診断する。
【００２９】
なお、以上、本発明についての従来の技術を、出願人の知得した一般的技術情報に基づいて説明したが、出願人の記憶する範囲において、出願前までに先行技術文献情報として開示すべき情報を出願人は有していない。
【００３０】
【発明が解決しようとする課題】
しかし、従来のセーフティコントローラーにおいては、次のような問題がある。すなわち、従来のセーフティコントローラーにおいては、負荷が反応しない程度の短い期間、出力をオフする診断パルスを負荷に与えて安全出力回路の遮断機能を診断するため、負荷が交流の負荷である場合、交流の負荷を連続的にスイッチングする結果、大きなノイズが発生し、実用化するのが困難である。そのため、使用する負荷が直流の負荷に制限されるという問題がある。
【００３１】
また、負荷が診断パルスによって誤動作しないことが求められるため、使用する負荷が制限されるという問題がある。
【００３２】
たとえば、診断パルスを無効にするような容量性の負荷は使用が制限される。また、負荷がリレーなどの場合、誤動作しないまでも、診断パルスによって接点が振動し、唸り音が発生することがある。そのため、接点寿命への影響が懸念される。さらに、機械装置では、最終出力段に交流制御タイプの電磁開閉器が使用されることが多いが、これを直接制御することができない。
【００３３】
そこで、この発明は、かかる問題点を解決するためになされたものであり、その目的は、負荷の制限がないセーフティコントローラーを提供することである。
【００３４】
また、この発明の別の目的は、負荷の制限がないセーフティコントローラーに含まれる安全出力回路の診断をコンピュータに実行させるためのプログラムを提供することである。
【００３５】
さらに、この発明の別の目的は、負荷の制限がないセーフティコントローラーに含まれる安全出力回路の診断をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体を提供することである。
【００３６】
【課題を解決するための手段および発明の効果】
この発明によれば、セーフティコントローラーは、安全出力回路と、診断手段とを備える。安全出力回路は、負荷を導通／遮断する。診断手段は、安全出力回路が負荷を導通する導通機能および安全出力回路が負荷を遮断する遮断機能を診断する。そして、診断手段は、安全出力回路にのみ診断信号を与えて安全出力回路の導通機能および遮断機能を診断する。
【００３７】
好ましくは、負荷は、複数の負荷素子から成る。安全出力回路は、複数のチャンネル回路を含む。複数のチャンネル回路は、複数の負荷素子に対応して設けられ、各々が対応する負荷素子を導通／遮断する。そして、複数のチャンネル回路の各々は、第１および第２のスイッチング回路と、検出回路とからなる。第１および第２のスイッチング回路は、対応する負荷素子と電源との間に配置され、相互に並列に接続される。検出回路は、第１および第２のスイッチング回路の出力を検出する。そして、診断手段は、複数のチャンネル回路の各々において、第１および第２のスイッチング回路を開閉したときの検出回路からの検出信号に基づいて安全出力回路の導通機能および遮断機能を診断する。
【００３８】
好ましくは、診断手段は、診断するタイミングを所定の時間づつずらせながら複数のチャンネル回路の各々において、安全出力回路の導通機能および遮断機能を診断する。
【００３９】
好ましくは、第１のスイッチング回路は、対応する負荷素子と電源との間に直列に接続された第１および第２のスイッチング素子から成る。第２のスイッチング回路は、対応する負荷素子と電源との間に直列に接続された第３および第４のスイッチング素子から成る。検出回路は、第１および第２の電圧検出器からなる。第１の電圧検出器は、第１のスイッチング素子と第２のスイッチング素子との間の第１の電圧を検出し、その検出した第１の電圧の電圧レベルに応じた論理レベルを有する第１の検出信号を出力する。第２の電圧検出器は、第３のスイッチング素子と第４のスイッチング素子との間の第２の電圧を検出し、その検出した第２の電圧の電圧レベルに応じた論理レベルを有する第２の検出信号を出力する。そして、診断手段は、第１および第２のスイッチング素子を同時にオンさせ、かつ、第３および第４のスイッチング素子を同時にオフさせる第１の診断信号と、第１および第２のスイッチング素子を同時にオフさせ、かつ、第３および第４のスイッチング素子を同時にオンさせる第２の診断信号と、第１から第４のスイッチング素子を同時にオンさせる第３の診断信号とを安全出力回路へ出力し、第１および第２の検出信号の論理レベルに基づいて導通機能および遮断機能を診断する。
【００４０】
好ましくは、診断手段は、第１、第２および第３の条件が満たされたとき安全出力回路が導通機能および遮断機能を維持していると診断し、第１および第２の条件のうち少なくとも一方の条件が満たされないとき安全出力回路が導通機能または遮断機能を維持していないと診断し、第３の条件が満たされないとき安全出力回路が導通機能を維持していないと診断する。そして、第１の条件は、第１の診断信号が安全出力回路へ出力されたときの第１および第２の検出信号の論理レベルがそれぞれ第１の論理レベルおよび第２の論理レベルであることである。また、第２の条件は、第２の診断信号が安全出力回路へ出力されたときの第１および第２の検出信号の論理レベルがそれぞれ第２の論理レベルおよび第１の論理レベルであることである。さらに、第３の条件は、第３の診断信号が安全出力回路へ出力されたときの第１および第２の検出信号の論理レベルが第１の論理レベルであることである。
【００４１】
好ましくは、安全出力回路は、電源電圧検出回路をさらに含む。電源電圧検出回路は、電源が供給する電源電圧を検出し、その検出した電源電圧の電圧レベルに応じた論理レベルを有する第３の検出信号を出力する。そして、診断手段は、第１および第３の診断信号のいずれか一方の診断信号を安全出力回路へ出力したときの第１の検出信号の論理レベルが第２の論理レベルであるとき、または第２の診断信号を安全出力回路へ出力したときの第１の検出信号の論理レベルが第１の論理レベルであるとき、第３の検出信号の論理レベルをさらに診断し、第３の検出信号の論理レベルが第１の論理レベルであるとき第１、第２および第３の条件のいずれかが満たされていないと診断する。
【００４２】
好ましくは、第１から第４のスイッチング素子の各々は、半導体スイッチング素子である。
【００４３】
好ましくは、第１から第４のスイッチング素子の各々は、リレーである。そして、診断手段は、負荷が応答しない期間よりも長い期間を設定して第１、第２および第３の診断信号を安全出力回路へ出力する。
【００４４】
好ましくは、第１のスイッチング回路は、第１のスイッチング素子から成る。第２のスイッチング回路は、第２のスイッチング素子から成る。検出回路は、第１および第２の電流検出器からなる。第１の電流検出器は、第１のスイッチング素子から出力される第１の出力電流を検出し、その検出した第１の出力電流の電流レベルに応じた論理レベルを有する第１の検出信号を出力する。第２の電流検出器は、第２のスイッチング素子から出力される第２の出力電流を検出し、その検出した第２の出力電流の電流レベルに応じた論理レベルを有する第２の検出信号を出力する。そして、診断手段は、第１のスイッチング素子をオンさせ、かつ、第２のスイッチング素子をオフさせる第１の診断信号と、第１のスイッチング素子をオフさせ、かつ、第２のスイッチング素子をオンさせる第２の診断信号と、第１および第２のスイッチング素子をオンさせる第３の診断信号とを安全出力回路へ出力し、第１および第２の検出信号の論理レベルに基づいて導通機能および遮断機能を診断する。
【００４５】
好ましくは、診断手段は、第１、第２および第３の条件が満たされたとき安全出力回路が導通機能および遮断機能を維持していると診断し、第１および第２の条件のうち少なくとも一方の条件が満たされないとき安全出力回路が導通機能または遮断機能を維持していないと診断し、第３の条件が満たされないとき安全出力回路が導通機能を維持していないと診断する。そして、第１の条件は、第１の診断信号が安全出力回路へ出力されたときの第１および第２の検出信号の論理レベルがそれぞれ第１の論理レベルおよび第２の論理レベルであることである。また、第２の条件は、第２の診断信号が安全出力回路へ出力されたときの第１および第２の検出信号の論理レベルがそれぞれ第２の論理レベルおよび第１の論理レベルであることである。さらに、第３の条件は、第３の診断信号が安全出力回路へ出力されたときの第１および第２の論理レベルが第２の論理レベルであることである。
【００４６】
好ましくは、安全出力回路は、電源電流検出回路をさらに含む。電源電流検出回路は、電源が供給する電源電流を検出し、その検出した電源電流の電流レベルに応じた論理レベルを有する第３の検出信号を出力する。そして、診断手段は、第１および第３の診断信号のいずれか一方の診断信号を安全出力回路へ出力したときの第１の検出信号の論理レベルが第２の論理レベルであるとき、または第２の診断信号を安全出力回路へ出力したときの第１の検出信号の論理レベルが第１の論理レベルであるとき、第３の検出信号の論理レベルをさらに診断し、第３の検出信号の論理レベルが第１の論理レベルであるとき第１、第２および第３の条件のいずれかが満たされていないと診断する。
【００４７】
好ましくは、第１および第２のスイッチング素子の各々は、半導体スイッチング素子である。
【００４８】
好ましくは、第１および第２のスイッチング素子の各々は、リレーである。そして、診断手段は、負荷が応答しない期間よりも長い期間を設定して第１、第２および第３の診断信号を安全出力回路へ出力する。
【００４９】
好ましくは、セーフティコントローラーは、複数の補助出力監視回路をさらに備える。複数の補助出力監視回路は、複数の負荷素子に対応して設けられ、各々が対応する負荷素子の出力状態を示す補助出力を受ける。そして、診断手段は、複数の補助出力監視回路からの複数の補助出力に基づいて複数のチャンネル回路の各々の応答時間をさらに診断する。
【００５０】
好ましくは、負荷は、複数の負荷素子から成る。セーフティコントローラーは、複数の補助出力監視回路をさらに備える。複数の補助出力監視回路は、複数の負荷素子に対応して設けられ、各々が対応する負荷素子の出力状態を示す補助出力を受ける。そして、安全出力回路は、複数のスイッチング素子を含む。複数のスイッチング素子は、複数の負荷素子に対応して設けられ、各々が対応する負荷素子を導通／遮断する。診断手段は、スイッチング素子をオン／オフする診断信号を複数のスイッチング素子の各々へ出力したときの複数の補助出力監視回路からの複数の補助出力に基づいて、複数のスイッチング素子の導通機能および遮断機能を診断し、または複数のスイッチング素子の応答時間を診断する。
【００５１】
好ましくは、複数のスイッチング素子の各々は、半導体スイッチング素子である。
【００５２】
好ましくは、複数のスイッチング素子の各々は、リレーである。そして、診断手段は、負荷が応答しない期間よりも長い期間を設定して診断信号を安全出力回路へ出力する。
【００５３】
また、この発明によれば、プログラムは、セーフティコントローラーに含まれ、負荷を導通／遮断する安全出力回路の診断をコンピュータに実行させるためのプログラムである。負荷は、複数の負荷素子から成る。安全出力回路は、複数の負荷素子に対応して設けられ、各々が対応する負荷素子を導通／遮断する複数のチャンネル回路を含む。そして、複数のチャンネル回路の各々は、対応する負荷素子と電源との間に並列に接続された第１および第２のスイッチング回路と、第１のスイッチング回路の出力を検出し、その検出した出力のレベルに応じた論理レベルを有する第１の検出信号を出力する第１の検出器と、第２のスイッチング回路の出力を検出し、その検出した出力のレベルに応じた論理レベルを有する第２の検出信号を出力する第２の検出器とから成る。
【００５４】
プログラムは、複数のチャンネル回路の各々において、第１または第２のスイッチング回路が対応する負荷素子を導通する導通機能と、第１または第２のスイッチング回路が対応する負荷素子を遮断する遮断機能とを診断する診断処理をコンピュータに実行させる。そして、診断処理は、安全出力回路による安全出力制御が行なわれているか否かを判定する第１のステップと、安全出力制御が行なわれているとき、第１および第２のスイッチング回路の導通機能および遮断機能を診断する第２のステップと、安全出力制御が行なわれていないとき、第１および第２のスイッチング回路の遮断機能を診断する第３のステップとを含む。
【００５５】
好ましくは、第２のステップは、第１のスイッチング回路を閉じ、第２のスイッチング回路を開閉させる第１の診断信号を安全出力回路へ出力し、第１および第２の検出信号の論理レベルに基づいて第１のスイッチング回路の導通機能と第２のスイッチング回路の導通機能および遮断機能とを診断する第１のサブステップと、第２のスイッチング回路を閉じ、第１のスイッチング回路を開閉させる第２の診断信号を安全出力回路へ出力し、第１および第２の検出信号の論理レベルに基づいて第１のスイッチング回路の導通機能および遮断機能と第２のスイッチング回路の導通機能とを診断する第２のサブステップとを含む。
【００５６】
好ましくは、第１の診断信号は、第１のスイッチング回路を閉じ、かつ、第２のスイッチング回路を開く第３の診断信号と、第１および第２のスイッチング回路を閉じる第４の診断信号とから成る。また、第２の診断信号は、第４の診断信号と、第１のスイッチング回路を開き、かつ、第２のスイッチング回路を閉じる第５の診断信号とから成る。そして、プログラムの第１のサブステップは、第３の診断信号を安全出力回路へ出力し、第１および第２の検出信号の論理レベルに基づいて第１のスイッチング回路の導通機能と第２のスイッチング回路の遮断機能とを診断するステップＡと、第４の診断信号を安全出力回路へ出力し、第１および第２の検出信号の論理レベルに基づいて第１および第２のスイッチング回路の導通機能を診断するステップＢとを含む。また、第２のサブステップは、第５の診断信号を安全出力回路へ出力し、第１および第２の検出信号の論理レベルに基づいて第１のスイッチング回路の遮断機能と第２のスイッチング回路の導通機能とを診断するステップＣと、第４の診断信号を安全出力回路へ出力し、第１および第２の検出信号の論理レベルに基づいて第１および第２のスイッチング回路の導通機能を診断するステップＤとを含む。
【００５７】
好ましくは、ステップＡは、第１の検出信号の論理レベルが第１の論理レベルであるか否かを判定するステップＡ１と、第１の検出信号の論理レベルが第１の論理レベルであるとき、第２の検出信号の論理レベルが第２の論理レベルであるか否かを判定するステップＡ２と、第２の検出信号の論理レベルが第２の論理レベルでないとき第２のスイッチング回路が遮断機能を維持していないと診断するステップＡ３とを含む。また、第ステップＢは、第１の検出信号の論理レベルが第１の論理レベルであるか否かを判定するステップＢ１と、第１の検出信号の論理レベルが第１の論理レベルであるとき、第２の検出信号の論理レベルが第１の論理レベルであるか否かを判定するステップＢ２と、第２の検出信号の論理レベルが第１の論理レベルでないとき第２のスイッチング回路が導通機能を維持していないと診断するステップＢ３とを含む。さらに、ステップＣは、第１の検出信号の論理レベルが第２の論理レベルであるか否かを判定するステップＣ１と、第１の検出信号の論理レベルが第２の論理レベルであるとき、第２の検出信号の論理レベルが第１の論理レベルであるか否かを判定するステップＣ２と、第２の検出信号の論理レベルが第１の論理レベルでないとき第２のスイッチング回路が導通機能を維持していないと診断するステップＣ３とを含む。さらに、ステップＤは、第１の検出信号の論理レベルが第１の論理レベルであるか否かを判定するステップＤ１と、第１の検出信号の論理レベルが第１の論理レベルであるとき、第２の検出信号の論理レベルが第１の論理レベルであるか否かを判定するステップＤ２と、第２の検出信号の論理レベルが第１の論理レベルでないとき第２のスイッチング回路が導通機能を維持していないと診断するステップＤ３とを含む。
【００５８】
好ましくは、ステップＡは、電源からの電源電圧の供給の有無を検出し、その検出した電源電圧の供給の有無に応じた論理レベルを有する第３の検出信号を受けるステップＡ４と、ステップＡ１において第１の検出信号の論理レベルが第１の論理レベルでないと判定されたとき、第３の検出信号の論理レベルが第２の論理レベルであるか否かを判定するステップＡ５と、第３の検出信号が第２の論理レベルでないとき第１のスイッチング回路が導通機能を維持していないと診断するステップＡ６と、第３の検出信号の論理レベルが第２の論理レベルであるとき、第２の検出信号の論理レベルが第２の論理レベルであるか否かを判定するステップＡ７とをさらに含む。そして、ステップＡ３は、ステップＡ２またはステップＡ７の後、実行される。
【００５９】
また、ステップＢは、第３の検出信号を受けるステップＢ４と、ステップＢ１において第１の検出信号の論理レベルが第１の論理レベルでないと判定されたとき、第３の検出信号の論理レベルが第２の論理レベルであるか否かを判定するステップＢ５と、第３の検出信号が第２の論理レベルでないとき第１のスイッチング回路が導通機能を維持していないと診断するステップＢ６と、第３の検出信号の論理レベルが第２の論理レベルであるとき、第２の検出信号の論理レベルが第１の論理レベルであるか否かを判定するステップＢ７とをさらに含む。そして、ステップＢ３は、ステップＢ２またはステップＢ７の後、実行される。
【００６０】
さらに、ステップＣは、第３の検出信号を受けるステップＣ４と、ステップＣ１において第１の検出信号の論理レベルが第２の論理レベルでないと判定されたとき、第３の検出信号の論理レベルが第２の論理レベルであるか否かを判定するステップＣ５と、第３の検出信号が第２の論理レベルでないとき第１のスイッチング回路が遮断機能を維持していないと診断するステップＣ６と、第３の検出信号の論理レベルが第２の論理レベルであるとき、第２の検出信号の論理レベルが第１の論理レベルであるか否かを判定するステップＣ７とをさらに含む。そして、ステップＣ３は、ステップＣ２またはステップＣ７の後、実行される。
【００６１】
さらに、ステップＤは、第３の検出信号を受けるステップＤ４と、ステップＤ１において第１の検出信号の論理レベルが第１の論理レベルでないと判定されたとき、第３の検出信号の論理レベルが第２の論理レベルであるか否かを判定するステップＤ５と、第３の検出信号が第２の論理レベルでないとき第１のスイッチング回路が導通機能を維持していないと診断するステップＤ６と、第３の検出信号が第２の論理レベルであるとき、第２の検出信号の論理レベルが第１の論理レベルであるか否かを判定するステップＤ７とをさらに含む。そして、ステップＤ３は、ステップＤ２またはステップＤ７の後、実行される。
【００６２】
好ましくは、第３のステップは、第１および第２のスイッチング回路を開く第３のサブステップと、第１の検出信号の論理レベルが第２の論理レベルであるか否かを判定する第４のサブステップと、第２の検出信号の論理レベルが第２の論理レベルであるか否かを判定する第５のサブステップと、第１および第２の検出信号の論理レベルが第２の論理レベルであるとき第１および第２のスイッチング回路が遮断機能を維持していると診断する第６のサブステップと、第１の検出信号の論理レベルが第２の論理レベルでないとき第１のスイッチング回路が遮断機能を維持していないと診断する第７のサブステップと、第２の検出信号の論理レベルが第２の論理レベルでないとき第２のスイッチング回路が遮断機能を維持していないと診断する第８のサブステップとを含む。
【００６３】
好ましくは、第１のスイッチング回路は、対応する負荷素子と電源との間に直列に接続された第１および第２のスイッチング素子から成る。第２のスイッチング回路は、対応する負荷素子と電源との間に直列に接続された第３および第４のスイッチング素子から成る。第１の検出器は、第１のスイッチング素子と第２のスイッチング素子との間の電圧を検出し、その検出した電圧のレベルに応じた論理レベルを有する第１の検出信号を出力する第１の電圧検出器である。第２の検出器は、第３のスイッチング素子と第４のスイッチング素子との間の電圧を検出し、その検出した電圧のレベルに応じた論理レベルを有する第２の検出信号を出力する第２の電圧検出器である。
【００６４】
好ましくは、第１から第４のスイッチング素子の各々は、半導体スイッチング素子またはリレーである。
【００６５】
好ましくは、第１のスイッチング回路は、対応する負荷素子と電源との間に接続された第１のスイッチング素子から成る。第２のスイッチング回路は、対応する負荷素子と電源との間に接続された第２のスイッチング素子から成る。第１の検出器は、第１のスイッチング素子から出力される出力電流を検出し、その検出した出力電流のレベルに応じた論理レベルを有する第１の検出信号を出力する第１の電流検出器である。第２の検出器は、第２のスイッチング素子から出力される出力電流を検出し、その検出した出力電流のレベルに応じた論理レベルを有する第２の検出信号を出力する第２の電流検出器である。
【００６６】
好ましくは、第１および第２のスイッチング素子の各々は、半導体スイッチング素子またはリレーである。
【００６７】
さらに、この発明によれば、プログラムは、セーフティコントローラーに含まれ、負荷を導通／遮断する安全出力回路の診断をコンピュータに実行させるためのプログラムである。負荷は、複数の負荷素子から成る。安全出力回路は、複数の負荷素子に対応して設けられ、各々が対応する負荷素子を導通／遮断する複数のスイッチング素子を含む。プログラムは、複数のスイッチング素子の各々において、スイッチング素子が対応する負荷素子を導通する導通機能と、スイッチング素子が対応する負荷素子を遮断する遮断機能とを診断する診断処理をコンピュータに実行させる。診断処理は、安全出力回路による安全出力制御が行なわれているか否かを判定する第１のステップと、安全出力制御が行なわれているとき、複数のスイッチング素子の導通機能を診断する第２のステップと、安全出力制御が行なわれていないとき、複数のスイッチング素子の遮断機能を診断する第３のステップとを含む。
【００６８】
好ましくは、第２のステップは、複数のスイッチング素子をオンさせる第１のサブステップと、複数の負荷素子に対応し、各々が対応する負荷素子の出力状態に応じた論理レベルを有する複数の補助出力を第１のサブステップの後に受ける第２のサブステップと、複数の補助出力の各々が第１の論理レベルであるか否かを判定する第３のサブステップと、複数の補助出力の各々が第１の論理レベルであるとき、複数のスイッチング素子が導通機能を維持していると診断する第４のサブステップと、複数の補助出力の各々が第１の論理レベルでないとき、複数のスイッチング素子が導通機能を維持していないと診断する第５のサブステップとを含む。
【００６９】
また、第３のステップは、複数のスイッチング素子をオフさせる第６のサブステップと、複数の補助出力を受ける第７のサブステップと、複数の補助出力の各々が第２の論理レベルであるか否かを判定する第８のサブステップと、複数の補助出力の各々が第２の論理レベルであるとき、複数のスイッチング素子が遮断機能を維持していると診断する第９のサブステップと、複数の補助出力の各々が第２の論理レベルでないとき、複数のスイッチング素子が遮断機能を維持していないと診断する第１０のサブステップとを含む。
【００７０】
好ましくは、複数のスイッチング素子の各々は、半導体スイッチング素子またはリレーである。
【００７１】
さらに、この発明によれば、プログラムを記録したコンピュータ読取り可能な記録媒体は、請求項１８から請求項３０のいずれか１項に記載のプログラムを記録したコンピュータ読取り可能な記録媒体である。
【００７２】
この発明においては、負荷に出力を与えないで安全出力回路の導通機能および遮断機能が診断される。
【００７３】
したがって、この発明によれば、安全出力回路は、直流負荷のみならず、交流負荷も安全出力を出力する対象にできる。
【００７４】
また、この発明においては、負荷を導通させたまま、安全出力回路の導通機能および遮断機能が診断される。
【００７５】
したがって、この発明によれば、負荷が反応しない程度に短いオフ期間を有する診断パルスを出力に用いなくても安全出力回路の導通機能および遮断機能を診断できる。その結果、負荷への要求事項をなくすことができ、診断パルスによる負荷への悪影響を考慮する必要がなくなる。
【００７６】
さらに、スイッチング素子にリレーを用いた安全出力回路においても、負荷への出力をオンしたまま安全出力回路の導通機能および遮断機能を診断できる。その結果、出力が長時間オンし続ける用途であっても診断機能の低下を防止できる。
【００７７】
さらに、この発明においては、スイッチング素子の出力を検出して安全出力回路の導通機能および遮断機能が診断される。
【００７８】
したがって、この発明によれば、リレーを用いた安全出力回路において通常のリレーを使用できる。
【００７９】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００８０】
［実施の形態１］
図１を参照して、この発明の実施の形態１によるセーフティコントローラーを用いた制御システム１００は、センサー／スイッチ類１０と、セーフティコントローラー２０と、制御対象３０とから成る。
【００８１】
センサー／スイッチ類１０は、非常停止スイッチ、インターロックスイッチ、両手操作スイッチ、ライトカーテンおよびエリアセンサー等からなる。そして、センサー／スイッチ類１０は、センサー信号またはスイッチ信号をセーフティコントローラー２０へ出力する。
【００８２】
セーフティコントローラー２０は、安全入力回路２１，２５と、ＣＰＵ２２，２３と、安全出力回路２４とを含む。
【００８３】
安全入力回路２１は、センサー／スイッチ類１０からセンサー信号またはスイッチ信号を受け、その受けたセンサー信号またはスイッチ信号をＣＰＵ２２へ出力する。また、安全入力回路２１は、自己の診断機能を有する。
【００８４】
ＣＰＵ２２は、安全入力回路２１を診断する。すなわち、ＣＰＵ２２は、安全入力回路２１から受けたセンサー信号またはスイッチ信号に基づいてセンサーまたはスイッチが正常に動作しているか否かを診断する。センサーまたはスイッチが正常に動作していない場合、ＣＰＵ２２は、制御対象３０への出力をオフするように安全出力回路２４を制御する必要があるが、この発明においては、センサーまたはスイッチは正常に動作していることを前提とする。
【００８５】
また、ＣＰＵ２２は、安全入力回路２１から受けたセンサー信号またはスイッチ信号に基づいて安全出力回路２４を制御する。たとえば、ＣＰＵ２２は、安全入力回路２１から装置を非常停止させるためのスイッチ信号を受けると、出力をオフするように安全出力回路２４を制御し、安全入力回路２１から非常停止を解除するためのスイッチ信号を受けると、出力をオンするように安全出力回路２４を制御する。
【００８６】
さらに、ＣＰＵ２２は、後述する方法によって安全出力回路２４を診断する。
安全出力回路２４は、ＣＰＵ２２からの制御に従って制御対象３０を導通／遮断する。
【００８７】
安全入力回路２５は、制御対象３０からフィードバック応答を受け、その受けたフィードバック応答をＣＰＵに入力可能な信号に変換してＣＰＵ２３へ出力する。また、安全入力回路２５は、自己の診断機能を有する。
【００８８】
ＣＰＵ２３は、安全入力回路２５からのフィードバック応答に基づいて、制御対象３０の制御が正確に行なわれた否かを判定するとともに制御対象３０の応答時間を評価する。また、ＣＰＵ２３は、後述する方法によって安全入力回路２５を診断する。
【００８９】
制御対象３０は、電磁開閉器およびバルブ等からなる。制御対象３０を構成する電磁開閉器およびバルブ等は、「負荷」と呼ばれ、モータ等の装置に装着される。そして、電磁開閉器およびバルブ等は、セーフティコントローラー２０の安全出力回路２４からのオン出力／オフ出力に応じてオン／オフされ、モータ等の装置へ電源電圧を供給したり、電源電圧を遮断する。以下においては、制御対象３０としての負荷は、「電磁開閉器」により構成されるとして説明する。
【００９０】
図２は、セーフティコントローラー２０の状態遷移図を示す。図２を参照して、電源が投入され、初期化処理が行なわれる。そして、初期化処理が完了すると、安全出力オフ状態へ移行する。
【００９１】
一方、初期化処理を失敗したとき、ロックアウト状態へ移行する。「ロックアウト状態」とは、安全出力、すなわち、安全出力回路２４の出力が全てオフ状態となり、再起動が禁止される状態を言う。
【００９２】
安全出力オフ状態において、セーフティコントローラー２０がセンサー／スイッチ類１０から非常停止を解除するためのスイッチ信号を受けると、安全出力オン状態へ移行する。また、安全出力オフ状態において、安全出力回路２４が診断され、診断結果が異常であるとき、ロックアウト状態へ移行する。
【００９３】
安全出力オン状態において、セーフティコントローラー２０が非常停止させるためのスイッチ信号を受けると安全出力オフ状態へ移行する。また、安全出力オン状態において、安全出力回路２４が診断され、診断結果が異常であるとき、ロックアウト状態へ移行する。
【００９４】
このように、セーフティコントローラー２０は、電源が投入され、初期化が完了すると、センサー／スイッチ類１０からの入力状態に応じて各種の状態に遷移する。
【００９５】
図３は、図１に示す安全出力回路２４の構成図を示す。図３を参照して、安全出力回路２４は、交流電源１Ａから電源ライン２およびアースライン３を介して電源電圧を受ける。なお、この発明においては、交流電源１Ａに代えて直流電源１Ｂが用いられてもよい。直流電源１Ｂが用いられる場合、点線で示すように直流電源１Ｂが電源ライン２とアースライン３との間に接続される。
【００９６】
安全出力回路２４は、チャンネル回路２４１，２４２と電圧検出回路２４３とを含む。チャンネル回路２４１は、負荷Ｍ１に対応して設けられ、チャンネル回路２４２は、負荷Ｍ２に対応して設けられる。そして、チャンネル回路２４１および負荷Ｍ１は、電源ライン２とアースライン３との間にチャンネル回路２４２および負荷Ｍ２に並列に接続される。
【００９７】
電圧検出回路２４３は、交流電源１Ａから供給される電源電圧ＶＡＣを検出し、その検出した電源電圧ＶＡＣの電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＥ１をＣＰＵ２２へ出力する。より具体的には、電圧検出回路２４３は、電源電圧ＶＡＣが基準値ＶＳＴＤ１以上のとき、Ｈ（論理ハイ）レベルの検出信号ＭＯＮＥ１をＣＰＵ２２へ出力し、電源電圧ＶＡＣが基準値ＶＳＴＤ１よりも低いとき、Ｌ（論理ロー）レベルの検出信号ＭＯＮＥ１をＣＰＵ２２へ出力する。交流電源１Ａに代えて直流電源１Ｂが用いられた場合も、電圧検出回路２４３は、同様にして電源電圧ＶＤＣを検出し、その検出した電源電圧ＶＤＣが基準値ＶＳＴＤ１以上であるか否かによってＨレベルまたはＬレベルの論理レベルを有する検出信号ＭＯＮＥ１をＣＰＵ２２へ出力する。したがって、電圧検出回路２４３は、電源（交流電源１Ａまたは直流電源１Ｂ）から供給される電源電圧ＶＡＣまたはＶＤＣが基準値ＶＳＴＤ１以上であるか否かを監視する機能を果たす。
【００９８】
チャンネル回路２４１は、スイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂと、電圧検出回路２４４，２４５とを含む。スイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂは、ＭＯＳトランジスタ、ＮＰＮトランジスタおよびＩＧＢＴ（Ｉｎｓｕｌａｔｅｄ  Ｇａｔｅ  Ｂｉｐｏｌａｒ  Ｔｒａｎｓｉｓｔｏｒ）等の半導体スイッチング素子、またはリレーから成る。スイッチング素子Ｓ１ａ，Ｓ１ｂは、電源ライン２とノードＮ１との間に直列に接続される。また、スイッチング素子Ｓ２ａ，Ｓ２ｂは、電源ライン２とノードＮ１との間に直列に接続される。そして、スイッチング素子Ｓ１ａ，Ｓ２ｂは、電源ライン２とノードＮ１との間にスイッチング素子Ｓ２ａ，Ｓ２ｂと並列に接続される。
【００９９】
スイッチング素子Ｓ１ａおよびＳ１ｂは、ＣＰＵ２２からの信号Ｓ１の論理レベルに応じて同時にオン／オフされる。より具体的には、スイッチング素子Ｓ１ａおよびＳ１ｂは、Ｈレベルの信号Ｓ１に応じて同時にオンされ、Ｌレベルの信号Ｓ１に応じて同時にオフされる。また、スイッチング素子Ｓ２ａおよびＳ２ｂは、ＣＰＵ２２からの信号Ｓ２の論理レベルに応じて同時にオン／オフされる。より具体的には、スイッチング素子Ｓ２ａおよびＳ２ｂは、Ｈレベルの信号Ｓ２に応じて同時にオンされ、Ｌレベルの信号Ｓ２に応じて同時にオフされる。
【０１００】
電圧検出回路２４４は、ノードＮ２とアースライン３との間に接続される。そして、電圧検出回路２４４は、スイッチング素子Ｓ１ａとスイッチング素子Ｓ１ｂとの間、すなわち、ノードＮ２における電圧ＶＮ２を検出し、その検出した電圧ＶＮ２の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。より具体的には、電圧検出回路２４４は、電圧ＶＮ２を基準値ＶＳＴＤ２と比較する。そして、電圧検出回路２４４は、電圧ＶＮ２が基準値ＶＳＴＤ２以上であるとき、Ｈレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力し、電圧ＶＮ２が基準値ＶＳＴＤ２よりも低いとき、Ｌレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。
【０１０１】
電圧検出回路２４５は、ノードＮ３とアースライン３との間に接続される。そして、電圧検出回路２４５は、スイッチング素子Ｓ２ａとスイッチング素子Ｓ２ｂとの間、すなわち、ノードＮ３における電圧ＶＮ３を検出し、その検出した電圧ＶＮ３の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。より具体的には、電圧検出回路２４５は、電圧ＶＮ３を基準値ＶＳＴＤ２と比較する。そして、電圧検出回路２４５は、電圧ＶＮ３が基準値ＶＳＴＤ２以上であるとき、Ｈレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力し、電圧ＶＮ３が基準値ＶＳＴＤ２よりも低いとき、Ｌレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。
【０１０２】
スイッチング素子Ｓ１ａおよびＳ１ｂは、ＣＰＵ２２からＨレベルの信号Ｓ１を受けるとオンされ、交流電源１Ａから供給された電源電圧ＶＡＣをノードＮ１を介して負荷Ｍ１へ供給する。そして、電圧検出回路２４４は、ノードＮ２における電圧ＶＮ２（＝ＶＡＣ）を検出してＨレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。また、スイッチング素子Ｓ１ａおよびＳ１ｂは、ＣＰＵ２２からＬレベルの信号Ｓ１を受けるとオフされ、交流電源１Ａから供給された電源電圧ＶＡＣを負荷Ｍ１へ供給しない。そして、電圧検出回路２４４は、ノードＮ２における電圧ＶＮ２（＝０Ｖ）を検出してＬレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。
【０１０３】
スイッチング素子Ｓ２ａおよびＳ２ｂは、ＣＰＵ２２からＨレベルの信号Ｓ２を受けるとオンされ、交流電源１Ａから供給された電源電圧ＶＡＣをノードＮ１を介して負荷Ｍ１へ供給する。そして、電圧検出回路２４５は、ノードＮ３における電圧ＶＮ３（＝ＶＡＣ）を検出してＨレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。また、スイッチング素子Ｓ２ａおよびＳ２ｂは、ＣＰＵ２２からＬレベルの信号Ｓ２を受けるとオフされ、交流電源１Ａから供給された電源電圧ＶＡＣを負荷Ｍ１へ供給しない。そして、電圧検出回路２４５は、ノードＮ３における電圧ＶＮ３（＝０Ｖ）を検出してＬレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。
【０１０４】
このように、チャンネル回路２４１は、ＣＰＵ２２からの信号Ｓ１，Ｓ２の論理レベルに応じて交流電源１Ａからの電源電圧ＶＡＣを負荷Ｍ１へ供給し、または電源電圧ＶＡＣの負荷Ｍ１への供給を停止する。
【０１０５】
チャンネル回路２４２は、スイッチング素子Ｓ３ａ，Ｓ３ｂ，Ｓ４ａ，Ｓ４ｂと、電圧検出回路２４６，２４７とを含む。スイッチング素子Ｓ３ａ，Ｓ３ｂ，Ｓ４ａ，Ｓ４ｂは、ＭＯＳトランジスタ、ＮＰＮトランジスタおよびＩＧＢＴ等の半導体スイッチング素子、またはリレーから成る。スイッチング素子Ｓ３ａ，Ｓ３ｂは、電源ライン２とノードＮ４との間に直列に接続される。また、スイッチング素子Ｓ４ａ，Ｓ４ｂは、電源ライン２とノードＮ４との間に直列に接続される。そして、スイッチング素子Ｓ３ａ，Ｓ３ｂは、電源ライン２とノードＮ４との間にスイッチング素子Ｓ４ａ，Ｓ４ｂと並列に接続される。
【０１０６】
スイッチング素子Ｓ３ａおよびＳ３ｂは、ＣＰＵ２２からの信号Ｓ３の論理レベルに応じて同時にオン／オフされる。より具体的には、スイッチング素子Ｓ３ａおよびＳ３ｂは、Ｈレベルの信号Ｓ３に応じて同時にオンされ、Ｌレベルの信号Ｓ３に応じて同時にオフされる。また、スイッチング素子Ｓ４ａおよびＳ４ｂは、ＣＰＵ２２からの信号Ｓ４の論理レベルに応じて同時にオン／オフされる。より具体的には、スイッチング素子Ｓ４ａおよびＳ４ｂは、Ｈレベルの信号Ｓ４に応じて同時にオンされ、Ｌレベルの信号Ｓ４に応じて同時にオフされる。
【０１０７】
電圧検出回路２４６は、ノードＮ５とアースライン３との間に接続される。そして、電圧検出回路２４６は、スイッチング素子Ｓ３ａとスイッチング素子Ｓ３ｂとの間、すなわち、ノードＮ５における電圧ＶＮ５を検出し、その検出した電圧ＶＮ５の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＣ１をＣＰＵ２２へ出力する。より具体的には、電圧検出回路２４６は、電圧ＶＮ５を基準値ＶＳＴＤ３と比較する。そして、電圧検出回路２４６は、電圧ＶＮ５が基準値ＶＳＴＤ３以上であるとき、Ｈレベルの検出信号ＭＯＮＣ１をＣＰＵ２２へ出力し、電圧ＶＮ５が基準値ＶＳＴＤ３よりも低いとき、Ｌレベルの検出信号ＭＯＮＣ１をＣＰＵ２２へ出力する。
【０１０８】
電圧検出回路２４７は、ノードＮ６とアースライン３との間に接続される。そして、電圧検出回路２４７は、スイッチング素子Ｓ４ａとスイッチング素子Ｓ４ｂとの間、すなわち、ノードＮ６における電圧ＶＮ６を検出し、その検出した電圧ＶＮ６の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＤ１をＣＰＵ２２へ出力する。より具体的には、電圧検出回路２４７は、電圧ＶＮ６を基準値ＶＳＴＤ３と比較する。そして、電圧検出回路２４７は、電圧ＶＮ６が基準値ＶＳＴＤ３以上であるとき、Ｈレベルの検出信号ＭＯＮＤ１をＣＰＵ２２へ出力し、電圧ＶＮ６が基準値ＶＳＴＤ３よりも低いとき、Ｌレベルの検出信号ＭＯＮＤ１をＣＰＵ２２へ出力する。
【０１０９】
スイッチング素子Ｓ３ａおよびＳ３ｂは、ＣＰＵ２２からＨレベルの信号Ｓ３を受けるとオンされ、交流電源１Ａから供給された電源電圧ＶＡＣをノードＮ４を介して負荷Ｍ２へ供給する。そして、電圧検出回路２４６は、ノードＮ５における電圧ＶＮ５（＝ＶＡＣ）を検出してＨレベルの検出信号ＭＯＮＣ１をＣＰＵ２２へ出力する。また、スイッチング素子Ｓ３ａおよびＳ３ｂは、ＣＰＵ２２からＬレベルの信号Ｓ３を受けるとオフされ、交流電源１Ａから供給された電源電圧ＶＡＣを負荷Ｍ２へ供給しない。そして、電圧検出回路２４６は、ノードＮ５における電圧ＶＮ５（＝０Ｖ）を検出してＬレベルの検出信号ＭＯＮＣ１をＣＰＵ２２へ出力する。
【０１１０】
スイッチング素子Ｓ４ａおよびＳ４ｂは、ＣＰＵ２２からＨレベルの信号Ｓ４を受けるとオンされ、交流電源１Ａから供給された電源電圧ＶＡＣをノードＮ４を介して負荷Ｍ２へ供給する。そして、電圧検出回路２４７は、ノードＮ６における電圧ＶＮ６（＝ＶＡＣ）を検出してＨレベルの検出信号ＭＯＮＤ１をＣＰＵ２２へ出力する。また、スイッチング素子Ｓ４ａおよびＳ４ｂは、ＣＰＵ２２からＬレベルの信号Ｓ４を受けるとオフされ、交流電源１Ａから供給された電源電圧ＶＡＣを負荷Ｍ２へ供給しない。そして、電圧検出回路２４７は、ノードＮ６における電圧ＶＮ６（＝０Ｖ）を検出してＬレベルの検出信号ＭＯＮＤ１をＣＰＵ２２へ出力する。
【０１１１】
このように、チャンネル回路２４２は、ＣＰＵ２２からの信号Ｓ３，Ｓ４の論理レベルに応じて交流電源１Ａからの電源電圧ＶＡＣを負荷Ｍ２へ供給し、または電源電圧ＶＡＣの負荷Ｍ２への供給を停止する。
【０１１２】
なお、基準値ＶＳＴＤ２は、負荷Ｍ１がオンする最低の電圧値に設定され、基準値ＶＳＴＤ３は、負荷Ｍ２がオンする最低の電圧値に設定される。そして、負荷Ｍ１が負荷Ｍ２と同じ負荷であれば、基準値ＶＳＴＤ２は、基準値ＶＳＴＤ３と同じ値に設定されてもよい。
【０１１３】
負荷Ｍ１は、ノードＮ１とアースライン３との間に接続される。そして、負荷Ｍ１は、電磁開閉器からなる。負荷Ｍ１は、ノードＮ１を介して電源電圧ＶＡＣを受けるとオン（導通）し、電源電圧ＶＡＣの供給が停止されると、オフ（遮断）する。負荷Ｍ１は、主出力ＭＭ１をモータ等の装置へ出力し、補助出力ＳＭ１をセーフティコントローラー２０の安全入力回路２５へ出力する。そして、補助出力ＳＭ１は、主出力ＭＭ１が電源電圧ＶＡＣからなるとき（すなわち、負荷Ｍ１が電源電圧を装置に供給しているとき）、０Ｖの電圧からなり、主出力ＭＭ１が０Ｖの電圧からなるとき（すなわち、負荷Ｍ１が電源電圧の装置への供給を停止しているとき）、電源電圧ＶＡＣからなる。すなわち、負荷Ｍ１は、ノードＮ１を介して電源電圧ＶＡＣが供給されると、オンし、電源電圧を装置へ供給し（電源電圧からなる主出力ＭＭ１を装置へ出力することに相当）、０Ｖの電圧からなる補助出力ＳＭ１を安全入力回路２５へ出力する。また、負荷Ｍ１は、電源電圧ＶＡＣの供給が停止されると、オフし、電源電圧の装置への供給を停止し（０Ｖの電圧からなる主出力ＭＭ１を出力することに相当）、電源電圧ＶＡＣからなる補助出力ＳＭ１を安全入力回路２５へ出力する。
【０１１４】
負荷Ｍ２は、ノードＮ４とアースライン３との間に接続される。そして、負荷Ｍ２は、電磁開閉器からなる。負荷Ｍ２は、ノードＮ４を介して電源電圧ＶＡＣを受けると、オン（導通）し、電源電圧ＶＡＣの供給が停止されると、オフ（遮断）する。負荷Ｍ２は、主出力ＭＭ２を装置へ出力し、補助出力ＳＭ２を安全入力回路２５へ出力する。そして、補助出力ＳＭ２は、主出力ＭＭ２が電源電圧ＶＡＣからなるとき（すなわち、負荷Ｍ２が電源電圧を装置に供給しているとき）、０Ｖの電圧からなり、主出力ＭＭ２が０Ｖの電圧からなるとき（すなわち、負荷Ｍ２が電源電圧の装置への供給を停止しているとき）、電源電圧ＶＡＣからなる。すなわち、負荷Ｍ２は、ノードＮ４を介して電源電圧ＶＡＣが供給されると、オンし、電源電圧を装置へ供給し（電源電圧からなる主出力ＭＭ２を装置へ出力することに相当）、０Ｖの電圧からなる補助出力ＳＭ２を安全入力回路２５へ出力する。また、負荷Ｍ２は、電源電圧ＶＡＣの供給が停止されると、オフし、電源電圧の装置への供給を停止し（０Ｖの電圧からなる主出力ＭＭ２を出力することに相当）、電源電圧ＶＡＣからなる補助出力ＳＭ２を安全入力回路２５へ出力する。
【０１１５】
負荷Ｍ１，Ｍ２は、モータ等の装置に装着される。そして、負荷Ｍ１，Ｍ２は、それぞれ、チャンネル回路２４１，２４２によってオンされると、電源電圧をモータ等の装置へ供給し、チャンネル回路２４１，２４２によってオフされると、電源電圧の装置への供給を停止する。なお、負荷Ｍ１の主出力ＭＭ１および負荷Ｍ２の主出力ＭＭ２は、図４に示すように直列にしてモータ等の装置へ出力される。したがって、負荷Ｍ１，Ｍ２のいずれか一方がオフ（遮断）されれば、モータ等の装置を停止させることができる。その結果、チャンネル回路２４１，２４２のうち、いずれか一方のチャンネル回路２４１または２４２が故障して負荷Ｍ１またはＭ２を遮断できなくなっても他方のチャンネル回路２４２または２４１によって負荷Ｍ２またはＭ１を遮断することができ、セーフティコントローラー２０の安全機能を向上させることができる。
【０１１６】
上述したように、安全出力回路２４は、負荷Ｍ１，Ｍ２の個数と同じ個数のチャンネル回路２４１，２４２を含み、負荷Ｍ１，Ｍ２に対応して設けられたチャンネル回路２４１，２４２により負荷Ｍ１，Ｍ２を導通／遮断する。
【０１１７】
図５は、セーフティコントローラー２０の安全入力回路２５の具体例を示す。図５を参照して、安全入力回路２５は、補助出力監視回路２５１，２５２からなる。補助出力監視回路２５１は、負荷Ｍ１からの補助出力ＳＭ１を受け、その受けた補助出力ＳＭ１をＣＰＵに入力可能な信号に変換してＣＰＵ２３へ出力する。また、補助出力監視回路２５１は、負荷Ｍ１の補助接点をオン／オフする。
【０１１８】
補助出力監視回路２５２は、負荷Ｍ２からの補助出力ＳＭ２を受け、その受けた補助出力ＳＭ２をＣＰＵに入力可能な信号に変換してＣＰＵ２３へ出力する。また、補助出力監視回路２５２は、負荷Ｍ２の補助接点をオン／オフする。
【０１１９】
補助出力監視回路２５１，２５２は、それぞれ、負荷Ｍ１，Ｍ２からの補助出力ＳＭ１，ＳＭ２をＣＰＵに入力可能な信号に変換する場合、たとえば、２４Ｖ（＝電源電圧ＶＡＣ）からなる補助出力ＳＭ１，ＳＭ２を５Ｖの電圧からなる信号に変換し、０Ｖの電圧からなる補助出力ＳＭ１，ＳＭ２を０Ｖの電圧からなる信号とする。つまり、補助出力監視回路２５１，２５２は、補助出力ＳＭ１，ＳＭ２をＨレベルの信号（５Ｖの電圧からなる信号）またはＬレベルの信号（０Ｖの電圧からなる信号）に変換する。
【０１２０】
図６は、安全出力回路２４が負荷Ｍ１，Ｍ２を導通する導通機能および安全出力回路２４が負荷Ｍ１，Ｍ２を遮断する遮断機能をＣＰＵ２２によって診断するためのフローチャートを示す。なお、図６は、図３に示すチャンネル回路２４１を診断する動作について説明するが、チャンネル回路２４２の診断についても同様の動作によって行なわれる。
【０１２１】
一連の動作が開始されると、ＣＰＵ２２は、安全出力制御が行なわれているか否か、すなわち、安全出力制御がオンされているかオフされているかを判定する（ステップＳ１）。この場合、ＣＰＵ２２は、電源が投入され、セーフティコントローラー２０が初期化されているか否かにより安全出力制御がオンされているかオフされているかを判定する。
【０１２２】
そして、ステップＳ１において、安全出力制御がオフされている場合、ＣＰＵ２２は、スイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂをオフするためのＬレベルの信号Ｓ１およびＳ２を安全出力回路２４のチャンネル回路２４１へ出力する。そうすると、スイッチング素子Ｓ１ａ，Ｓ１ｂは、Ｌレベルの信号Ｓ１に応じて同時にオフされ、スイッチング素子Ｓ２ａ，Ｓ２ｂは、Ｌレベルの信号Ｓ２に応じて同時にオフされる（ステップＳ２）。
【０１２３】
電圧検出回路２４４は、ノードＮ２における電圧ＶＮ２を検出し、その検出した電圧ＶＮ２の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。この場合、電圧検出回路２４４は、スイッチング素子Ｓ１ａ，Ｓ１ｂが正常であればＬレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力し、スイッチング素子Ｓ１ａ，Ｓ１ｂが短絡により故障していればＨレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。
【０１２４】
また、電圧検出回路２４５は、ノードＮ３における電圧ＶＮ３を検出し、その検出した電圧ＶＮ３の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。この場合、電圧検出回路２４５は、スイッチング素子Ｓ２ａ，Ｓ２ｂが正常であればＬレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力し、スイッチング素子Ｓ２ａ，Ｓ２ｂが短絡により故障していればＨレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。
【０１２５】
ＣＰＵ２２は、検出信号ＭＯＮＡ１の論理レベルがＬレベルであるか否かを判定し（ステップＳ３）、検出信号ＭＯＮＡ１の論理レベルがＬレベルでないと判定したとき、スイッチング素子Ｓ１ａ，Ｓ１ｂが故障していると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１が負荷Ｍ１を遮断する遮断機能を維持していないと診断する。そして、セーフティコントローラー２０は、ロックアウト状態へ移行する（ステップＳ５）。
【０１２６】
一方、ＣＰＵ２２は、ステップＳ３において検出信号ＭＯＮＡ１の論理レベルがＬレベルであると判定したとき、さらに、検出信号ＭＯＮＢ１の論理レベルがＬレベルであるか否かを判定する（ステップＳ４）。そして、ＣＰＵ２２は、ステップＳ４において、検出信号ＭＯＮＢ１の論理レベルがＬレベルでないと判定したとき、スイッチング素子Ｓ２ａ，Ｓ２ｂが故障していると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１が遮断機能を維持していないと診断する。そして、セーフティコントローラー２０は、ロックアウト状態へ移行する（ステップＳ５）。
【０１２７】
一方、ＣＰＵ２２は、ステップＳ４において検出信号ＭＯＮＢ１の論理レベルがＬレベルであると判定したとき、スイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂが正常であると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１が遮断機能を維持していると診断する。そして、一連の動作はステップＳ１へ移行する。
【０１２８】
ＣＰＵ２２は、ステップＳ１において安全出力制御がオンされていると判定すると、スイッチング素子Ｓ１ａ，Ｓ１ｂを同時にオンするためのＨレベルの信号Ｓ１とスイッチング素子Ｓ２ａ，Ｓ２ｂを同時にオフするためのＬレベルの信号Ｓ２とを安全出力回路２４のチャンネル回路２４１へ出力する。
【０１２９】
そうすると、スイッチング素子Ｓ１ａ，Ｓ１ｂは、Ｈレベルの信号Ｓ１に応じてオンされ、スイッチング素子Ｓ２ａ，Ｓ２ｂは、Ｌレベルの信号Ｓ２に応じてオフされる（ステップＳ６）。電圧検出回路２４４は、ノードＮ２における電圧ＶＮ２を検出し、その検出した電圧ＶＮ２の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。また、電圧検出回路２４５は、ノードＮ３における電圧ＶＮ３を検出し、その検出した電圧ＶＮ３の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。
【０１３０】
この場合、電圧検出回路２４４は、スイッチング素子Ｓ１ａ，Ｓ１ｂが正常であれば、Ｈレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力し、スイッチング素子Ｓ１ａ，Ｓ１ｂが開放により故障していれば、Ｌレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。また、電圧検出回路２４５は、スイッチング素子Ｓ２ａ，Ｓ２ｂが正常であれば、Ｌレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力し、スイッチング素子Ｓ２ａ，Ｓ２ｂが短絡により故障していれば、Ｈレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。
【０１３１】
電圧検出回路２４３は、交流電源１Ａから供給される電源電圧ＶＡＣを検出し、その検出した電源電圧ＶＡＣの電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＥ１をＣＰＵ２２へ出力する。
【０１３２】
ＣＰＵ２２は、検出信号ＭＯＮＡ１の論理レベルがＨレベルであるか否かを判定し（ステップＳ７）、検出信号ＭＯＮＡ１の論理レベルがＨレベルでないと判定したとき、さらに、検出信号ＭＯＮＥ１の論理レベルがＬレベルであるか否かを判定する（ステップＳ８）。検出信号ＭＯＮＡ１の論理レベルがＨレベルでないとき、検出信号ＭＯＮＡ１の論理レベルが期待した論理レベルと異なることになるが、その原因としては、スイッチング素子Ｓ１ａ，Ｓ１ｂが故障によりオンしていないことと交流電源１Ａが電源電圧ＶＡＣを供給していないこととが想定される。したがって、ステップＳ７において検出信号ＭＯＮＡ１の論理レベルがＨレベルでないと判定された原因がスイッチング素子Ｓ１ａ，Ｓ１ｂの故障および交流電源１Ａの故障のいずれであるかを診断するために、ステップＳ８において検出信号ＭＯＮＥ１の論理レベルがＬレベルであるか否かを判定することにしたものである。
【０１３３】
ＣＰＵ２２は、ステップＳ８において検出信号ＭＯＮＥ１の論理レベルがＬレベルでないと判定すると、スイッチング素子Ｓ１ａ，Ｓ１ｂが故障していると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１が導通機能を維持していないと診断する。そして、セーフティコントローラー２０は、ロックアウト状態へ移行する（ステップＳ５）。
【０１３４】
一方、ＣＰＵ２２は、ステップＳ７において検出信号ＭＯＮＡ１の論理レベルがＨレベルであると判定したとき、またはステップＳ８において検出信号ＭＯＮＥ１の論理レベルがＬレベルであると判定したとき、検出信号ＭＯＮＢ１の論理レベルがＬレベルであるか否かを判定する（ステップＳ９）。そして、ＣＰＵ２２は、検出信号ＭＯＮＢ１の論理レベルがＬレベルでないと判定したとき、スイッチング素子Ｓ２ａ，Ｓ２ｂが故障していると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１が遮断機能を維持していないと診断する。そして、セーフティコントローラー２０は、ロックアウト状態へ移行する（ステップＳ５）。
【０１３５】
一方、ＣＰＵ２２は、ステップＳ９において検出信号ＭＯＮＢ１の論理レベルがＬレベルであると判定したとき、スイッチング素子Ｓ１ａ，Ｓ１ｂを同時にオンするためのＨレベルの信号Ｓ１とスイッチング素子Ｓ２ａ，Ｓ２ｂを同時にオンするためのＨレベルの信号Ｓ２とを安全出力回路２４のチャンネル回路２４１へ出力する。
【０１３６】
そうすると、スイッチング素子Ｓ１ａおよびＳ１ｂは、Ｈレベルの信号Ｓ１に応じて同時にオンされ、スイッチング素子Ｓ２ａおよびＳ２ｂは、Ｈレベルの信号Ｓ２に応じて同時にオンされる（ステップＳ１０）。
【０１３７】
ステップＳ７において検出信号ＭＯＮＡ１がＨレベルであると判定されることおよびステップＳ８において検出信号ＭＯＮＥ１がＬレベルであると判定されることは、スイッチング素子Ｓ１ａ，Ｓ１ｂが正常であることを意味する。したがって、一連の動作がステップＳ９へ移行することは、スイッチング素子Ｓ１ａ，Ｓ１ｂが導通機能を維持しているとＣＰＵ２２が診断することに相当する。また、ステップＳ９において検出信号ＭＯＮＢ１がＬレベルであると判定されることは、スイッチング素子Ｓ２ａ，Ｓ２ｂが正常であることを意味する。したがって、一連の動作がステップＳ１０へ移行することは、スイッチング素子Ｓ１ａ，Ｓ１ｂが導通機能を維持し、かつ、スイッチング素子Ｓ２ａ，Ｓ２ｂが遮断機能を維持しているとＣＰＵ２２が診断することに相当する。
【０１３８】
ステップＳ１０においてスイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂがオンされると、電圧検出回路２４４はノードＮ２における電圧ＶＮ２を検出し、その検出した電圧ＶＮ２の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。この場合、電圧検出回路２４４は、スイッチング素子Ｓ１ａ，Ｓ１ｂが正常であれば、Ｈレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力し、スイッチング素子Ｓ１ａ，Ｓ１ｂが開放により故障していれば、Ｌレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。
【０１３９】
また、電圧検出回路２４５は、ノードＶＮ３における電圧ＶＮ３を検出し、その検出した電圧ＶＮ３の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。この場合、電圧検出回路２４５は、スイッチング素子Ｓ２ａ，Ｓ２ｂが正常であれば、Ｈレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力し、スイッチング素子Ｓ２ａ，Ｓ２ｂが開放により故障していれば、Ｌレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。
【０１４０】
ＣＰＵ２２は、検出信号ＭＯＮＡ１の論理レベルがＨレベルであるか否かを判定し（ステップＳ１１）、検出信号ＭＯＮＡ１の論理レベルがＨレベルでないと判定すると、さらに、検出信号ＭＯＮＥ１がＬレベルであるか否かを判定する（ステップＳ１２）。そして、ＣＰＵ２２は、検出信号ＭＯＮＥ１の論理レベルがＬレベルでないと判定したとき、スイッチング素子Ｓ１ａ，Ｓ１ｂが故障していると診断する。そして、セーフティコントローラー２０はロックアウト状態へ移行する（ステップＳ５）。
【０１４１】
一方、ＣＰＵ２２は、ステップＳ１２において検出信号ＭＯＮＥ１がＬレベルであると判定したとき、スイッチング素子Ｓ１ａ，Ｓ１ｂが導通機能を維持していると診断する。そして、一連の動作はステップＳ１３へ移行する。
【０１４２】
なお、ステップＳ１１において検出信号ＭＯＮＡ１の論理レベルがＨレベルでないと判定されたとき、検出信号ＭＯＮＥ１の論理レベルを判定することにした理由は、ステップＳ７において検出信号ＭＯＮＡ１の論理レベルがＨレベルでないと判定されたときに検出信号ＭＯＮＥ１の論理レベルを判定することにした理由と同じである。
【０１４３】
ＣＰＵ２２は、ステップＳ１１において検出信号ＭＯＮＡ１の論理レベルがＨレベルであると判定したとき、スイッチング素子Ｓ１ａ，Ｓ１ｂが導通機能を維持していると診断する。そして、ステップＳ１１において検出信号ＭＯＮＡ１の論理レベルがＨレベルであると判定されたとき、またはステップＳ１２において検出信号ＭＯＮＥ１の論理レベルがＬレベルであると判定されたとき、ＣＰＵ２２は、検出信号ＭＯＮＢ１の論理レベルがＨレベルであるか否かを判定する（ステップＳ１３）。そして、ＣＰＵ２２は、検出信号ＭＯＮＢ１の論理レベルがＨレベルでないと判定したとき、スイッチング素子Ｓ２ａ，Ｓ２ｂが故障していると診断する。そして、セーフティコントローラー２０はロックアウト状態へ移行する（ステップＳ５）。
【０１４４】
一方、ステップＳ１３において検出信号ＭＯＮＢ１の論理レベルがＨレベルであると判定されたとき、ＣＰＵ２２は、スイッチング素子Ｓ１ａ，Ｓ１ｂを同時にオフするためのＬレベルの信号Ｓ１とスイッチング素子Ｓ２ａ，Ｓ２ｂを同時にオンするためのＨレベルの信号Ｓ２とを安全出力回路２４のチャンネル回路２４１へ出力する。
【０１４５】
そうすると、スイッチング素子Ｓ１ａおよびＳ１ｂは、Ｌレベルの信号Ｓ１に応じて同時にオフされ、スイッチング素子Ｓ２ａおよびＳ２ｂは、Ｈレベルの信号Ｓ２に応じて同時にオンされる（ステップＳ１４）。
【０１４６】
ステップＳ１１において検出信号ＭＯＮＡ１の論理レベルがＨレベルであると判定されることおよびステップＳ１２において検出信号ＭＯＮＥ１の論理レベルがＬレベルであると判定されることは、スイッチング素子Ｓ１ａ，Ｓ１ｂが正常であることを意味する。したがって、一連の動作がステップＳ１３へ移行することは、スイッチング素子Ｓ１ａ，Ｓ１ｂが導通機能を維持しているとＣＰＵ２２が診断することに相当する。また、ステップＳ１３において検出信号ＭＯＮＢ１の論理レベルがＬレベルであると判定されることは、スイッチング素子Ｓ２ａ，Ｓ２ｂが正常であることを意味する。したがって、一連の動作がステップＳ１４へ移行することは、スイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂが導通機能を維持しているとＣＰＵ２２が診断することに相当する。
【０１４７】
ステップＳ１４においてスイッチング素子Ｓ１ａ，Ｓ１ｂがオフされ、スイッチング素子Ｓ２ａ，Ｓ２ｂがオンされると、電圧検出回路２４４は、ノードＮ２における電圧ＶＮ２を検出し、その検出した電圧ＶＮ２の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。この場合、電圧検出回路２４４は、スイッチング素子Ｓ１ａ，Ｓ１ｂが正常であればＬレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力し、スイッチング素子Ｓ１ａ，Ｓ１ｂが短絡により故障していればＨレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。
【０１４８】
また、電圧検出回路２４５は、ノードＮ３における電圧ＶＮ３を検出し、その検出した電圧ＶＮ３の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。この場合、電圧検出回路２４５は、スイッチング素子Ｓ２ａ，Ｓ２ｂが正常であればＨレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力し、スイッチング素子Ｓ２ａ，Ｓ２ｂが開放により故障していればＬレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。
【０１４９】
そして、ＣＰＵ２２は、検出信号ＭＯＮＡ１の論理レベルがＬレベルであるか否かを判定し（ステップＳ１５）、検出信号ＭＯＮＡ１の論理レベルがＬレベルでないと判定すると、さらに、検出信号ＭＯＮＥ１の論理レベルがＬレベルであるか否かを判定する（ステップＳ１６）。ステップＳ１６において検出信号ＭＯＮＥ１の論理レベルがＬレベルでないと判定されると、ＣＰＵ２２は、スイッチング素子Ｓ１ａ，Ｓ１ｂが故障していると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１が遮断機能を維持していないと診断する。そして、セーフティコントローラー２０は、ロックアウト状態へ移行する（ステップＳ５）。
【０１５０】
一方、ステップＳ１６において検出信号ＭＯＮＥ１の論理レベルがＬレベルであると判定されると、ＣＰＵ２２は、スイッチング素子Ｓ１ａ，Ｓ１ｂが正常であると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１が遮断機能を維持していると診断する。そして、一連の動作がステップＳ１７へ移行する。
【０１５１】
なお、ステップＳ１５において検出信号ＭＯＮＡ１の論理レベルがＬレベルでないと判定されたとき、検出信号ＭＯＮＥ１の論理レベルを判定することにした理由は、ステップＳ７において検出信号ＭＯＮＡ１の論理レベルがＨレベルでないと判定されたときに検出信号ＭＯＮＥ１の論理レベルを判定することにした理由と同じである。
【０１５２】
ＣＰＵ２２は、ステップＳ１５において検出信号ＭＯＮＡ１の論理レベルがＬレベルであると判定したとき、スイッチング素子Ｓ１ａ，Ｓ１ｂが遮断機能を維持していると診断する。そして、ステップＳ１５において検出信号ＭＯＮＡ１の論理レベルがＬレベルであると判定されたとき、またはステップＳ１６において検出信号ＭＯＮＥ１の論理レベルがＬレベルであると判定されたとき、ＣＰＵ２２は、検出信号ＭＯＮＢ１の論理レベルがＨレベルであるか否かを判定する（ステップＳ１７）。そして、ＣＰＵ２２は、検出信号ＭＯＮＢ１の論理レベルがＨレベルでないと判定したとき、スイッチング素子Ｓ２ａ，Ｓ２ｂが故障していると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１が導通機能を維持していないと診断する。そして、セーフティコントローラー２０はロックアウト状態へ移行する（ステップＳ５）。
【０１５３】
一方、ステップＳ１７において検出信号ＭＯＮＢ１の論理レベルがＨレベルであると判定されたとき、ＣＰＵ２２は、スイッチング素子Ｓ１ａ，Ｓ１ｂを同時にオンするためのＨレベルの信号Ｓ１とスイッチング素子Ｓ２ａ，Ｓ２ｂを同時にオンするためのＨレベルの信号Ｓ２とを安全出力回路２４のチャンネル回路２４１へ出力する。
【０１５４】
そうすると、スイッチング素子Ｓ１ａおよびＳ１ｂは、Ｈレベルの信号Ｓ１に応じて同時にオンされ、スイッチング素子Ｓ２ａおよびＳ２ｂは、Ｈレベルの信号Ｓ２に応じて同時にオンされる（ステップＳ１８）。
【０１５５】
ステップＳ１５において検出信号ＭＯＮＡ１の論理レベルがＬレベルであると判定されることおよびステップＳ１６において検出信号ＭＯＮＥ１の論理レベルがＬレベルであると判定されることは、スイッチング素子Ｓ１ａ，Ｓ１ｂが正常であることを意味する。したがって、一連の動作がステップＳ１７へ移行することは、スイッチング素子Ｓ１ａ，Ｓ１ｂが遮断機能を維持しているとＣＰＵ２２が診断することに相当する。また、ステップＳ１７において検出信号ＭＯＮＢ１の論理レベルがＨレベルであると判定されることは、スイッチング素子Ｓ２ａ，Ｓ２ｂが正常であることを意味する。したがって、一連の動作がステップＳ１８へ移行することは、スイッチング素子Ｓ１ａ，Ｓ１ｂが遮断機能を維持し、かつ、スイッチング素子Ｓ２ａ，Ｓ２ｂが導通機能を維持しているとＣＰＵ２２が診断することに相当する。
【０１５６】
ステップＳ１８においてスイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂがオンされると、電圧検出回路２４４は、ノードＮ２における電圧ＶＮ２を検出し、その検出した電圧ＶＮ２の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。この場合、電圧検出回路２４４は、スイッチング素子Ｓ１ａ，Ｓ１ｂが正常であればＨレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力し、スイッチング素子Ｓ１ａ，Ｓ１ｂが開放により故障していればＬレベルの検出信号ＭＯＮＡ１をＣＰＵ２２へ出力する。
【０１５７】
また、電圧検出回路２４５は、ノードＮ３における電圧ＶＮ３を検出し、その検出した電圧ＶＮ３の電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。この場合、電圧検出回路２４５は、スイッチング素子Ｓ２ａ，Ｓ２ｂが正常であればＨレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力し、スイッチング素子Ｓ２ａ，Ｓ２ｂが開放により故障していればＬレベルの検出信号ＭＯＮＢ１をＣＰＵ２２へ出力する。
【０１５８】
そして、ＣＰＵ２２は、検出信号ＭＯＮＡ１の論理レベルがＨレベルであるか否かを判定し（ステップＳ１９）、検出信号ＭＯＮＡ１の論理レベルがＨレベルでないと判定すると、さらに、検出信号ＭＯＮＥ１の論理レベルがＬレベルであるか否かを判定する（ステップＳ２０）。ステップＳ２０において検出信号ＭＯＮＥ１の論理レベルがＬレベルでないと判定されると、ＣＰＵ２２は、スイッチング素子Ｓ１ａ，Ｓ１ｂが故障していると診断する。そして、セーフティコントローラー２０は、ロックアウト状態へ移行する（ステップＳ５）。
【０１５９】
一方、ステップＳ２０において検出信号ＭＯＮＥ１の論理レベルがＬレベルであると判定されると、ＣＰＵ２２は、スイッチング素子Ｓ１ａ，Ｓ１ｂが正常であると診断する。そして、一連の動作がステップＳ２１へ移行する。
【０１６０】
なお、ステップＳ１９において検出信号ＭＯＮＡ１の論理レベルがＨレベルでないと判定されたとき、検出信号ＭＯＮＥ１の論理レベルを判定することにした理由は、ステップＳ７において検出信号ＭＯＮＡ１の論理レベルがＨレベルでないと判定されたときに検出信号ＭＯＮＥ１の論理レベルを判定することにした理由と同じである。
【０１６１】
ＣＰＵ２２は、ステップＳ１９において検出信号ＭＯＮＡ１の論理レベルがＨレベルであると判定したとき、スイッチング素子Ｓ１ａ，Ｓ１ｂが導通機能を維持していると診断する。そして、ステップＳ１９において検出信号ＭＯＮＡ１の論理レベルがＨレベルであると判定されたとき、またはステップＳ２０において検出信号ＭＯＮＥ１の論理レベルがＬレベルであると判定されたとき、ＣＰＵ２２は、検出信号ＭＯＮＢ１の論理レベルがＨレベルであるか否かを判定する（ステップＳ２１）。そして、ＣＰＵ２２は、検出信号ＭＯＮＢ１の論理レベルがＨレベルでないと判定したとき、スイッチング素子Ｓ２ａ，Ｓ２ｂが故障していると診断する。そして、セーフティコントローラー２０はロックアウト状態へ移行する（ステップＳ５）。
【０１６２】
一方、ステップＳ２１において検出信号ＭＯＮＢ１の論理レベルがＨレベルであると判定されたとき、ＣＰＵ２２は、スイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂが導通機能を維持していると診断する。そして、一連の動作はステップＳ１へ戻る。そして、上述したステップＳ１〜ステップＳ２１が繰返し実行される。
【０１６３】
ステップＳ６〜ステップＳ１３の経路は、スイッチング素子Ｓ１ａ，Ｓ１ｂをオンしたまま、スイッチング素子Ｓ２ａ，Ｓ２ｂを同時にオン／オフしてスイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂを診断する経路である。つまり、ステップＳ６〜ステップＳ１３の経路は、スイッチング素子Ｓ１ａ，Ｓ１ｂにより電源電圧ＶＡＣを供給して負荷Ｍ１を導通させたまま、スイッチング素子Ｓ２ａ，Ｓ２ｂの導通機能および遮断機能を診断する経路である。
【０１６４】
また、ステップＳ１４〜ステップＳ２１の経路は、スイッチング素子Ｓ２ａ，Ｓ２ｂをオンしたまま、スイッチング素子Ｓ１ａ，Ｓ１ｂを同時にオン／オフしてスイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂを診断する経路である。つまり、ステップＳ１４〜ステップＳ２１の経路は、スイッチング素子Ｓ２ａ，Ｓ２ｂにより電源電圧ＶＡＣを供給して負荷Ｍ１を導通させたまま、スイッチング素子Ｓ１ａ，Ｓ１ｂの導通機能および遮断機能を診断する経路である。
【０１６５】
したがって、この発明は、スイッチング素子Ｓ１ａ，Ｓ１ｂおよびスイッチング素子Ｓ２ａ，Ｓ２ｂのいずれか一方により負荷Ｍ１を導通させたまま、スイッチング素子Ｓ１ａ，Ｓ１ｂおよびスイッチング素子Ｓ２ａ，Ｓ２ｂのいずれか他方の導通機能および遮断機能を診断することを特徴とする。
【０１６６】
この場合、スイッチング素子Ｓ１ａ，Ｓ１ｂ（またはＳ２ａ，Ｓ２ｂ）により電源電圧ＶＡＣを負荷Ｍ１に供給したまま、スイッチング素子Ｓ２ａ，Ｓ２ｂ（またはＳ１ａ，Ｓ１ｂ）がオン／オフされるので、スイッチング素子Ｓ２ａ，Ｓ２ｂ（またはＳ１ａ，Ｓ１ｂ）がオン／オフされることによるパルス出力が負荷Ｍ１に与えられることはない。つまり、この発明は、スイッチング素子Ｓ１ａ，Ｓ１ｂ（またはＳ２ａ，Ｓ２ｂ）からのパルス出力を負荷Ｍ１に与えずにスイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂを診断することを特徴とする。
【０１６７】
その結果、負荷Ｍ１は交流負荷および直流負荷のいずれであってもよく、この発明における安全出力回路２４は、直流負荷のみならず、交流負荷にも対応することができる。
【０１６８】
図７は、セーフティコントローラー２０の正常動作時のタイムチャートを示す。図７を参照して、期間Ｔ１において、セーフティコントローラー２０は、非常停止状態（信号Ｅ−ｓｔｏｐがＨレベル）にあり、信号Ｓ１およびＳ２がＬレベルであり、交流電源１Ａが電源電圧ＶＡＣの供給を停止している（信号ＰＯＷがＬレベル）。その結果、検出信号ＭＯＮＥ１がＬレベルであり、検出信号ＭＯＮＡ１およびＭＯＮＢ１がＬレベルであり、負荷Ｍ１の主出力ＭＭ１はＬレベルであり、負荷Ｍ１は遮断されている。
【０１６９】
期間Ｔ２において、交流電源１Ａが電源電圧ＶＡＣを供給すると（信号ＰＯＷがＬレベルからＨレベルへ移行）、検出信号ＭＯＮＥ１がＨレベルになる。
【０１７０】
そして、期間Ｔ３において、非常停止が解除されると（信号Ｅ−ｓｔｏｐがＨレベルからＬレベルへ移行）、信号Ｓ１がＬレベルからＨレベルに変化する。そうすると、スイッチング素子Ｓ１ａ，Ｓ１ｂがオンされ、スイッチング素子Ｓ１ａ，Ｓ１ｂは、電源電圧ＶＡＣを負荷Ｍ１に供給する。そして、負荷Ｍ１は、電源電圧ＶＡＣによりオンされ、Ｈレベルの主出力ＭＭ１を出力する（装置へ供給される電源電圧からなる主出力ＭＭ１をＨレベルの主出力ＭＭ１と表わしたものである）。
【０１７１】
その後、期間Ｔ４において、信号Ｓ２がＬレベルからＨレベルに変化するとスイッチング素子Ｓ２ａ，Ｓ２ｂがオンされる。この場合、スイッチング素子Ｓ１ａ，Ｓ１ｂは、Ｈレベルの信号Ｓ１に応じて継続してオンされる。その結果、検出信号ＭＯＮＡ１およびＭＯＮＢ１が共にＨレベルとなり、負荷Ｍ１は、継続してオンしている。
【０１７２】
期間Ｔ５において、信号Ｓ１がＨレベルからＬレベルに変化すると、スイッチング素子Ｓ１ａ，Ｓ１ｂがオフされ、検出信号ＭＯＮＡ１がＨレベルからＬレベルに変化する。しかし、信号Ｓ２はＨレベルを維持するので、スイッチング素子Ｓ２ａ，Ｓ２ｂは継続してオンされる。その結果、負荷Ｍ１は、継続してオンしている。
【０１７３】
期間Ｔ６における動作は、期間Ｔ４における動作と同じである。期間Ｔ７において、信号Ｓ２がＨレベルからＬレベルに変化するとスイッチング素子Ｓ２ａ，Ｓ２ｂがオフされる。そして、検出信号ＭＯＮＢ１がＨレベルからＬレベルに変化する。この場合、信号Ｓ１はＨレベルを維持しており、スイッチング素子Ｓ１ａ，Ｓ１ｂは継続してオンしており、検出信号ＭＯＮＡ１はＨレベルを維持する。そして、負荷Ｍ１は、継続してオンしている。
【０１７４】
期間Ｔ８における動作は、期間Ｔ４における動作と同じである。期間Ｔ９において信号Ｓ１がＨレベルからＬレベルに変化すると、スイッチング素子Ｓ１ａ，Ｓ１ｂがオフされる。そして、検出信号ＭＯＮＡ１がＨレベルからＬレベルに変化する。この場合、信号Ｓ２はＨレベルを維持しており、スイッチング素子Ｓ２ａ，Ｓ２ｂは継続してオンしており、検出信号ＭＯＮＢ１はＨレベルを維持する。そして、負荷Ｍ１は、継続してオンしている。
【０１７５】
期間Ｔ１０において、信号Ｅ−ｓｔｏｐがＬレベルからＨレベルに変化し、非常停止状態になると、信号Ｓ１およびＳ２がＨレベルからＬレベルに変化する。そして、検出信号ＭＯＮＡ１およびＭＯＮＢ１はＨレベルからＬレベルに変化し、負荷Ｍ１はオフする。期間Ｔ１１において交流電源１Ａが電源電圧ＶＡＣの供給を停止し（信号ＰＯＷがＨレベルからＬレベルに変化）、検出信号ＭＯＮＥ１がＨレベルからＬレベルに変化する。
【０１７６】
期間Ｔ１２において、信号Ｅ−ｓｔｏｐがＨレベルからＬレベルに変化し、非常停止が解除されるが、交流電源１Ａが電源電圧ＶＡＣの供給を停止しているので、信号Ｓ１およびＳ２はＬレベルを維持しており、負荷Ｍ１は、継続してオフされる。
【０１７７】
信号Ｓ１は、期間Ｔ３およびＴ４においてＨレベルを維持しており、信号Ｓ２は、期間Ｔ３においてＬレベルであり、期間Ｔ４においてＨレベルである。したがって、この期間Ｔ３およびＴ４は、図６に示すフローチャートのステップＳ６〜Ｓ１３が実行される期間である。
【０１７８】
信号Ｓ２は、期間Ｔ５およびＴ６においてＨレベルを維持しており、信号Ｓ１は、期間Ｔ５においてＬレベルであり、期間Ｔ６においてＨレベルである。したがって、この期間Ｔ５およびＴ６は、図６に示すフローチャートのステップＳ１４〜Ｓ２１が実行される期間である。
【０１７９】
そして、期間Ｔ７およびＴ８における動作は、期間Ｔ３およびＴ４における動作と同じであるので、期間Ｔ７および期間Ｔ８において、ステップＳ６〜Ｓ１３が、再度、実行される。
【０１８０】
すなわち、安全出力制御がオンされていれば、図６に示すステップＳ６〜ステップＳ２１が繰返し実行される。
【０１８１】
図８は、スイッチング素子Ｓ１ａが開放により故障したときのタイムチャートを示す。なお、図８において点線は、正常動作時のタイムチャートを示す。図８を参照して、期間Ｔ３およびＴ７において信号Ｓ１はＨレベルを維持しているにも拘わらず、検出信号ＭＯＮＡ１はＬレベルになっている。そして、期間Ｔ３およびＴ７において検出信号ＭＯＮＥ１はＨレベルを維持している。したがって、この期間Ｔ３またはＴ７における動作は、図６に示すフローチャートのステップＳ７において検出信号ＭＯＮＡ１がＨレベルでないと判定され、かつ、ステップＳ８において検出信号ＭＯＮＥ１がＬレベルでないと判定された動作に相当する。その結果、スイッチング素子Ｓ１ａが開放により故障していると診断され、セーフティコントローラー２０は、ロックアウト状態へ移行する。そして、セーフティコントローラー２０がロックアウト状態に移行した段階で安全出力回路２４は、全ての出力をオフ状態にするので、負荷Ｍ１，Ｍ２は遮断される。
【０１８２】
なお、期間Ｔ３においてスイッチング素子Ｓ１ａが故障していると診断されると、セーフティコントローラー２０は、直ちにロックアウト状態に移行し、それ以後の再起動が禁止される。
【０１８３】
その他の動作は、図７において説明した動作と同じである。
図９は、スイッチング素子Ｓ１ａが短絡により故障したときのタイムチャートを示す。なお、図９において点線は、正常動作時のタイムチャートを示す。図９を参照して、期間Ｔ２，Ｔ５，Ｔ９，Ｔ１０において、信号Ｓ１がＬレベルを維持しているにも拘わらず、検出信号ＭＯＮＡ１がＨレベルを維持している。また、期間Ｔ２，Ｔ５，Ｔ９，Ｔ１０において検出信号ＭＯＮＥ１はＨレベルを維持している。したがって、期間Ｔ２，Ｔ５，Ｔ９，Ｔ１０における動作は、図６に示すフローチャートのステップＳ１５において検出信号ＭＯＮＡ１がＬレベルでないと判定され、かつ、ステップＳ１６において検出信号ＭＯＮＥ１がＬレベルでないと判定された動作に相当する。その結果、スイッチング素子Ｓ１ａが短絡により故障していると診断され、セーフティコントローラー２０は、ロックアウト状態へ移行する。そして、セーフティコントローラー２０がロックアウト状態に移行した段階で安全出力回路２４は、全ての出力をオフ状態にするので、負荷Ｍ１，Ｍ２は遮断される。
【０１８４】
なお、期間Ｔ２においてスイッチング素子Ｓ１ａが故障していると診断されると、セーフティコントローラー２０は、直ちにロックアウト状態に移行し、それ以後の再起動が禁止される。
【０１８５】
その他の動作は、図７において説明した動作と同じである。
図１０は、スイッチング素子Ｓ１ｂが開放により故障したときのタイムチャートを示す。なお、図１０において、点線は正常動作時のタイムチャートを示す。図１０を参照して、期間Ｔ３またはＴ７において、信号Ｓ１がＨレベルを維持しているにも拘わらず、負荷Ｍ１の主出力ＭＭ１がＬレベルを維持している。つまり、スイッチング素子Ｓ１ａは、Ｈレベルの信号Ｓ１に応じてオンされるが、スイッチング素子Ｓ１ｂは、開放状態にあるため、スイッチング素子Ｓ１ａを介して供給された電源電圧ＶＡＣを負荷Ｍ１に供給しない。その結果、負荷Ｍ１の主出力ＭＭ１はＬレベルになる。なお、負荷Ｍ１の主出力ＭＭ１がＬレベルになっていることの検出は、補助出力監視回路２５１によって行なわれる。すなわち、補助出力監視回路２５１は、負荷Ｍ１の補助接点からの補助出力ＳＭ１を受けるので、Ｈレベルの補助出力ＳＭ１を検出することにより主出力ＭＭ１がＬレベルであることを検出できる。
【０１８６】
したがって、期間Ｔ３またはＴ７において、スイッチング素子Ｓ１ｂが開放により故障していると診断され、セーフティコントローラー２０はロックアウト状態へ移行する。そして、セーフティコントローラー２０がロックアウト状態に移行した段階で安全出力回路２４は、全ての出力をオフ状態にするので、負荷Ｍ１，Ｍ２は遮断される。
【０１８７】
なお、期間Ｔ３においてスイッチング素子Ｓ１ｂが故障していると診断されると、セーフティコントローラー２０は、直ちにロックアウト状態に移行し、それ以後の再起動が禁止される。
【０１８８】
その他の動作は、図７において説明した動作と同じである。
図１１は、スイッチング素子Ｓ１ｂが短絡により故障したときのタイムチャートを示す。なお、図１１において、点線は正常動作時のタイムチャートを示す。図１１を参照して、期間Ｔ５またはＴ９において信号Ｓ１がＬレベルを維持しているにも拘わらず、検出信号ＭＯＮＡ１がＨレベルを維持している。信号Ｓ１がＬレベルを維持していれば、検出信号ＭＯＮＡ１はＬレベルになるが、この場合、スイッチング素子Ｓ２ａ，Ｓ２ｂがオンされており、スイッチング素子Ｓ１ｂが短絡しているため、電源電圧ＶＡＣがスイッチング素子Ｓ２ａ，Ｓ２ｂ側からスイッチング素子Ｓ１ｂを介してノードＮ２に供給される。その結果、検出信号ＭＯＮＡ１はＨレベルを維持する。
【０１８９】
したがって、期間Ｔ５またはＴ９において、スイッチング素子Ｓ１ｂが短絡により故障していると診断され、セーフティコントローラー２０はロックアウト状態へ移行する。そして、セーフティコントローラー２０がロックアウト状態に移行した段階で安全出力回路２４は、全ての出力をオフ状態にするので、負荷Ｍ１，Ｍ２は遮断される。
【０１９０】
なお、期間Ｔ５においてスイッチング素子Ｓ１ｂが故障していると診断されると、セーフティコントローラー２０は、直ちにロックアウト状態に移行し、それ以後の再起動が禁止される。
【０１９１】
その他の動作は、図７において説明した動作と同じである。
図８〜図１１に示すタイムチャートは、スイッチング回路２４１における動作のみを示すが、チャンネル回路がチャンネル回路２４１，２４２と２個になっても同じ動作である。
【０１９２】
また、ＣＰＵ２２は、図６に示すフローチャートに従って安全出力回路２４の導通機能および遮断機能を診断する場合、図６に示す各ステップを備えるプログラムをＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）から読出し、その読み出したプログラムを実行して安全出力回路２４の導通機能および遮断機能を診断する。
【０１９３】
したがって、図６に示す各ステップを備えるプログラムは、安全出力回路の診断をコンピュータ（ＣＰＵ２２）に実行させるためのプログラムである。また、ＲＯＭは、安全出力回路２４の診断をコンピュータ（ＣＰＵ２２）に実行させるためのプログラムを記録したコンピュータ（ＣＰＵ２２）読取り可能な記録媒体（ＲＯＭ）に相当する。
【０１９４】
表１は、安全出力回路２４のスイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂ部分におけるＦＭＥＡ（Ｆａｉｌｕｒｅ  Ｍｏｄｅ  Ｅｆｆｅｃｔ  Ａｎａｌｙｓｉｓ）を示す。ＦＭＥＡとは、故障モード影響解析のことである。そして、より具体的には、ＦＭＥＡとは、故障の種類を想定し、その故障が発生した場合の影響を解析し、必要な安全方策を講じるための手段の１つを言う。
【０１９５】
【表１】
2005044074.tif 000003
【０１９６】
表１から一例を挙げて説明すると、スイッチング素子Ｓ１ａの故障モードとして開放（オープン）を想定すると、スイッチング素子Ｓ１ａが開放状態になることによって出力制御状態を「オン」に設定したいにも拘わらず、信号Ｓ１がＨレベルであり、信号Ｓ２がＬレベルのときにチャンネル回路２４１の出力がオフされると言う影響が発生する。そして、スイッチング素子Ｓ１ａの開放による故障を診断するためには負荷Ｍ１の補助接点を監視する機能を備えていればよい。
【０１９７】
他の故障モードについても同様に考えればよい。
表１に示す故障モードとその故障モードを診断する機能とを備えるセーフティコントローラー２０は、国際規格ＩＥＣ６１５０８において安全度水準ＳＩＬ３を達成し、欧州規格ＥＮ９５４−１において安全カテゴリー４を達成し得るものである。
【０１９８】
なお、この発明においては、スイッチング素子Ｓ１ａ，Ｓ１ｂは、１つのスイッチング回路を構成し、スイッチング素子Ｓ２ａ，Ｓ２ｂは、１つのスイッチング回路を構成し、スイッチング素子Ｓ３ａ，Ｓ３ｂは、１つのスイッチング回路を構成し、スイッチング素子Ｓ４ａ，Ｓ４ｂは、１つのスイッチング回路を構成する。
【０１９９】
また、ＣＰＵ２２は、安全出力回路２４の導通機能および遮断機能を診断する「診断手段」を構成する。
【０２００】
さらに、負荷Ｍ１，Ｍ２は、「複数の負荷素子」を構成し、負荷Ｍ１，Ｍ２の全体は、「負荷」を構成する。
【０２０１】
さらに、電圧検出回路２４４〜２４７は、スイッチング回路の出力を検出する「検出回路」を構成する。
【０２０２】
さらに、上記においては、負荷は２個であり、その２個の負荷Ｍ１，Ｍ２に対応して２つのチャンネル回路２４１，２４２が設けられると説明したが、この発明においては、これに限らず、一般的に、複数の負荷に対応して複数のチャンネル回路を設けてもよい。
【０２０３】
さらに、安全出力回路２４のスイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂ，Ｓ３ａ，Ｓ３ｂ，Ｓ４ａ，Ｓ４ｂがリレーからなるとき、ＣＰＵ２２は、負荷Ｍ１，Ｍ２が反応しない期間よりも長い期間を設定して信号Ｓ１，Ｓ２，Ｓ３，Ｓ４を安全出力回路２４へ出力し、安全出力回路２４の導通機能および遮断機能を診断する。負荷Ｍ１，Ｍ２が反応しない程度の短いオフ期間を有する信号Ｓ１，Ｓ２，Ｓ３，Ｓ４を用いて安全出力回路２４を診断した場合、リレーが振動し、接点の寿命が短くなる虞があるからである。
【０２０４】
上述したように、セーフティコントローラー２０においては、安全出力回路２４のチャンネル回路２４１，２４２の各々において図６に示すフローチャートに従ってチャンネル回路２４１，２４２の導通機能および遮断機能が負荷Ｍ１，Ｍ２にパルス出力を与えずに診断される。したがって、セーフティコントローラー２０は、直流負荷のみならず交流負荷も安全出力を出力する対象にできる。
【０２０５】
また、負荷が反応しない程度に短いオフ期間を有する診断パルスを出力に用いなくてもチャンネル回路２４１，２４２の導通機能および遮断機能を診断できる。その結果、負荷への要求事項をなくすことができ、診断パルスによる負荷への悪影響を考慮する必要がなくなる。
【０２０６】
さらに、スイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂ，Ｓ３ａ，Ｓ３ｂ，Ｓ４ａ，Ｓ４ｂにリレーを用いた安全出力回路においても、負荷Ｍ１，Ｍ２への出力をオンしたままチャンネル回路２４１，２４２の導通機能および遮断機能を診断できる。その結果、出力が長時間オンし続ける用途であっても診断機能の低下を防止できる。
【０２０７】
さらに、本発明は、スイッチング素子Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂ，Ｓ３ａ，Ｓ３ｂ，Ｓ４ａ，Ｓ４ｂの出力を検出して安全出力回路２４の導通機能および遮断機能を診断しているので、リレーを用いた安全出力回路において通常のリレーを使用できる。
【０２０８】
［実施の形態２］
図１２を参照して、実施の形態２によるセーフティコントローラーを用いた制御システム１０１は、制御システム１００のセーフティコントローラー２０をセーフティコントローラー２０Ａに代えたものであり、その他は、制御システム１００と同じである。
【０２０９】
セーフティコントローラー２０Ａは、セーフティコントローラー２０の安全出力回路２４を安全出力回路２４Ａに代えたものであり、その他は、セーフティコントローラー２０と同じである。
【０２１０】
図１３は、図１２に示す安全出力回路２４Ａの構成図を示す。図１３を参照して、安全出力回路２４Ａは、チャンネル回路２４１Ａ，２４２Ａと、電流検出回路２４３Ａとを含む。
【０２１１】
チャンネル回路２４１Ａは、負荷Ｍ１に対応して設けられ、チャンネル回路２４２Ａは、負荷Ｍ２に対応して設けられる。そして、チャンネル回路２４１Ａおよび負荷Ｍ１は、電源ライン２とアースライン３との間にチャンネル回路２４２Ａおよび負荷Ｍ２に並列に接続される。
【０２１２】
電流検出回路２４３Ａは、交流電源１Ａから供給される電源電流ＩＡＣを検出し、その検出した電源電流ＩＡＣの電流レベルに応じた論理レベルを有する検出信号ＭＯＮＥ２をＣＰＵ２２へ出力する。より具体的には、電流検出回路２４３Ａは、電源電流ＩＡＣが基準値ＩＳＴＤ１以上のとき、Ｈレベルの検出信号ＭＯＮＥ２をＣＰＵ２２へ出力し、電源電流ＩＡＣが基準値ＩＳＴＤ１よりも低いとき、Ｌレベルの検出信号ＭＯＮＥ２をＣＰＵ２２へ出力する。交流電源１Ａに代えて直流電源１Ｂが用いられた場合も、電流検出回路２４３Ａは、同様にして電源電流ＩＤＣを検出し、その検出した電源電流ＩＤＣが基準値ＩＳＴＤ１以上であるか否かによってＨレベルまたはＬレベルの論理レベルを有する検出信号ＭＯＮＥ２をＣＰＵ２２へ出力する。したがって、電流検出回路２４３Ａは、電源（交流電源１Ａまたは直流電源１Ｂ）から供給される電源電流ＩＡＣまたはＩＤＣが基準値ＩＳＴＤ１以上であるか否かを監視する機能を果たす。
【０２１３】
チャンネル回路２４１Ａは、スイッチング素子Ｓ１ａ，Ｓ２ａと、電流検出回路２４４Ａ，２４５Ａとを含む。スイッチング素子Ｓ１ａおよび電流検出回路２４４Ａは、電源ライン２とノードＮ７との間に直列に接続される。そして、スイッチング素子Ｓ１ａが電源ライン２側に配置され、電流検出回路２４４ＡがノードＮ７側に配置される。
【０２１４】
スイッチング素子Ｓ２ａおよび電流検出回路２４５Ａは、電源ライン２とノードＮ７との間に直列に接続される。そして、スイッチング素子Ｓ２ａが電源ライン２側に配置され、電流検出回路２４５ＡがノードＮ７側に配置される。
【０２１５】
スイッチング素子Ｓ１ａおよび電流検出回路２４４Ａは、電源ライン２とノードＮ７との間にスイッチング素子Ｓ２ａおよび電流検出回路２４５Ａに並列に接続される。
【０２１６】
電流検出回路２４４Ａは、スイッチング素子Ｓ１ａから出力される電流Ｉ１を検出し、その検出した電流Ｉ１の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。より具体的には、電流検出回路２４４Ａは、電流Ｉ１を基準値ＩＳＴＤ２と比較する。そして、電流検出回路２４４Ａは、電流Ｉ１が基準値ＩＳＴＤ２以上であるとき、Ｈレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力し、電流Ｉ１が基準値ＩＳＴＤ２よりも低いとき、Ｌレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。
【０２１７】
電流検出回路２４５Ａは、スイッチング素子Ｓ２ａから出力される電流Ｉ２を検出し、その検出した電流Ｉ２の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。より具体的には、電流検出回路２４５Ａは、電流Ｉ２を基準値ＩＳＴＤ２と比較する。そして、電流検出回路２４５Ａは、電流Ｉ２が基準値ＩＳＴＤ２以上であるとき、Ｈレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力し、電流Ｉ２が基準値ＩＳＴＤ２よりも低いとき、Ｌレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。
【０２１８】
スイッチング素子Ｓ１ａは、ＣＰＵ２２からＨレベルの信号Ｓ１を受けるとオンされ、交流電源１Ａから供給された電源電流ＩＡＣを電流検出回路２４４ＡおよびノードＮ７を介して負荷Ｍ１へ供給する。そして、電流検出回路２４４Ａは、スイッチング素子Ｓ１ａからの電流Ｉ１（＝ＩＡＣ）を検出してＨレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。また、スイッチング素子Ｓ１ａは、ＣＰＵ２２からＬレベルの信号Ｓ１を受けるとオフされ、交流電源１Ａから供給された電源電流ＩＡＣを負荷Ｍ１へ供給しない。そして、電流検出回路２４４Ａは、スイッチング素子Ｓ１ａからの電流Ｉ１（＝０Ｖ）を検出してＬレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。
【０２１９】
スイッチング素子Ｓ２ａは、ＣＰＵ２２からＨレベルの信号Ｓ２を受けるとオンされ、交流電源１Ａから供給された電源電流ＩＡＣを電流検出回路２４５ＡおよびノードＮ７を介して負荷Ｍ１へ供給する。そして、電流検出回路２４５Ａは、スイッチング素子Ｓ２ａからの電流Ｉ２（＝ＩＡＣ）を検出してＨレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。また、スイッチング素子Ｓ２ａは、ＣＰＵ２２からＬレベルの信号Ｓ２を受けるとオフされ、交流電源１Ａから供給された電源電流ＩＡＣを負荷Ｍ１へ供給しない。そして、電流検出回路２４５Ａは、スイッチング素子Ｓ２ａからの電流Ｉ２（＝０Ｖ）を検出してＬレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。
【０２２０】
このように、チャンネル回路２４１Ａは、ＣＰＵ２２からの信号Ｓ１，Ｓ２の論理レベルに応じて交流電源１Ａからの電源電流ＩＡＣを負荷Ｍ１へ供給し、または電源電流ＩＡＣの負荷Ｍ１への供給を停止する。
【０２２１】
チャンネル回路２４２Ａは、スイッチング素子Ｓ３ａ，Ｓ４ａと、電流検出回路２４６Ａ，２４７Ａとを含む。スイッチング素子Ｓ３ａおよび電流検出回路２４６Ａは、電源ライン２とノードＮ８との間に直列に接続される。そして、スイッチング素子Ｓ３ａが電源ライン２側に配置され、電流検出回路２４６ＡがノードＮ８側に配置される。
【０２２２】
スイッチング素子Ｓ４ａおよび電流検出回路２４７Ａは、電源ライン２とノードＮ８との間に直列に接続される。そして、スイッチング素子Ｓ４ａが電源ライン２側に配置され、電流検出回路２４７ＡがノードＮ８側に配置される。
【０２２３】
そして、スイッチング素子Ｓ３ａおよび電流検出回路２４６Ａは、電源ライン２とノードＮ８との間にスイッチング素子Ｓ４ａおよび電流検出回路２４７Ａに並列に接続される。
【０２２４】
電流検出回路２４６Ａは、スイッチング素子Ｓ３ａから出力される電流Ｉ３を検出し、その検出した電流Ｉ３の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＣ２をＣＰＵ２２へ出力する。より具体的には、電流検出回路２４６Ａは、電流Ｉ３を基準値ＩＳＴＤ３と比較する。そして、電流検出回路２４６Ａは、電流Ｉ３が基準値ＩＳＴＤ３以上であるとき、Ｈレベルの検出信号ＭＯＮＣ２をＣＰＵ２２へ出力し、電流Ｉ３が基準値ＩＳＴＤ３よりも低いとき、Ｌレベルの検出信号ＭＯＮＣ２をＣＰＵ２２へ出力する。
【０２２５】
電流検出回路２４７Ａは、スイッチング素子Ｓ４ａから出力される電流Ｉ４を検出し、その検出した電流Ｉ４の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＤ２をＣＰＵ２２へ出力する。より具体的には、電流検出回路２４７Ａは、電流Ｉ４を基準値ＩＳＴＤ３と比較する。そして、電流検出回路２４７Ａは、電流Ｉ４が基準値ＩＳＴＤ３以上であるとき、Ｈレベルの検出信号ＭＯＮＤ２をＣＰＵ２２へ出力し、電流Ｉ４が基準値ＩＳＴＤ３よりも低いとき、Ｌレベルの検出信号ＭＯＮＤ２をＣＰＵ２２へ出力する。
【０２２６】
スイッチング素子Ｓ３ａは、ＣＰＵ２２からＨレベルの信号Ｓ３を受けるとオンされ、交流電源１Ａから供給された電源電流ＩＡＣを電流検出回路２４６ＡおよびノードＮ８を介して負荷Ｍ２へ供給する。そして、電流検出回路２４６Ａは、スイッチング素子Ｓ３ａからの電流Ｉ３（＝ＩＡＣ）を検出してＨレベルの検出信号ＭＯＮＣ２をＣＰＵ２２へ出力する。また、スイッチング素子Ｓ３ａは、ＣＰＵ２２からＬレベルの信号Ｓ３を受けるとオフされ、交流電源１Ａから供給された電源電流ＩＡＣを負荷Ｍ１へ供給しない。そして、電流検出回路２４６Ａは、スイッチング素子Ｓ３ａからの電流Ｉ３（＝０Ｖ）を検出してＬレベルの検出信号ＭＯＮＣ２をＣＰＵ２２へ出力する。
【０２２７】
スイッチング素子Ｓ４ａは、ＣＰＵ２２からＨレベルの信号Ｓ４を受けるとオンされ、交流電源１Ａから供給された電源電流ＩＡＣを電流検出回路２４７ＡおよびノードＮ８を介して負荷Ｍ２へ供給する。そして、電流検出回路２４７Ａは、スイッチング素子Ｓ４ａからの電流Ｉ４（＝ＩＡＣ）を検出してＨレベルの検出信号ＭＯＮＤ２をＣＰＵ２２へ出力する。また、スイッチング素子Ｓ４ａは、ＣＰＵ２２からＬレベルの信号Ｓ４を受けるとオフされ、交流電源１Ａから供給された電源電流ＩＡＣを負荷Ｍ２へ供給しない。そして、電流検出回路２４７Ａは、スイッチング素子Ｓ４ａからの電流Ｉ４（＝０Ｖ）を検出してＬレベルの検出信号ＭＯＮＤ２をＣＰＵ２２へ出力する。
【０２２８】
このように、チャンネル回路２４２Ａは、ＣＰＵ２２からの信号Ｓ３，Ｓ４の論理レベルに応じて交流電源１Ａからの電源電流ＩＡＣを負荷Ｍ２へ供給し、または電源電流ＩＡＣの負荷Ｍ２への供給を停止する。
【０２２９】
なお、基準値ＩＳＴＤ２は、負荷Ｍ１がオンする最低の電流値に設定され、基準値ＩＳＴＤ３は、負荷Ｍ２がオンする最低の電流値に設定される。そして、負荷Ｍ１が負荷Ｍ２と同じ負荷であれば、基準値ＩＳＴＤ２は、基準値ＩＳＴＤ３と同じ値に設定されてもよい。
【０２３０】
このように、安全出力回路２４Ａは、負荷Ｍ１，Ｍ２の個数と同じ個数のチャンネル回路２４１Ａ，２４２Ａを含み、負荷Ｍ１，Ｍ２に対応して設けられたチャンネル回路２４１Ａ，２４２Ａにより負荷Ｍ１，Ｍ２を導通／遮断する。
【０２３１】
図１４は、安全出力回路２４Ａが負荷Ｍ１，Ｍ２を導通する導通機能および安全出力回路２４Ａが負荷Ｍ１，Ｍ２を遮断する遮断機能をＣＰＵ２２によって診断するためのフローチャートを示す。なお、図１４は、図１３に示すチャンネル回路２４１Ａを診断する動作について説明するが、チャンネル回路２４２Ａの診断についても同様の動作によって行なわれる。
【０２３２】
一連の動作が開始されると、ＣＰＵ２２は、安全出力制御が行なわれているか否か、すなわち、安全出力制御がオンかオフかを判定する（ステップＳ３１）。この場合、ＣＰＵ２２は、電源が投入され、セーフティコントローラー２０Ａが初期化されているか否かにより安全出力制御がオンされているかオフされているかを判定する。
【０２３３】
そして、ステップＳ３１において、安全出力制御がオフされている場合、ＣＰＵ２２は、スイッチング素子Ｓ１ａ，Ｓ２ａをオフするためのＬレベルの信号Ｓ１およびＳ２を安全出力回路２４Ａのチャンネル回路２４１Ａへ出力する。そうすると、スイッチング素子Ｓ１ａは、Ｌレベルの信号Ｓ１に応じてオフされ、スイッチング素子Ｓ２ａは、Ｌレベルの信号Ｓ２に応じてオフされる（ステップＳ３２）。
【０２３４】
電流検出回路２４４Ａは、スイッチング素子Ｓ１ａから出力される電流Ｉ１を検出し、その検出した電流Ｉ１の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。この場合、電流検出回路２４４Ａは、スイッチング素子Ｓ１ａが正常であればＬレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力し、スイッチング素子Ｓ１ａが短絡により故障していればＨレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。
【０２３５】
また、電流検出回路２４５Ａは、スイッチング素子Ｓ２ａから出力される電流Ｉ２を検出し、その検出した電流Ｉ２の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。この場合、電流検出回路２４５Ａは、スイッチング素子Ｓ２ａが正常であればＬレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力し、スイッチング素子Ｓ２ａが短絡により故障していればＨレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。
【０２３６】
ＣＰＵ２２は、検出信号ＭＯＮＡ２の論理レベルがＬレベルであるか否かを判定し（ステップＳ３３）、検出信号ＭＯＮＡ２の論理レベルがＬレベルでないと判定したとき、スイッチング素子Ｓ１ａが故障していると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１Ａが負荷Ｍ１を遮断する遮断機能を維持していないと診断する。そして、セーフティコントローラー２０Ａは、ロックアウト状態へ移行する（ステップＳ３５）。
【０２３７】
一方、ＣＰＵ２２は、ステップＳ３３において検出信号ＭＯＮＡ２の論理レベルがＬレベルであると判定したとき、さらに、検出信号ＭＯＮＢ２の論理レベルがＬレベルであるか否かを判定する（ステップＳ３４）。そして、ＣＰＵ２２は、ステップＳ３４において、検出信号ＭＯＮＢ２の論理レベルがＬレベルでないと判定したとき、スイッチング素子Ｓ２ａが故障していると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１Ａが遮断機能を維持していないと診断する。そして、セーフティコントローラー２０Ａは、ロックアウト状態へ移行する（ステップＳ３５）。
【０２３８】
一方、ＣＰＵ２２は、ステップＳ３４において検出信号ＭＯＮＢ２の論理レベルがＬレベルであると判定したとき、スイッチング素子Ｓ１ａ，Ｓ２ａが正常であると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１Ａが遮断機能を維持していると診断する。そして、一連の動作はステップＳ３１へ移行する。
【０２３９】
ＣＰＵ２２は、ステップＳ３１において安全出力制御がオンされていると判定すると、スイッチング素子Ｓ１ａをオンするためのＨレベルの信号Ｓ１とスイッチング素子Ｓ２ａをオフするためのＬレベルの信号Ｓ２とを安全出力回路２４Ａのチャンネル回路２４１Ａへ出力する。
【０２４０】
そうすると、スイッチング素子Ｓ１ａは、Ｈレベルの信号Ｓ１に応じてオンされ、スイッチング素子Ｓ２ａは、Ｌレベルの信号Ｓ２に応じてオフされる（ステップＳ３６）。電流検出回路２４４Ａは、スイッチング素子Ｓ１ａから出力される電流Ｉ１を検出し、その検出した電流Ｉ１の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。また、電流検出回路２４５Ａは、スイッチング素子Ｓ２ａから出力される電流Ｉ２を検出し、その検出した電流Ｉ２の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。
【０２４１】
この場合、電流検出回路２４４Ａは、スイッチング素子Ｓ１ａが正常であれば、Ｈレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力し、スイッチング素子Ｓ１ａが開放により故障していれば、Ｌレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。また、電流検出回路２４５Ａは、スイッチング素子Ｓ２ａが正常であれば、Ｌレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力し、スイッチング素子Ｓ２ａが短絡により故障していれば、Ｈレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。
【０２４２】
電流検出回路２４３Ａは、交流電源１Ａから供給される電源電流ＩＡＣを検出し、その検出した電源電流ＩＡＣの電圧レベルに応じた論理レベルを有する検出信号ＭＯＮＥ２をＣＰＵ２２へ出力する。
【０２４３】
ＣＰＵ２２は、検出信号ＭＯＮＡ２の論理レベルがＨレベルであるか否かを判定し（ステップＳ３７）、検出信号ＭＯＮＡ２の論理レベルがＨレベルでないと判定したとき、さらに、検出信号ＭＯＮＥ２の論理レベルがＬレベルであるか否かを判定する（ステップＳ３８）。検出信号ＭＯＮＡ２の論理レベルがＨレベルでないとき、検出信号ＭＯＮＡ２の論理レベルが期待した論理レベルと異なることになるが、その原因としては、スイッチング素子Ｓ１ａが故障によりオンしていないことと交流電源１Ａが電源電流ＩＡＣを供給していないこととが想定される。したがって、ステップＳ３７において検出信号ＭＯＮＡ２の論理レベルがＨレベルでないと判定された原因がスイッチング素子Ｓ１ａの故障および交流電源１Ａの故障のいずれであるかを診断するために、ステップＳ３８において検出信号ＭＯＮＥ２の論理レベルがＬレベルであるか否かを判定することにしたものである。
【０２４４】
ＣＰＵ２２は、ステップＳ３８において検出信号ＭＯＮＥ２の論理レベルがＬレベルでないと判定すると、スイッチング素子Ｓ１ａが故障していると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１Ａが導通機能を維持していないと診断する。そして、セーフティコントローラー２０Ａは、ロックアウト状態へ移行する（ステップＳ３５）。
【０２４５】
一方、ＣＰＵ２２は、ステップＳ３７において検出信号ＭＯＮＡ２の論理レベルがＨレベルであると判定したとき、またはステップＳ３８において検出信号ＭＯＮＥ２の論理レベルがＬレベルであると判定したとき、検出信号ＭＯＮＢ２の論理レベルがＬレベルであるか否かを判定する（ステップＳ３９）。そして、ＣＰＵ２２は、検出信号ＭＯＮＢ２の論理レベルがＬレベルでないと判定したとき、スイッチング素子Ｓ２ａが故障していると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１Ａが遮断機能を維持していないと診断する。そして、セーフティコントローラー２０Ａは、ロックアウト状態へ移行する（ステップＳ３５）。
【０２４６】
一方、ＣＰＵ２２は、ステップＳ３９において検出信号ＭＯＮＢ２の論理レベルがＬであると判定したとき、スイッチング素子Ｓ１ａをオンするためのＨレベルの信号Ｓ１とスイッチング素子Ｓ２ａをオンするためのＨレベルの信号Ｓ２とを安全出力回路２４Ａのチャンネル回路２４１Ａへ出力する。
【０２４７】
そうすると、スイッチング素子Ｓ１ａは、Ｈレベルの信号Ｓ１に応じてオンされ、スイッチング素子Ｓ２ａは、Ｈレベルの信号Ｓ２に応じてオンされる（ステップＳ４０）。
【０２４８】
ステップＳ３７において検出信号ＭＯＮＡ２の論理レベルがＨレベルであると判定されることおよびステップＳ３８において検出信号ＭＯＮＥ２の論理レベルがＬレベルであると判定されることは、スイッチング素子Ｓ１ａが正常であることを意味する。したがって、一連の動作がステップＳ３９へ移行することは、スイッチング素子Ｓ１ａが導通機能を維持しているとＣＰＵ２２が診断することに相当する。また、ステップＳ３９において検出信号ＭＯＮＢ２がＬレベルであると判定されることは、スイッチング素子Ｓ２ａが正常であることを意味する。したがって、一連の動作がステップＳ４０へ移行することは、スイッチング素子Ｓ１ａが導通機能を維持し、かつ、スイッチング素子Ｓ２ａが遮断機能を維持しているとＣＰＵ２２が診断することに相当する。
【０２４９】
ステップＳ４０においてスイッチング素子Ｓ１ａ，Ｓ２ａがオンされると、電流検出回路２４４Ａは、スイッチング素子Ｓ１ａから出力される電流Ｉ１を検出し、その検出した電流Ｉ１の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。この場合、電流検出回路２４４Ａは、スイッチング素子Ｓ１ａが正常であれば、Ｈレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力し、スイッチング素子Ｓ１ａが開放により故障していれば、Ｌレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。
【０２５０】
また、電流検出回路２４５Ａは、スイッチング素子Ｓ２ａから出力される電流Ｉ２を検出し、その検出した電流Ｉ２の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。この場合、電流検出回路２４５Ａは、スイッチング素子Ｓ２ａが正常であれば、Ｈレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力し、スイッチング素子Ｓ２ａが開放により故障していれば、Ｌレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。
【０２５１】
ＣＰＵ２２は、検出信号ＭＯＮＡ２の論理レベルがＨレベルであるか否かを判定し（ステップＳ４１）、検出信号ＭＯＮＡ２の論理レベルがＨレベルでないと判定すると、さらに、検出信号ＭＯＮＥ２がＬレベルであるか否かを判定する（ステップＳ４２）。そして、ＣＰＵ２２は、検出信号ＭＯＮＥ２の論理レベルがＬレベルでないと判定したとき、スイッチング素子Ｓ１ａが故障していると診断する。そして、セーフティコントローラー２０Ａは、ロックアウト状態へ移行する（ステップＳ３５）。
【０２５２】
一方、ＣＰＵ２２は、ステップＳ４２において検出信号ＭＯＮＥ２がＬレベルであると判定したとき、スイッチング素子Ｓ１ａが導通機能を維持していると診断する。そして、一連の動作はステップＳ４３へ移行する。
【０２５３】
なお、ステップＳ４１において検出信号ＭＯＮＡ２の論理レベルがＨレベルでないと判定されたとき、検出信号ＭＯＮＥ２の論理レベルを判定することにした理由は、ステップＳ３７において検出信号ＭＯＮＡ２の論理レベルがＨレベルでないと判定されたときに検出信号ＭＯＮＥ２の論理レベルを判定することにした理由と同じである。
【０２５４】
ＣＰＵ２２は、ステップＳ４１において検出信号ＭＯＮＡ２の論理レベルがＨレベルであると判定したとき、スイッチング素子Ｓ１ａが導通機能を維持していると診断する。そして、ステップＳ４１において検出信号ＭＯＮＡ２の論理レベルがＨレベルであると判定されたとき、またはステップＳ４２において検出信号ＭＯＮＥ２の論理レベルがＬレベルであると判定されたとき、ＣＰＵ２２は、検出信号ＭＯＮＢ２の論理レベルがＨレベルであるか否かを判定する（ステップＳ４３）。ＣＰＵ２２は、検出信号ＭＯＮＢ２の論理レベルがＨレベルでないと判定したとき、スイッチング素子Ｓ２ａが故障していると診断する。そして、セーフティコントローラー２０Ａは、ロックアウト状態へ移行する（ステップＳ３５）。
【０２５５】
一方、ステップＳ４３において検出信号ＭＯＮＢ２の論理レベルがＨレベルであると判定されたとき、ＣＰＵ２２は、スイッチング素子Ｓ１ａをオフするためのＬレベルの信号Ｓ１とスイッチング素子Ｓ２ａをオンするためのＨレベルの信号Ｓ２とを安全出力回路２４Ａのチャンネル回路２４１Ａへ出力する。
【０２５６】
そうすると、スイッチング素子Ｓ１ａは、Ｌレベルの信号Ｓ１に応じてオフされ、スイッチング素子Ｓ２ａは、Ｈレベルの信号Ｓ２に応じてオンされる（ステップＳ４４）。
【０２５７】
ステップＳ４１において検出信号ＭＯＮＡ２の論理レベルがＨレベルであると判定されることおよびステップＳ４２において検出信号ＭＯＮＥ２の論理レベルがＬレベルであると判定されることは、スイッチング素子Ｓ１ａが正常であることを意味する。したがって、一連の動作がステップＳ４３へ移行することは、スイッチング素子Ｓ１ａが導通機能を維持しているとＣＰＵ２２が診断することに相当する。また、ステップＳ４３において検出信号ＭＯＮＢ２の論理レベルがＨレベルであると判定されることは、スイッチング素子Ｓ２ａが正常であることを意味する。したがって、一連の動作がステップＳ４４へ移行することは、スイッチング素子Ｓ１ａ，Ｓ２ａが導通機能を維持しているとＣＰＵ２２が診断することに相当する。
【０２５８】
ステップＳ４４においてスイッチング素子Ｓ１ａがオフされ、スイッチング素子Ｓ２ａがオンされると、電流検出回路２４４Ａは、スイッチング素子Ｓ１ａから出力される電流Ｉ１を検出し、その検出した電流Ｉ１の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。この場合、電流検出回路２４４Ａは、スイッチング素子Ｓ１ａが正常であればＬレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力し、スイッチング素子Ｓ１ａが短絡により故障していればＨレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。
【０２５９】
また、電流検出回路２４５Ａは、スイッチング素子Ｓ２ａから出力される電流Ｉ２を検出し、その検出した電流Ｉ２の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。この場合、電流検出回路２４５Ａは、スイッチング素子Ｓ２ａが正常であればＨレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力し、スイッチング素子Ｓ２ａが開放により故障していればＬレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。
【０２６０】
そして、ＣＰＵ２２は、検出信号ＭＯＮＡ２の論理レベルがＬレベルであるか否かを判定し（ステップＳ４５）、検出信号ＭＯＮＡ２の論理レベルがＬレベルでないと判定すると、さらに、検出信号ＭＯＮＥ２の論理レベルがＬレベルであるか否かを判定する（ステップＳ４６）。ステップＳ４６において検出信号ＭＯＮＥ２の論理レベルがＬレベルでないと判定されると、ＣＰＵ２２は、スイッチング素子Ｓ１ａが故障していると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１Ａが遮断機能を維持していないと診断する。そして、セーフティコントローラー２０Ａは、ロックアウト状態へ移行する（ステップＳ３５）。
【０２６１】
一方、ステップＳ４６において検出信号ＭＯＮＥ２の論理レベルがＬレベルであると判定されると、ＣＰＵ２２は、スイッチング素子Ｓ１ａが正常であると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１Ａが遮断機能を維持していると診断する。そして、一連の動作がステップＳ４７へ移行する。
【０２６２】
なお、ステップＳ４５において検出信号ＭＯＮＡ２の論理レベルがＬレベルでないと判定されたとき、検出信号ＭＯＮＥ２の論理レベルを判定することにした理由は、ステップＳ３７において検出信号ＭＯＮＡ２の論理レベルがＨレベルでないと判定されたときに検出信号ＭＯＮＥ２の論理レベルを判定することにした理由と同じである。
【０２６３】
ＣＰＵ２２は、ステップＳ４５において検出信号ＭＯＮＡ２の論理レベルがＬレベルであると判定したとき、スイッチング素子Ｓ１ａが遮断機能を維持していると診断する。そして、ステップＳ４５において検出信号ＭＯＮＡ２の論理レベルがＬレベルであると判定されたとき、またはステップＳ４６において検出信号ＭＯＮＥ２の論理レベルがＬレベルであると判定されたとき、ＣＰＵ２２は、検出信号ＭＯＮＢ２の論理レベルがＨレベルであるか否かを判定する（ステップＳ４７）。そして、ＣＰＵ２２は、検出信号ＭＯＮＢ２の論理レベルがＨレベルでないと判定したとき、スイッチング素子Ｓ２ａが故障していると診断する。つまり、ＣＰＵ２２は、チャンネル回路２４１Ａが導通機能を維持していないと診断する。そして、セーフティコントローラー２０Ａは、ロックアウト状態へ移行する（ステップＳ３５）。
【０２６４】
一方、ステップＳ４７において検出信号ＭＯＮＢ２の論理レベルがＨレベルであると判定されたとき、ＣＰＵ２２は、スイッチング素子Ｓ１ａをオンするためのＨレベルの信号Ｓ１とスイッチング素子Ｓ２ａをオンするためのＨレベルの信号Ｓ２とを安全出力回路２４Ａのチャンネル回路２４１Ａへ出力する。
【０２６５】
そうすると、スイッチング素子Ｓ１ａは、Ｈレベルの信号Ｓ１に応じてオンされ、スイッチング素子Ｓ２ａは、Ｈレベルの信号Ｓ２に応じてオンされる（ステップＳ４８）。
【０２６６】
ステップＳ４５において検出信号ＭＯＮＡ２がＬレベルであると判定されることおよびステップＳ４６において検出信号ＭＯＮＥ２がＬレベルであると判定されることは、スイッチング素子Ｓ１ａが正常であることを意味する。したがって、一連の動作がステップＳ４７へ移行することは、スイッチング素子Ｓ１ａが遮断機能を維持しているとＣＰＵ２２が診断することに相当する。また、ステップＳ４７において検出信号ＭＯＮＢ２がＨレベルであると判定されることは、スイッチング素子Ｓ２ａが正常であることを意味する。したがって、一連の動作がステップＳ４８へ移行することは、スイッチング素子Ｓ１ａが遮断機能を維持し、かつ、スイッチング素子Ｓ２ａが導通機能を維持しているとＣＰＵ２２が診断することに相当する。
【０２６７】
ステップＳ４８においてスイッチング素子Ｓ１ａ，Ｓ２ａがオンされると、電流検出回路２４４Ａは、スイッチング素子Ｓ１ａから出力される電流Ｉ１を検出し、その検出した電流Ｉ１の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。この場合、電流検出回路２４４Ａは、スイッチング素子Ｓ１ａが正常であればＨレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力し、スイッチング素子Ｓ１ａが開放により故障していればＬレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。
【０２６８】
また、電流検出回路２４５Ａは、スイッチング素子Ｓ２ａから出力される電流Ｉ２を検出し、その検出した電流Ｉ２の電流レベルに応じた論理レベルを有する検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。この場合、電流検出回路２４５Ａは、スイッチング素子Ｓ２ａが正常であればＨレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力し、スイッチング素子Ｓ２ａが開放により故障していればＬレベルの検出信号ＭＯＮＢ２をＣＰＵ２２へ出力する。
【０２６９】
そして、ＣＰＵ２２は、検出信号ＭＯＮＡ２の論理レベルがＨレベルであるか否かを判定し（ステップＳ４９）、検出信号ＭＯＮＡ２の論理レベルがＨレベルでないと判定すると、さらに、検出信号ＭＯＮＥ２の論理レベルがＬレベルであるか否かを判定する（ステップＳ５０）。ステップＳ５０において検出信号ＭＯＮＥ２の論理レベルがＬレベルでないと判定されると、ＣＰＵ２２は、スイッチング素子Ｓ１ａが故障していると診断する。そして、セーフティコントローラー２０Ａは、ロックアウト状態へ移行する（ステップＳ３５）。
【０２７０】
一方、ステップＳ５０において検出信号ＭＯＮＥ２の論理レベルがＬレベルであると判定されると、ＣＰＵ２２は、スイッチング素子Ｓ１ａが正常であると診断する。そして、一連の動作がステップＳ５１へ移行する。
【０２７１】
なお、ステップＳ４９において検出信号ＭＯＮＡ２の論理レベルがＨレベルでないと判定されたとき、検出信号ＭＯＮＥ２の論理レベルを判定することにした理由は、ステップＳ３７において検出信号ＭＯＮＡ２の論理レベルがＨレベルでないと判定されたときに検出信号ＭＯＮＥ２の論理レベルを判定することにした理由と同じである。
【０２７２】
ＣＰＵ２２は、ステップＳ４９において検出信号ＭＯＮＡ２の論理レベルがＨレベルであると判定したとき、スイッチング素子Ｓ１ａが導通機能を維持していると診断する。そして、ステップＳ４９において検出信号ＭＯＮＡ２の論理レベルがＨレベルであると判定されたとき、またはステップＳ５０において検出信号ＭＯＮＥ２の論理レベルがＬレベルであると判定されたとき、ＣＰＵ２２は、検出信号ＭＯＮＢ２の論理レベルがＨレベルであるか否かを判定する（ステップＳ５１）。そして、ＣＰＵ２２は、検出信号ＭＯＮＢ２の論理レベルがＨレベルでないと判定したとき、スイッチング素子Ｓ２ａが故障していると診断する。そして、セーフティコントローラー２０Ａは、ロックアウト状態へ移行する（ステップＳ３５）。
【０２７３】
一方、ステップＳ５１において検出信号ＭＯＮＢ２の論理レベルがＨレベルであると判定されたとき、ＣＰＵ２２は、スイッチング素子Ｓ１ａ，Ｓ２ａが導通機能を維持していると診断する。そして、一連の動作はステップＳ３１へ戻る。そして、上述したステップＳ３１〜ステップＳ５１が繰返し実行される。
【０２７４】
ステップＳ３６〜ステップＳ４３の経路は、スイッチング素子Ｓ１ａをオンしたまま、スイッチング素子Ｓ２ａをオン／オフしてスイッチング素子Ｓ１ａ，Ｓ２ａを診断する経路である。つまり、ステップＳ３６〜ステップＳ４３の経路は、スイッチング素子Ｓ１ａにより電源電流ＩＡＣを供給して負荷Ｍ１を導通させたまま、スイッチング素子Ｓ２ａの導通機能および遮断機能を診断する経路である。
【０２７５】
また、ステップＳ４４〜ステップＳ５１の経路は、スイッチング素子Ｓ２ａをオンしたまま、スイッチング素子Ｓ１ａをオン／オフしてスイッチング素子Ｓ１ａ，Ｓ２ａを診断する経路である。つまり、ステップＳ４４〜ステップＳ５１の経路は、スイッチング素子Ｓ２ａにより電源電流ＩＡＣを供給して負荷Ｍ１を導通させたまま、スイッチング素子Ｓ１ａの導通機能および遮断機能を診断する経路である。
【０２７６】
したがって、この発明は、スイッチング素子Ｓ１ａおよびスイッチング素子Ｓ２ａのいずれか一方により負荷Ｍ１を導通させたまま、スイッチング素子Ｓ１ａおよびスイッチング素子Ｓ２ａのいずれか他方の導通機能および遮断機能を診断することを特徴とする。
【０２７７】
この場合、スイッチング素子Ｓ１ａ（またはＳ２ａ）により電源電流ＩＡＣを負荷Ｍ１に供給したまま、スイッチング素子Ｓ２ａ（またはＳ１ａ）がオン／オフされるので、スイッチング素子Ｓ２ａ（またはＳ１ａ）がオン／オフされることによるパルス出力が負荷Ｍ１に与えられることはない。つまり、この発明は、スイッチング素子Ｓ１ａ（またはＳ２ａ）からのパルス出力を負荷Ｍ１に与えずにスイッチング素子Ｓ１ａ，Ｓ２ａを診断することを特徴とする。
【０２７８】
その結果、負荷Ｍ１は交流負荷および直流負荷のいずれであってもよく、この発明における安全出力回路２４Ａは、直流負荷のみならず、交流負荷にも対応することができる。
【０２７９】
図１５は、セーフティコントローラー２０Ａの正常動作時のタイムチャートを示す。図１５を参照して、期間Ｔ１において、セーフティコントローラー２０Ａは、非常停止状態（信号Ｅ−ｓｔｏｐがＨレベル）にあり、信号Ｓ１およびＳ２がＬレベルであり、交流電源１Ａが電源電流ＩＡＣの供給を停止している（信号ＰＯＷがＬレベル）。その結果、検出信号ＭＯＮＥ２がＬレベルであり、検出信号ＭＯＮＡ２およびＭＯＮＢ２がＬレベルであり、負荷Ｍ１の主出力ＭＭ１はＬレベルであり、負荷Ｍ１は遮断されている。
【０２８０】
期間Ｔ２において、交流電源１Ａが電源電流ＩＡＣを供給すると（信号ＰＯＷがＬレベルからＨレベルへ移行）、検出信号ＭＯＮＥ２がＨレベルになる。
【０２８１】
そして、期間Ｔ３において、非常停止が解除されると（信号Ｅ−ｓｔｏｐがＨレベルからＬレベルへ移行）、信号Ｓ１がＬレベルからＨレベルに変化する。そうすると、スイッチング素子Ｓ１ａがオンされ、スイッチング素子Ｓ１ａは、電源電流ＩＡＣを負荷Ｍ１に供給する。電流検出回路２４４Ａは、Ｈレベルの検出信号ＭＯＮＡ２をＣＰＵ２２へ出力する。そして、負荷Ｍ１は、電源電流ＩＡＣによりオンし、Ｈレベルの主出力ＭＭ１を出力する（装置へ供給される電源電流ＩＡＣからなる主出力ＭＭ１をＨレベルの主出力ＭＭ１と表わしたものである）。
【０２８２】
その後、期間Ｔ４において、信号Ｓ２がＬレベルからＨレベルに変化するとスイッチング素子Ｓ２ａがオンされる。この場合、スイッチング素子Ｓ１ａは、Ｈレベルの信号Ｓ１に応じて継続してオンされる。その結果、検出信号ＭＯＮＡ２およびＭＯＮＢ２が共にＨレベルとなり、負荷Ｍ１は、継続してオンしている。
【０２８３】
期間Ｔ５において、信号Ｓ１がＨレベルからＬレベルに変化すると、スイッチング素子Ｓ１ａがオフされ、検出信号ＭＯＮＡ２がＨレベルからＬレベルに変化する。しかし、信号Ｓ２はＨレベルを維持するので、スイッチング素子Ｓ２ａは継続してオンされる。その結果、負荷Ｍ１は、継続してオンしている。
【０２８４】
期間Ｔ６における動作は、期間Ｔ４における動作と同じである。期間Ｔ７において、信号Ｓ２がＨレベルからＬレベルに変化するとスイッチング素子Ｓ２ａがオフされる。そして、検出信号ＭＯＮＢ２がＨレベルからＬレベルに変化する。この場合、信号Ｓ１はＨレベルを維持しており、スイッチング素子Ｓ１ａは継続してオンしており、検出信号ＭＯＮＡ２はＨレベルを維持する。そして、負荷Ｍ１は、継続してオンしている。
【０２８５】
期間Ｔ８における動作は、期間Ｔ４における動作と同じである。期間Ｔ９において信号Ｓ１がＨレベルからＬレベルに変化すると、スイッチング素子Ｓ１ａがオフされる。そして、検出信号ＭＯＮＡ２がＨレベルからＬレベルに変化する。この場合、信号Ｓ２はＨレベルを維持しており、スイッチング素子Ｓ２ａは継続してオンしており、検出信号ＭＯＮＢ２はＨレベルを維持する。そして、負荷Ｍ１は、継続してオンしている。
【０２８６】
期間Ｔ１０において、信号Ｅ−ｓｔｏｐがＬレベルからＨレベルに変化し、非常停止状態になると、信号Ｓ１およびＳ２がＨレベルからＬレベルに変化する。そして、検出信号ＭＯＮＡ２およびＭＯＮＢ２はＨレベルからＬレベルに変化し、負荷Ｍ１はオフする。期間Ｔ１１において交流電源１Ａが電源電流ＩＡＣの供給を停止し（信号ＰＯＷがＨレベルからＬレベルに変化）、検出信号ＭＯＮＥ２がＨレベルからＬレベルに変化する。
【０２８７】
期間Ｔ１２において、信号Ｅ−ｓｔｏｐがＨレベルからＬレベルに変化し、非常停止が解除されるが、交流電源１Ａが電源電流ＩＡＣの供給を停止しているので、信号Ｓ１およびＳ２はＬレベルを維持しており、負荷Ｍ１は、継続してオフされる。
【０２８８】
信号Ｓ１は、期間Ｔ３およびＴ４においてＨレベルを維持しており、信号Ｓ２は、期間Ｔ３においてＬレベルであり、期間Ｔ４においてＨレベルである。したがって、この期間Ｔ３およびＴ４は、図１４に示すフローチャートのステップＳ３６〜Ｓ４３が実行される期間である。
【０２８９】
信号Ｓ２は、期間Ｔ５およびＴ６においてＨレベルを維持しており、信号Ｓ１は、期間Ｔ５においてＬレベルであり、期間Ｔ６においてＨレベルである。したがって、この期間Ｔ５およびＴ６は、図１４に示すフローチャートのステップＳ４４〜Ｓ５１が実行される期間である。
【０２９０】
そして、期間Ｔ７およびＴ８における動作は、期間Ｔ３およびＴ４における動作と同じであるので、期間Ｔ７および期間Ｔ８において、ステップＳ３６〜Ｓ４３が、再度、実行される。
【０２９１】
すなわち、安全出力制御がオンされていれば、図１４に示すステップＳ３６〜ステップＳ５１が繰返し実行される。
【０２９２】
図１６は、スイッチング素子Ｓ１ａが開放により故障したときのタイムチャートを示す。なお、図１６において点線は、正常動作時のタイムチャートを示す。図１６を参照して、期間Ｔ３およびＴ７において信号Ｓ１はＨレベルを維持しているにも拘わらず、検出信号ＭＯＮＡ２はＬレベルになっている。そして、期間Ｔ３およびＴ７において検出信号ＭＯＮＥ２はＨレベルを維持している。したがって、この期間Ｔ３またはＴ７における動作は、図１４に示すフローチャートのステップＳ３７において検出信号ＭＯＮＡ２がＨレベルでないと判定され、かつ、ステップＳ３８において検出信号ＭＯＮＥ２がＬレベルでないと判定された動作に相当する。その結果、スイッチング素子Ｓ１ａが開放により故障していると診断され、セーフティコントローラー２０Ａは、ロックアウト状態へ移行する。そして、セーフティコントローラー２０Ａがロックアウト状態に移行した段階で安全出力回路２４Ａは、全ての出力をオフ状態にするので、負荷Ｍ１，Ｍ２は遮断される。
【０２９３】
なお、期間Ｔ３においてスイッチング素子Ｓ１ａが故障していると診断されると、セーフティコントローラー２０Ａは、直ちにロックアウト状態に移行し、それ以後の再起動が禁止される。
【０２９４】
その他の動作は、図１５において説明した動作と同じである。
図１７は、スイッチング素子Ｓ１ａが短絡により故障したときのタイムチャートを示す。なお、図１７において点線は、正常動作時のタイムチャートを示す。図１７を参照して、期間Ｔ２，Ｔ５，Ｔ９，Ｔ１０において、信号Ｓ１がＬレベルを維持しているにも拘わらず、検出信号ＭＯＮＡ２がＨレベルを維持している。また、期間Ｔ２，Ｔ５，Ｔ９，Ｔ１０において検出信号ＭＯＮＥ２はＨレベルを維持している。したがって、期間Ｔ２，Ｔ５，Ｔ９，Ｔ１０における動作は、図１４に示すフローチャートのステップＳ４５において検出信号ＭＯＮＡ２がＬレベルでないと判定され、かつ、ステップＳ４６において検出信号ＭＯＮＥ２がＬレベルでないと判定された動作に相当する。その結果、スイッチング素子Ｓ１ａが短絡により故障していると診断され、セーフティコントローラー２０Ａは、ロックアウト状態へ移行する。そして、セーフティコントローラー２０Ａがロックアウト状態に移行した段階で安全出力回路２４Ａは、全ての出力をオフ状態にするので、負荷Ｍ１，Ｍ２は遮断される。
【０２９５】
なお、期間Ｔ２においてスイッチング素子Ｓ１ａが故障していると診断されると、セーフティコントローラー２０Ａは、直ちにロックアウト状態に移行し、それ以後の再起動が禁止される。
【０２９６】
その他の動作は、図１５において説明した動作と同じである。
図１５〜図１７に示すタイムチャートは、スイッチング回路２４１Ａにおける動作のみを示すが、チャンネル回路が２個のチャンネル回路２４１Ａ，２４２Ａから構成される場合も同じ動作である。
【０２９７】
また、ＣＰＵ２２は、図１４に示すフローチャートに従って安全出力回路２４Ａの導通機能および遮断機能を診断する場合、図１４に示す各ステップを備えるプログラムをＲＯＭから読出し、その読み出したプログラムを実行して安全出力回路２４Ａの導通機能および遮断機能を診断する。
【０２９８】
したがって、図１４に示す各ステップを備えるプログラムは、安全出力回路２４Ａの診断をコンピュータ（ＣＰＵ２２）に実行させるためのプログラムである。また、ＲＯＭは、安全出力回路２４Ａの診断をコンピュータ（ＣＰＵ２２）に実行させるためのプログラムを記録したコンピュータ（ＣＰＵ２２）読取り可能な記録媒体（ＲＯＭ）に相当する。
【０２９９】
表２は、安全出力回路２４Ａのスイッチング素子Ｓ１ａ，Ｓ２ａ部分におけるＦＭＥＡを示す。
【０３００】
【表２】
2005044074.tif 000004
【０３０１】
表２から一例を挙げて説明すると、スイッチング素子Ｓ１ａの故障モードとして開放（オープン）を想定すると、スイッチング素子Ｓ１ａが開放状態になることによって出力制御状態を「オン」に設定したいにも拘わらず、検出信号ＭＯＮＡ２がＬレベルであり、スイッチング回路２４１Ａの出力がオフされると言う影響が発生する。そして、スイッチング素子Ｓ１ａの開放による故障を診断するためには検出信号ＭＯＮＡ２を検出する機能を備えていればよい。
【０３０２】
他の故障モードについても同様に考えればよい。
表２に示す故障モードとその故障モードを診断する機能とを備えるセーフティコントローラー２０Ａは、国際規格ＩＥＣ６１５０８において安全度水準ＳＩＬ３を達成し得るものである。
【０３０３】
なお、この発明においては、スイッチング素子Ｓ１ａは、１つのスイッチング回路を構成し、スイッチング素子Ｓ２ａは、１つのスイッチング回路を構成し、スイッチング素子Ｓ３ａは、１つのスイッチング回路を構成し、スイッチング素子Ｓ４ａは、１つのスイッチング回路を構成する。
【０３０４】
また、ＣＰＵ２２は、安全出力回路２４Ａの導通機能および遮断機能を診断する「診断手段」を構成する。
【０３０５】
さらに、電流検出回路２４４Ａ〜２４７Ａは、スイッチング回路の出力を検出する「検出回路」を構成する。
【０３０６】
さらに、上記においては、負荷は２個であり、その２個の負荷Ｍ１，Ｍ２に対応して２つのチャンネル回路２４１Ａ，２４２Ａが設けられると説明したが、この発明においては、これに限らず、一般的に、複数の負荷に対応して複数のチャンネル回路を設けてもよい。
【０３０７】
さらに、安全出力回路２４Ａのスイッチング素子Ｓ１ａ，Ｓ２ａ，Ｓ３ａ，Ｓ４ａがリレーからなるとき、ＣＰＵ２２は、負荷Ｍ１，Ｍ２が反応しない期間よりも長い期間を設定して信号Ｓ１，Ｓ２，Ｓ３，Ｓ４を安全出力回路２４Ａへ出力し、安全出力回路２４Ａの導通機能および遮断機能を診断する。負荷Ｍ１，Ｍ２が反応しない程度の短いオフ期間を有する信号Ｓ１，Ｓ２，Ｓ３，Ｓ４を用いて安全出力回路２４Ａを診断した場合、リレーが振動し、接点の寿命が短くなる虞があるからである。
【０３０８】
上述したように、セーフティコントローラー２０Ａにおいては、安全出力回路２４Ａのチャンネル回路２４１Ａ，２４２Ａの各々において図１４に示すフローチャートに従ってチャンネル回路２４１Ａ，２４２Ａの導通機能および遮断機能が負荷Ｍ１，Ｍ２にパルス出力を与えずに診断される。したがって、セーフティコントローラー２０Ａは、直流負荷のみならず交流負荷も安全出力を出力する対象にできる。
【０３０９】
また、負荷が反応しない程度に短いオフ期間を有する診断パルスを出力に用いなくてもチャンネル回路２４１Ａ，２４２Ａの導通機能および遮断機能を診断できる。その結果、負荷への要求事項をなくすことができ、診断パルスによる負荷への悪影響を考慮する必要がなくなる。
【０３１０】
さらに、スイッチング素子Ｓ１ａ，Ｓ２ａ，Ｓ３ａ，Ｓ４ａにリレーを用いた安全出力回路においても、負荷Ｍ１，Ｍ２への出力をオンしたままチャンネル回路２４１Ａ，２４２Ａの導通機能および遮断機能を診断できる。その結果、出力が長時間オンし続ける用途であっても診断機能の低下を防止できる。
【０３１１】
さらに、本発明は、スイッチング素子Ｓ１ａ，Ｓ２ａ，Ｓ３ａ，Ｓ４ａの出力を検出して安全出力回路２４Ａの導通機能および遮断機能を診断しているので、リレーを用いた安全出力回路において通常のリレーを使用できる。
【０３１２】
その他は、実施の形態１と同じである。
［実施の形態３］
図１８を参照して、実施の形態３によるセーフティコントローラーを用いた制御システム１０２は、制御システム１００のセーフティコントローラー２０をセーフティコントローラー２０Ｂに代えたものであり、その他は、制御システム１００と同じである。
【０３１３】
セーフティコントローラー２０Ｂは、セーフティコントローラー２０の安全出力回路２４を安全出力回路２４Ｂに代えたものであり、その他は、セーフティコントローラー２０と同じである。
【０３１４】
図１９は、図１８に示す安全出力回路２４Ｂの構成図を示す。図１９を参照して、安全出力回路２４Ｂは、チャンネル回路２４１Ｂ，２４２Ｂを含む。
【０３１５】
チャンネル回路２４１Ｂは、負荷Ｍ１に対応して設けられ、チャンネル回路２４２Ｂは、負荷Ｍ２に対応して設けられる。そして、チャンネル回路２４１Ｂおよび負荷Ｍ１は、電源ライン２とアースライン３との間にチャンネル回路２４２Ｂおよび負荷Ｍ２に並列に接続される。
【０３１６】
なお、安全出力回路２４Ｂにおいては、電源（１Ａ，１Ｂ）からの電源電圧（ＶＡＣ，ＶＤＣ）の供給を監視する電圧検出回路が設けられていないので、安全出力回路２４Ｂにおいては、電源電圧が、常時、供給されていることが必要である。
【０３１７】
チャンネル回路２４１Ｂは、スイッチング素子Ｓ１ａからなる。スイッチング素子Ｓ１ａは、電源ライン２と負荷Ｍ１との間に接続される。
【０３１８】
スイッチング素子Ｓ１ａは、ＣＰＵ２２からＨレベルの信号Ｓ１を受けるとオンされ、交流電源１Ａから供給された電源電圧ＶＡＣを負荷Ｍ１へ供給する。そして、負荷Ｍ１は、電源電圧ＶＡＣによってオンされ、モータ等の装置に電源電圧を供給する。つまり、負荷Ｍ１は、Ｈレベルからなる主出力ＭＭ１を装置へ出力し、Ｌレベルからなる補助出力ＳＭ１をセーフティコントローラー２０Ｂの安全入力回路２５へ出力する。また、スイッチング素子Ｓ１ａは、ＣＰＵ２２からＬレベルの信号Ｓ１を受けるとオフされ、交流電源１Ａから供給された電源電圧ＶＡＣを負荷Ｍ１へ供給しない。そうすると、負荷Ｍ１は、オフされ、装置への電源電圧の供給を停止する。つまり、負荷Ｍ１は、Ｌレベルからなる主出力ＭＭ１を装置へ出力し、Ｈレベルからなる補助出力ＳＭ１をセーフティコントローラー２０Ｂの安全入力回路２５へ出力する。
【０３１９】
このように、チャンネル回路２４１Ｂは、ＣＰＵ２２からの信号Ｓ１の論理レベルに応じて交流電源１Ａからの電源電圧ＶＡＣを負荷Ｍ１へ供給し、または電源電圧ＶＡＣの負荷Ｍ１への供給を停止する。
【０３２０】
チャンネル回路２４２Ｂは、スイッチング素子Ｓ２ａからなる。スイッチング素子Ｓ２ａは、電源ライン２と負荷Ｍ２との間に接続される。
【０３２１】
スイッチング素子Ｓ２ａは、ＣＰＵ２２からＨレベルの信号Ｓ２を受けるとオンされ、交流電源１Ａから供給された電源電圧ＶＡＣを負荷Ｍ２へ供給する。そして、負荷Ｍ２は、電源電圧ＶＡＣによってオンされ、装置に電源電圧を供給する。つまり、負荷Ｍ２は、Ｈレベルからなる主出力ＭＭ１を装置へ出力し、Ｌレベルからなる補助出力ＳＭ２をセーフティコントローラー２０Ｂの安全入力回路２５へ出力する。また、スイッチング素子Ｓ２ａは、ＣＰＵ２２からＬレベルの信号Ｓ２を受けるとオフされ、交流電源１Ａから供給された電源電圧ＶＡＣを負荷Ｍ２へ供給しない。そうすると、負荷Ｍ２は、オフされ、装置への電源電圧の供給を停止する。つまり、負荷Ｍ２は、Ｌレベルからなる主出力ＭＭ２を装置へ出力し、Ｈレベルからなる補助出力ＳＭ２をセーフティコントローラー２０Ｂの安全入力回路２５へ出力する。
【０３２２】
このように、チャンネル回路２４２Ｂは、ＣＰＵ２２からの信号Ｓ２の論理レベルに応じて交流電源１Ａからの電源電圧ＶＡＣを負荷Ｍ２へ供給し、または電源電圧ＶＡＣの負荷Ｍ２への供給を停止する。
【０３２３】
上述したように、安全出力回路２４Ｂは、負荷Ｍ１，Ｍ２の個数と同じ個数のチャンネル回路２４１Ｂ，２４２Ｂを含み、負荷Ｍ１，Ｍ２に対応して設けられたチャンネル回路２４１Ｂ，２４２Ｂにより負荷Ｍ１，Ｍ２を導通／遮断する。
【０３２４】
図２０は、安全出力回路２４Ｂが負荷Ｍ１，Ｍ２を導通する導通機能および安全出力回路２４Ｂが負荷Ｍ１，Ｍ２を遮断する遮断機能をＣＰＵ２２，２３によって診断するためのフローチャートを示す。
【０３２５】
一連の動作が開始されると、ＣＰＵ２２は、安全出力制御が行なわれているか否か、すなわち、安全出力制御がオンかオフかを判定する（ステップＳ６１）。この場合、ＣＰＵ２２は、電源が投入され、セーフティコントローラー２０Ｂが初期化されているか否かにより安全出力制御がオンされているかオフされているかを判定する。
【０３２６】
安全出力制御がオフされていると判定されると、ＣＰＵ２２は、スイッチング素子Ｓ１ａをオフするためのＬレベルの信号Ｓ１とスイッチング素子Ｓ２ａをオフするためのＬレベルの信号Ｓ２とを安全出力回路２４Ｂへ出力する。
【０３２７】
そうすると、スイッチング素子Ｓ１ａは、Ｌレベルの信号Ｓ１に応じてオフされ、スイッチング素子Ｓ２ａは、Ｌレベルの信号Ｓ２に応じてオフされる（ステップＳ６２）。そして、スイッチング素子Ｓ１ａは、電源電圧ＶＡＣの負荷Ｍ１への供給を停止し、スイッチング素子Ｓ２ａは、電源電圧ＶＡＣの負荷Ｍ２への供給を停止する。
【０３２８】
負荷Ｍ１は、主出力ＭＭ１を装置へ出力し、補助出力ＳＭ１をセーフティコントローラー２０Ｂの安全入力回路２５へ出力する。この場合、負荷Ｍ１は、スイッチング素子Ｓ１ａが正常であれば、Ｈレベルの補助出力ＳＭ１をセーフティコントローラー２０Ｂの安全入力回路２５へ出力し、スイッチング素子Ｓ１ａが短絡により故障していれば、Ｌレベルの補助出力ＳＭ１をセーフティコントローラー２０Ｂの安全入力回路２５へ出力する。
【０３２９】
また、負荷Ｍ２は、主出力ＭＭ２を装置へ出力し、補助出力ＳＭ２をセーフティコントローラー２０Ｂの安全入力回路２５へ出力する。この場合、負荷Ｍ２は、スイッチング素子Ｓ２ａが正常であれば、Ｈレベルの補助出力ＳＭ２をセーフティコントローラー２０Ｂの安全入力回路２５へ出力し、スイッチング素子Ｓ２ａが短絡により故障していれば、Ｌレベルの補助出力ＳＭ２をセーフティコントローラー２０Ｂの安全入力回路２５へ出力する。
【０３３０】
ＣＰＵ２３は、安全入力回路２５から補助出力ＳＭ１，ＳＭ２を受け、その受けた補助出力ＳＭ１，ＳＭ２をＣＰＵ２２へ出力する。そして、ＣＰＵ２２は、補助出力ＳＭ１がＨレベルであるか否かを判定し、補助出力ＳＭ２がＨレベルであるか否かを判定する（ステップＳ６３）。補助出力ＳＭ１，ＳＭ２のうち、少なくともいずれか一方がＨレベルでないとき、ＣＰＵ２２は、スイッチング素子Ｓ１ａ，Ｓ２ａのいずれか一方が故障していると診断する。つまり、ＣＰＵ２２は、安全出力回路２４Ｂが遮断機能を維持していないと診断する。そして、セーフティコントローラー２０Ｂは、ロックアウト状態へ移行する（ステップＳ６４）。
【０３３１】
一方、ステップＳ６３において、補助出力ＳＭ１および補助出力ＳＭ２の両方がＨレベルであると判定されたとき、ＣＰＵ２２は、安全出力回路２４Ｂが遮断機能を維持していると診断する。そして、一連の動作がステップＳ６１へ戻る。
【０３３２】
ステップＳ６３において、補助出力ＳＭ１および補助出力ＳＭ２の両方がＨレベルであると判定されたとき、ＣＰＵ２２は、さらに、Ｌレベルの信号Ｓ１およびＳ２を安全出力回路２４Ｂへ出力してからＨレベルの補助出力ＳＭ１およびＳＭ２を受けるまでの時間、つまり、安全出力回路２４Ｂの遮断機能の応答時間を診断する。
【０３３３】
ステップＳ６１において安全出力制御がオンされていると判定されると、ＣＰＵ２２は、スイッチング素子Ｓ１ａをオンするためのＨレベルの信号Ｓ１とスイッチング素子Ｓ２ａをオンするためのＨレベルの信号Ｓ２とを安全出力回路２４Ｂへ出力する。
【０３３４】
そうすると、スイッチング素子Ｓ１ａは、Ｈレベルの信号Ｓ１によってオンされ、交流電源１Ａからの電源電圧ＶＡＣを負荷Ｍ１に供給する。また、スイッチング素子Ｓ２ａは、Ｈレベルの信号Ｓ２によってオンされ、交流電源１Ａからの電源電圧ＶＡＣを負荷Ｍ２に供給する（ステップＳ６５）。
【０３３５】
負荷Ｍ１は、電源電圧ＶＡＣによってオンされ、Ｈレベルの主出力ＭＭ１を装置へ出力し、Ｌレベルの補助出力ＳＭ１をセーフティコントローラー２０Ｂの安全入力回路２５へ出力する。この場合、負荷Ｍ１は、スイッチング素子Ｓ１ａが正常であれば、Ｌレベルの補助出力ＳＭ１をセーフティコントローラー２０Ｂの安全入力回路２５へ出力し、スイッチング素子Ｓ１ａが開放により故障していれば、Ｈレベルの補助出力ＳＭ１をセーフティコントローラー２０Ｂの安全入力回路２５へ出力する。
【０３３６】
また、負荷Ｍ２は、電源電圧ＶＡＣによってオンされ、Ｈレベルの主出力ＭＭ２を装置へ出力し、Ｌレベルの補助出力ＳＭ２をセーフティコントローラー２０Ｂの安全入力回路２５へ出力する。この場合、負荷Ｍ２は、スイッチング素子Ｓ２ａが正常であれば、Ｌレベルの補助出力ＳＭ２をセーフティコントローラー２０Ｂの安全入力回路２５へ出力し、スイッチング素子Ｓ２ａが開放により故障していれば、Ｈレベルの補助出力ＳＭ２をセーフティコントローラー２０Ｂの安全入力回路２５へ出力する。
【０３３７】
ＣＰＵ２２は、ＣＰＵ２３を介して安全入力回路２５から補助出力ＳＭ１，ＳＭ２を受ける。そして、ＣＰＵ２２は、補助出力ＳＭ１がＬレベルであるか否かを判定し、補助出力ＳＭ２がＬレベルであるか否かを判定する（ステップＳ６６）。補助出力ＳＭ１および補助出力ＳＭ２のうち、少なくともいずれか一方がＬレベルでないとき、スイッチング素子Ｓ１ａ，Ｓ２ａの少なくともいずれか一方が故障していると診断する。つまり、ＣＰＵ２２は、安全出力回路２４Ｂが導通機能を維持していないと診断する。そして、セーフティコントローラー２０Ｂは、ロックアウト状態へ移行する（ステップＳ６４）。
【０３３８】
一方、ステップＳ６６において、補助出力ＳＭ１および補助出力ＳＭ２の両方がＬレベルであると判定されたとき、ＣＰＵ２２は、スイッチング素子Ｓ１ａ，Ｓ２ａが正常であると診断する。つまり、ＣＰＵ２２は、安全出力回路２４Ｂが導通機能を維持していると診断する。そして、一連の動作は、ステップＳ６１へ戻り、上述したステップＳ６１〜Ｓ６６が繰返し実行される。
【０３３９】
ステップＳ６６において、補助出力ＳＭ１および補助出力ＳＭ２の両方がＬレベルであると判定されたとき、ＣＰＵ２２は、さらに、Ｈレベルの信号Ｓ１およびＳ２を安全出力回路２４Ｂへ出力してからＬレベルの補助出力ＳＭ１およびＳＭ２を受けるまでの時間、つまり、安全出力回路２４Ｂの導通機能の応答時間を診断する。
【０３４０】
このように、実施の形態３においては、安全出力回路２４Ｂの導通機能および遮断機能を診断し、さらに、安全出力回路２４Ｂの導通機能および遮断機能の応答時間を診断することを特徴とする。
【０３４１】
そして、安全出力回路２４Ｂの診断においては、負荷Ｍ１，Ｍ２の補助出力ＳＭ１，ＳＭ２が用いられており、安全出力回路２４Ｂの遮断機能が維持されていることの診断は、安全出力回路２４Ｂの出力がオフされているときに（ステップＳ６１において安全出力制御がオフされていると判定された場合）、Ｈレベルの補助出力ＳＭ１およびＳＭ２を検出すること、すなわち、負荷Ｍ１，Ｍ２の補助接点が閉じていることを確認することにより行なわれる。したがって、セーフティコントローラー２０Ｂは、出力が、長時間、オンし続ける用途には適さない。
【０３４２】
セーフティコントローラー２０Ｂは、負荷Ｍ１，Ｍ２の補助出力ＳＭ１，ＳＭ２を用いて安全出力回路２４Ｂの導通機能および遮断機能を診断するので、セーフティコントローラー２０Ｂが対象とする負荷は、電磁開閉器等のフィードバック出力を備えた負荷に限られる。
【０３４３】
図２１は、セーフティコントローラー２０Ｂの正常動作時のタイムチャートを示す。図２１を参照して、期間Ｔ１において、交流電源１Ａが電源電圧ＶＡＣを供給しているが（信号ＰＯＷがＨレベル）、セーフティコントローラー２０Ｂは、非常停止状態（信号Ｅ−ｓｔｏｐがＨレベル）にあり、信号Ｓ１がＬレベルである。その結果、負荷Ｍ１は遮断され、補助出力ＳＭ１はＨレベルである。
【０３４４】
期間Ｔ２において、非常停止が解除され（信号Ｅ−ｓｔｏｐがＨレベルからＬレベルに変化）、交流電源１Ａが電源電圧ＶＡＣを継続して供給すると（信号ＰＯＷがＨレベルへ維持）、信号Ｓ１はＨレベルであり、スイッチング素子Ｓ１ａはオンされる。そして、スイッチング素子Ｓ１ａは、電源電圧ＶＡＣを負荷Ｍ１に供給し、負荷Ｍ１は、オンされ、Ｌレベルの補助出力ＳＭ１をセーフティコントローラー２０Ｂの安全入力回路２５へ出力する。
【０３４５】
そして、期間Ｔ３において、再び、非常停止状態になると（信号Ｅ−ｓｔｏｐがＬレベルからＨレベルへ移行）、信号Ｓ１がＨレベルからＬレベルに変化する。そうすると、スイッチング素子Ｓ１ａがオフされ、スイッチング素子Ｓ１ａは、電源電圧ＶＡＣを負荷Ｍ１に供給しない。そして、負荷Ｍ１は、オフされ、Ｈレベルの補助出力ＳＭ１を出力する。
【０３４６】
図２２は、スイッチング素子Ｓ１ａが開放により故障したときのタイムチャートを示す。なお、図２２において点線は、正常動作時のタイムチャートを示す。図２２を参照して、期間Ｔ２において信号Ｓ１はＨレベルを維持しているにも拘わらず、補助出力ＳＭ１はＨレベルを維持している。したがって、スイッチング素子Ｓ１ａが開放により故障していると診断され、セーフティコントローラー２０Ｂは、ロックアウト状態へ移行する。そして、セーフティコントローラー２０Ｂがロックアウト状態に移行した段階で安全出力回路２４Ｂは、全ての出力をオフ状態にするので、負荷Ｍ１，Ｍ２は遮断される。
【０３４７】
なお、期間Ｔ２においてスイッチング素子Ｓ１ａが故障していると診断されると、セーフティコントローラー２０Ｂは、直ちにロックアウト状態に移行し、それ以後の再起動が禁止される。
【０３４８】
その他の動作は、図２１において説明した動作と同じである。
図２３は、スイッチング素子Ｓ１ａが短絡により故障したときのタイムチャートを示す。なお、図２３において点線は、正常動作時のタイムチャートを示す。図２３を参照して、期間Ｔ１，Ｔ３において、信号Ｓ１がＬレベルを維持しているにも拘わらず、補助出力ＳＭ１はＬレベルを維持している。したがって、スイッチング素子Ｓ１ａが短絡により故障していると診断され、セーフティコントローラー２０Ｂは、ロックアウト状態へ移行する。そして、セーフティコントローラー２０Ｂがロックアウト状態に移行した段階で安全出力回路２４Ｂは、全ての出力をオフ状態にするので、負荷Ｍ１，Ｍ２は遮断される。
【０３４９】
なお、期間Ｔ１においてスイッチング素子Ｓ１ａが故障していると診断されると、セーフティコントローラー２０Ｂは、直ちにロックアウト状態に移行し、それ以後の再起動が禁止される。
【０３５０】
その他の動作は、図２１において説明した動作と同じである。
図２１〜図２３に示すタイムチャートは、スイッチング回路２４１Ｂにおける動作のみを示すが、チャンネル回路が２個のチャンネル回路２４１Ｂ，２４２Ｂから構成される場合も同じ動作である。
【０３５１】
また、ＣＰＵ２２は、図２０に示すフローチャートに従って安全出力回路２４Ｂの導通機能および遮断機能とそれらの応答時間とを診断する場合、図２０に示す各ステップを備えるプログラムをＲＯＭから読出し、その読み出したプログラムを実行して安全出力回路２４Ｂの導通機能および遮断機能とそれらの応答時間とを診断する。
【０３５２】
したがって、図２０に示す各ステップを備えるプログラムは、安全出力回路２４Ｂの診断をコンピュータ（ＣＰＵ２２，２３）に実行させるためのプログラムである。また、ＲＯＭは、安全出力回路２４Ｂの診断をコンピュータ（ＣＰＵ２２，２３）に実行させるためのプログラムを記録したコンピュータ（ＣＰＵ２２，２３）読取り可能な記録媒体（ＲＯＭ）に相当する。
【０３５３】
表３は、安全出力回路２４Ｂのスイッチング素子Ｓ１ａ，Ｓ２ａ部分におけるＦＭＥＡを示す。
【０３５４】
【表３】
2005044074.tif 000005
【０３５５】
表３から一例を挙げて説明すると、スイッチング素子Ｓ１ａの故障モードとして開放（オープン）を想定すると、スイッチング素子Ｓ１ａが開放状態になることによって、出力制御状態を「オン」に設定したいにも拘わらず、負荷Ｍ１が常時オフされる、と言う影響が発生する。そして、スイッチング素子Ｓ１ａの開放による故障を診断するためには負荷Ｍ１の補助接点を監視する機能を備えていればよい。
【０３５６】
他の故障モードについても同様に考えればよい。
表３に示す故障モードとその故障モードを診断する機能とを備えるセーフティコントローラー２０Ｂは、国際規格ＩＥＣ６１５０８において安全度水準ＳＩＬ２を達成し得るものである。
【０３５７】
なお、この発明においては、スイッチング素子Ｓ１ａは、１つのスイッチング回路を構成し、スイッチング素子Ｓ２ａは、１つのスイッチング回路を構成する。
【０３５８】
また、ＣＰＵ２２，２３は、安全出力回路２４Ｂの導通機能および遮断機能とそれらの応答時間とを診断する「診断手段」を構成する。
【０３５９】
さらに、上記においては、負荷は２個であり、その２個の負荷Ｍ１，Ｍ２に対応して２つのチャンネル回路２４１Ｂ，２４２Ｂが設けられると説明したが、この発明においては、これに限らず、一般に、複数の負荷に対応して複数のチャンネル回路を設けてもよい。
【０３６０】
さらに、安全出力回路２４Ｂのスイッチング素子Ｓ１ａ，Ｓ２ａがリレーからなるとき、ＣＰＵ２２は、負荷Ｍ１，Ｍ２が反応しない期間よりも長い期間を設定して信号Ｓ１，Ｓ２を安全出力回路２４Ｂへ出力し、安全出力回路２４Ｂの導通機能および遮断機能とそれらの応答時間とを診断する。負荷Ｍ１，Ｍ２が反応しない程度の短いオフ期間を有する信号Ｓ１，Ｓ２を用いて安全出力回路２４Ｂを診断した場合、リレーが振動し、接点の寿命が短くなる虞があるからである。
【０３６１】
さらに、上記においては、安全出力回路２４Ｂの遮断機能および導通機能の応答時間を診断すると説明したが、その診断した応答時間に基づいてスイッチング素子Ｓ１ａ，Ｓ２ａが劣化しているか否かを診断するようにしてもよい。すなわち、応答時間が基準値よりも長くなればスイッチング素子Ｓ１ａ，Ｓ２ａが劣化していると診断するようにしてもよい。
【０３６２】
上述したように、セーフティコントローラー２０Ｂにおいては、安全出力回路２４Ｂのチャンネル回路２４１Ｂ，２４２Ｂの各々において図２０に示すフローチャートに従ってチャンネル回路２４１Ｂ，２４２Ｂの導通機能および遮断機能とそれらの応答時間とが負荷Ｍ１，Ｍ２にパルス出力を与えずに診断される。したがって、セーフティコントローラー２０Ｂは、直流負荷のみならず交流負荷も安全出力を出力する対象にできる。
【０３６３】
また、負荷が反応しない程度に短いオフ期間を有する診断パルスを出力に用いなくてもチャンネル回路２４１Ｂ，２４２Ｂの導通機能および遮断機能とそれらの応答時間とを診断できる。その結果、負荷への要求事項をなくすことができ、診断パルスによる負荷への悪影響を考慮する必要がなくなる。
【０３６４】
さらに、本発明は、スイッチング素子Ｓ１ａ，Ｓ２ａの出力を検出して（補助出力ＳＭ１，ＳＭ２を検出することは、スイッチング素子Ｓ１ａ，Ｓ２ａの出力を検出することに相当する）安全出力回路２４Ｂの導通機能および遮断機能とそれらの応答時間とを診断しているので、リレーを用いた安全出力回路において通常のリレーを使用できる。
【０３６５】
その他は、実施の形態１と同じである。
［実施の形態４］
図２４を参照して、実施の形態４によるセーフティコントローラーを用いた制御システム１０３は、制御システム１００のセーフティコントローラー２０をセーフティコントローラー２０Ｃに代えたものであり、その他は、制御システム１００と同じである。
【０３６６】
セーフティコントローラー２０Ｃは、セーフティコントローラー２０のＣＰＵ２２をＣＰＵ２２Ａに代えたものであり、その他は、セーフティコントローラー２０と同じである。
【０３６７】
ＣＰＵ２２Ａは、安全出力回路２４に含まれる２つのチャンネル回路２４１，２４２の出力タイミングをずらせて安全出力回路２４の遮断機能および導通機能の診断を行なう。
【０３６８】
図２５は、セーフティコントローラー２０Ｃと負荷Ｍ１，Ｍ２との関係を示す。セーフティコントローラー２０Ｃは、出力ＯＵＴＡにより負荷Ｍ１を導通／遮断し、出力ＯＵＴＢにより負荷Ｍ２を導通／遮断する。そして、セーフティコントローラー２０Ｃは、出力ＯＵＴＡおよびＯＵＴＢをタイミングをずらせて、それぞれ、負荷Ｍ１，Ｍ２へ出力する。これにより、２つのチャンネル回路が短絡しているか否かを診断できる。
【０３６９】
図２６は、セーフティコントローラー２０Ｃの正常動作時のタイムチャートである。図２６を参照して、期間Ｔ１において出力ＯＵＴＡおよびＯＵＴＢはＬレベルを維持しているので、負荷Ｍ１，Ｍ２は、Ｈレベルの補助出力ＳＭ１，ＳＭ２をセーフティコントローラー２０Ｃの安全入力回路２５へ出力する。
【０３７０】
期間Ｔ２において、出力ＯＵＴＡがＬレベルからＨレベルに変化すると、負荷Ｍ１は、Ｈレベルの出力ＯＵＴＡに応じてオンされ、Ｌレベルの補助出力ＳＭ１をセーフティコントローラー２０Ｃの安全入力回路２５へ出力する。この期間Ｔ２において、出力ＯＵＴＢはＬレベルを維持しているので、負荷Ｍ２は、継続してオフされ、Ｈレベルの補助出力ＳＭ２をセーフティコントローラー２０Ｃの安全入力回路２５へ出力する。
【０３７１】
期間Ｔ３において、出力ＯＵＴＢがＬレベルからＨレベルに変化すると、負荷Ｍ２は、Ｈレベルの出力ＯＵＴＢに応じてオンされ、Ｌレベルの補助出力ＳＭ２をセーフティコントローラー２０Ｃの安全入力回路２５へ出力する。この期間Ｔ３において、出力ＯＵＴＡはＨレベルを維持しているので、負荷Ｍ１は継続してオンされ、Ｌレベルの補助出力ＳＭ１をセーフティコントローラー２０Ｃの安全入力回路２５へ出力する。
【０３７２】
期間Ｔ４において、出力ＯＵＴＡおよびＯＵＴＢがＨレベルからＬレベルに変化すると、負荷Ｍ１，Ｍ２はオフされ、それぞれ、Ｈレベルの補助出力ＳＭ１およびＳＭ２をセーフティコントローラー２０Ｃの安全入力回路２５へ出力する。
【０３７３】
図２７は、２つのチャンネル回路間が短絡した場合のセーフティコントローラー２０Ｃの動作を示すタイムチャートである。なお、点線は、正常時のタイムチャートである。期間Ｔ２において、出力ＯＵＴＡがＬレベルからＨレベルに変化し、出力ＯＵＴＢがＬレベルを維持する。
【０３７４】
負荷Ｍ１は、Ｈレベルの出力ＯＵＴＡに応じてオンされ、Ｌレベルの補助出力ＳＭ１をセーフティコントローラー２０Ｃの安全入力回路２５へ出力する。負荷Ｍ２は、出力ＯＵＴＢがＬレベルを維持しているにも拘わらず、オンされ、Ｌレベルの補助出力ＳＭ２をセーフティコントローラー２０Ｃの安全入力回路２５へ出力する。したがって、２つのチャンネル回路が短絡し、負荷Ｍ１を導通させるチャンネル回路の出力が負荷Ｍ２にも供給され、負荷Ｍ２がオンされたものと想定される。
【０３７５】
このように、出力ＯＵＴＡ，ＯＵＴＢを異なるタイミングでそれぞれ負荷Ｍ１，Ｍ２へ出力することにより、負荷Ｍ１，Ｍ２をそれぞれ導通／遮断する２つのチャンネル回路間における短絡を診断できる。
【０３７６】
セーフティコントローラー２０Ｃにおいては、安全出力回路２４に代えて安全出力回路２４Ａまたは安全出力回路２４Ｂが用いられてもよい。そして、安全出力回路２４Ｂが用いられる場合、出力ＯＵＴＡ，ＯＵＴＢに対する応答は、上述したように、負荷Ｍ１，Ｍ２の補助出力ＳＭ１，ＳＭ２により診断される。
【０３７７】
しかし、安全出力回路２４または２４Ａが用いられる場合、出力ＯＵＴＡ，ＯＵＴＢに対する応答は、必ずしも負荷Ｍ１，Ｍ２の補助出力ＳＭ１，ＳＭ２により診断されなくてもよく、検出信号ＭＯＮＡ１，ＭＯＮＢ１，ＭＯＮＣ１，ＭＯＮＤ１，ＭＯＮＡ２，ＭＯＮＢ２，ＭＯＮＣ２，ＭＯＮＤ２により診断されてもよい。
【０３７８】
なお、セーフティコントローラー２０Ｃは、国際規格ＩＥＣ６１５０８において安全度水準ＳＩＬ３を達成し得るものである。
【０３７９】
その他は、実施の形態１から実施の形態３と同じである。
［実施の形態５］
図２８を参照して、実施の形態５によるセーフティコントローラーを用いた制御システム１０４は、制御システム１００のセーフティコントローラー２０をセーフティコントローラー２０Ｄに代えたものであり、その他は、制御システム１００と同じである。
【０３８０】
セーフティコントローラー２０Ｄは、セーフティコントローラー２０の安全入力回路２５を安全入力回路２５Ａに代えたものであり、その他は、セーフティコントローラー２０と同じである。
【０３８１】
図２９は、図２８に示すＣＰＵ２３および安全入力回路２５Ａの機能ブロック図を示す。図２９を参照して、ＣＰＵ２３は、ＣＰＵ出力部２３１，２３３とＣＰＵ入力部２３２，２３４とを含む。安全入力回路２５Ａは、補助出力監視回路２５１Ａ，２５２Ａを含む。
【０３８２】
補助出力監視回路２５１Ａは、負荷Ｍ１に対応して設けられ、補助出力監視回路２５２Ａは、負荷Ｍ２に対応して設けられる。ＣＰＵ出力部２３１およびＣＰＵ入力部２３２は、補助出力監視回路２５１Ａに対応して設けられ、ＣＰＵ出力部２３３およびＣＰＵ入力部２３４は、補助出力監視回路２５２Ａに対応して設けられる。
【０３８３】
補助出力監視回路２５１Ａは、スイッチング回路２５３と入力回路２５４とを含む。補助出力監視回路２５２Ａは、スイッチング回路２５５と入力回路２５６とを含む。
【０３８４】
ＣＰＵ出力部２３１は、スイッチング回路２５３をオン／オフするための信号Ｓ５をスイッチング回路２５３へ出力する。ＣＰＵ入力部２３２は、負荷Ｍ１の補助接点の状態を示す信号ＳＳＭ１を入力回路２５４から受け、その受けた信号ＳＳＭ１に基づいてスイッチング回路２５３および入力回路２５４を診断する。
【０３８５】
スイッチング回路２５３は、電源ノードＶＣＣと負荷Ｍ１の補助接点との間に接続される。そして、スイッチング回路２５３は、ＣＰＵ出力部２３１からのＨレベルの信号Ｓ５に応じて電源電圧ＶＡＣを負荷Ｍ１の補助接点へ供給し、ＣＰＵ出力部２３１からのＬレベルの信号Ｓ５に応じて電源電圧ＶＡＣの負荷Ｍ１の補助接点への供給を停止する。
【０３８６】
負荷Ｍ１の補助接点は、スイッチング回路２５３から電源電圧ＶＡＣが供給されると閉じ、電源電圧ＶＡＣからなる補助出力ＳＭ１を入力回路２５４へ出力する。また、負荷Ｍ１の補助接点は、スイッチング回路２５３からの電源電圧ＶＡＣの供給が停止されると開き、０Ｖからなる補助出力ＳＭ１を入力回路２５４へ出力する。
【０３８７】
入力回路２５４は、負荷Ｍ１の補助接点からの補助出力ＳＭ１を信号ＳＳＭ１に変換してＣＰＵ入力部２３２へ出力する。
【０３８８】
ＣＰＵ出力部２３３は、スイッチング回路２５５をオン／オフするための信号Ｓ６をスイッチング回路２５５へ出力する。ＣＰＵ入力部２３４は、負荷Ｍ２の補助接点の状態を示す信号ＳＳＭ２を入力回路２５６から受け、その受けた信号ＳＳＭ２に基づいてスイッチング回路２５５および入力回路２５６を診断する。
【０３８９】
スイッチング回路２５５は、電源ノードＶＣＣと負荷Ｍ２の補助接点との間に接続される。そして、スイッチング回路２５５は、ＣＰＵ出力部２３３からのＨレベルの信号Ｓ６に応じて電源電圧ＶＡＣを負荷Ｍ２の補助接点へ供給し、ＣＰＵ出力部２３３からのＬレベルの信号Ｓ６に応じて電源電圧ＶＡＣの負荷Ｍ２の補助接点への供給を停止する。
【０３９０】
負荷Ｍ２の補助接点は、スイッチング回路２５５から電源電圧ＶＡＣが供給されると閉じ、電源電圧ＶＡＣからなる補助出力ＳＭ２を入力回路２５６へ出力する。また、負荷Ｍ２の補助接点は、スイッチング回路２５５からの電源電圧ＶＡＣの供給が停止されると開き、０Ｖからなる補助出力ＳＭ２を入力回路２５６へ出力する。
【０３９１】
入力回路２５６は、負荷Ｍ１の補助接点からの補助出力ＳＭ２を信号ＳＳＭ２に変換してＣＰＵ入力部２３４へ出力する。
【０３９２】
このように、安全入力回路２５Ａは、２個の負荷Ｍ１，Ｍ２に対応して設けられた２つの補助出力監視回路２５１Ａ，２５２Ａを含み、ＣＰＵ２３は、補助出力監視回路２５１Ａ，２５２Ａを診断する。そして、補助出力監視回路２５１Ａ，２５２Ａは、対応する負荷Ｍ１，Ｍ２の補助接点をオン／オフするスイッチング回路２５３，２５５を含む。
【０３９３】
図３０は、セーフティコントローラー２０ＤのＣＰＵ２３および安全入力回路２５Ａの正常動作時のタイムチャートである。なお、図３０は、ＣＰＵ出力部２３１、ＣＰＵ入力部２３２、補助出力監視回路２５１Ａおよび負荷Ｍ１の系についてのみ示すが、ＣＰＵ出力部２３３、ＣＰＵ入力部２３４、補助出力監視回路２５２Ａおよび負荷Ｍ２の系についても同じである。
【０３９４】
図３０を参照して、スイッチング回路２５３が信号Ｓ５の論理レベルに応じてオン／オフされると、負荷Ｍ１の補助接点は、スイッチング回路２５３のオン／オフに同期してオン／オフされ、負荷Ｍ１は、スイッチング回路２５３のオン／オフに同期してＨレベル／Ｌレベルの論理レベルを有する補助出力ＳＭ１を入力回路２５４へ出力する。入力回路２５４は、補助出力ＳＭ１を信号ＳＳＭ１へ変換してＣＰＵ入力部２３２へ出力する。ＣＰＵ入力部２３２は、信号ＳＳＭ１に基づいて、スイッチング回路２５３および入力回路２５４（すなわち、補助出力監視回路２５１Ａ）が正常であると診断する。
【０３９５】
スイッチング回路２５３および入力回路２５４のいずれかが故障した場合、信号Ｓ５によるスイッチング波形が、信号ＳＳＭ１の入力点でＬレベルを維持しままとなり、スイッチング回路２５３および入力回路２５４のいずれかが異常と診断される。
【０３９６】
このように、セーフティコントローラー２０Ｄは、安全出力回路２４のみならず、負荷Ｍ１，Ｍ２からのフィードバック応答を受ける安全入力回路２５Ａを診断する機能を有する。そして、セーフティコントローラー２０Ｄは、国際規格ＩＥＣ６１５０８において安全度水準ＳＩＬ３を達成し得るものである。
【０３９７】
なお、セーフティコントローラー２０Ｄにおいては、安全出力回路２４に代えて、安全出力回路２４Ａまたは２４Ｂが用いられてもよい。
【０３９８】
その他は、実施の形態１〜実施の形態３と同じである。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】実施の形態１における制御システムを示す概略ブロック図である。
【図２】図１に示すセーフティコントローラーの状態遷移図である。
【図３】図１に示す安全出力回路の構成図である。
【図４】図１に示す２つの負荷の主出力を示す図である。
【図５】図１に示す安全入力回路の具体例を示す図である。
【図６】図１に示す安全出力回路が２つの負荷を導通する導通機能および安全出力回路が２つの負荷を遮断する遮断機能をＣＰＵによって診断するためのフローチャートである。
【図７】図１に示すセーフティコントローラーの正常動作時のタイムチャートである。
【図８】図１に示すセーフティコントローラーの故障時のタイムチャートである。
【図９】図１に示すセーフティコントローラーの故障時の他のタイムチャートである。
【図１０】図１に示すセーフティコントローラーの故障時のさらに他のタイムチャートである。
【図１１】図１に示すセーフティコントローラーの故障時のさらに他のタイムチャートである。
【図１２】実施の形態２における制御システムを示す概略ブロック図である。
【図１３】図１２に示す安全出力回路の構成図である。
【図１４】図１２に示す安全出力回路が２つの負荷を導通する導通機能および安全出力回路が２つの負荷を遮断する遮断機能をＣＰＵによって診断するためのフローチャートである。
【図１５】図１２に示すセーフティコントローラーの正常動作時のタイムチャートである。
【図１６】図１２に示すセーフティコントローラーの故障時のタイムチャートである。
【図１７】図１２に示すセーフティコントローラーの故障時の他のタイムチャートである。
【図１８】実施の形態３における制御システムを示す概略ブロック図である。
【図１９】図１８に示す安全出力回路の構成図である。
【図２０】図１８に示す安全出力回路が２つの負荷を導通する導通機能および安全出力回路が２つの負荷を遮断する遮断機能をＣＰＵによって診断するためのフローチャートである。
【図２１】図１８に示すセーフティコントローラーの正常動作時のタイムチャートである。
【図２２】図１８に示すセーフティコントローラーの故障時のタイムチャートである。
【図２３】図１８に示すセーフティコントローラーの故障時の他のタイムチャートである。
【図２４】実施の形態４における制御システムを示す概略ブロック図である。
【図２５】図２４に示すセーフティコントローラーと負荷との関係を示す図である。
【図２６】図２４に示すセーフティコントローラーの正常動作時のタイムチャートである。
【図２７】図２４に示すセーフティコントローラーの故障時のタイムチャートである。
【図２８】実施の形態５における制御システムを示す概略ブロック図である。
【図２９】図２８に示すＣＰＵおよび安全入力回路の機能ブロック図である。
【図３０】図２８に示すセーフティコントローラーの正常動作時のタイムチャートである。
【図３１】従来のセーフティコントローラーを用いた制御システムを示す概略ブロック図である。
【図３２】従来の他のセーフティコントローラーを用いた制御システムを示す概略ブロック図である。
【図３３】図３２に示す安全出力回路のブロック図である。
【図３４】診断パルスの波形図である。
【符号の説明】
１Ａ  交流電源、１Ｂ  直流電源、２  電源ライン、３  アースライン、１０，２１０  センサー／スイッチ類、２０，２０Ａ，２０Ｂ，２０Ｃ，２０Ｄ，２２０，３１０  セーフティコントローラー、２１，２５，２５Ａ，２２１，２２４，３１１，３１５  安全入力回路、２２，２２Ａ，２３，３１２，３１３  ＣＰＵ、２４，２４Ａ，２４Ｂ，２２３，３１４  安全出力回路、３０，２３０  制御対象、１００〜１０４，２００，３００  制御システム、２２２  リレー制御回路、２３１，２３３  ＣＰＵ出力部、２３２，２３４  ＣＰＵ入力部、２３５，Ｍ１，Ｍ２  負荷、２４１，２４１Ａ，２４１Ｂ，２４２，２４２Ａ，２４２Ｂ  チャンネル回路、２４３〜２４７  電圧検出回路、２４３Ａ，２４４Ａ，２４５Ａ，２４６Ａ，２４７Ａ  電流検出回路、２５１，２５１Ａ，２５２，２５２Ａ  補助出力監視回路、２５３，２５５，３１４１  スイッチング回路、２５４，２５６，３１４２  入力回路、Ｓ１ａ，Ｓ１ｂ，Ｓ２ａ，Ｓ２ｂ，Ｓ３ａ，Ｓ３ｂ，Ｓ４ａ，Ｓ４ｂ  スイッチング素子、Ｎ１〜Ｎ８  ノード、ＶＣＣ  電源ノード、ＧＮＤ  接地ノード。
【図１】
2005044074.tif 000006
【図２】
2005044074.tif 000007
【図３】
2005044074.tif 000008
【図４】
2005044074.tif 000009
【図５】
2005044074.tif 000010
【図６】
2005044074.tif 000011
【図７】
2005044074.tif 000012
【図８】
2005044074.tif 000013
【図９】
2005044074.tif 000014
【図１０】
2005044074.tif 000015
【図１１】
2005044074.tif 000016
【図１２】
2005044074.tif 000017
【図１３】
2005044074.tif 000018
【図１４】
2005044074.tif 000019
【図１５】
2005044074.tif 000020
【図１６】
2005044074.tif 000021
【図１７】
2005044074.tif 000022
【図１８】
2005044074.tif 000023
【図１９】
2005044074.tif 000024
【図２０】
2005044074.tif 000025
【図２１】
2005044074.tif 000026
【図２２】
2005044074.tif 000027
【図２３】
2005044074.tif 000028
【図２４】
2005044074.tif 000029
【図２５】
2005044074.tif 000030
【図２６】
2005044074.tif 000031
【図２７】
2005044074.tif 000032
【図２８】
2005044074.tif 000033
【図２９】
2005044074.tif 000034
【図３０】
2005044074.tif 000035
【図３１】
2005044074.tif 000036
【図３２】
2005044074.tif 000037
【図３３】
2005044074.tif 000038
【図３４】
2005044074.tif 000039