(57)【特許請求の範囲】
【請求項１】
セーフティ・コントローラと、プログラマブル・コントローラとを有し、
セーフティ・コントローラは、
セーフティ規格の入力機器へと通ずるべき入力用端子部と、
出力機器へと通ずるべき出力用端子部と、
正常／異常信号を外部へと送出するための診断結果出力用端子部と、
制御部とを有し、
制御部は、
入力用端子部を介して入力機器がオン状態かオフ状態かを判定するする入力オンオフ判定処理と、
入力用端子部を介して入力機器が正常であるか異常であるかを診断する入力機器診断処理と、
当該セーフティ・コントローラ自身が正常であるか異常であるかを診断する自己診断処理と、
入力オンオフ判定処理による判定結果に基づいて生成される遮断出力信号を出力用端子部から送出する遮断信号出力処理と、
入力機器診断処理により入力機器が異常であると診断されるか、又は自己診断結果出力処理により当該セーフティ・コントローラ自身が異常であると診断されたときに、診断結果出力用端子部から異常である旨の正常／異常信号を外部へと送出する診断結果出力処理とを実行するように仕組まれており、
プログラマブル・コントローラは、
セーフティ規格の入力機器及びセーフティ・コントローラの診断結果出力用端子部へと通ずるべき入力用端子部と、
出力機器へと通ずるべき出力用端子部と、
入力用端子部から内部へと入力信号を取り込むための入力回路と、
出力用端子部から外部へと出力信号を送出するための出力回路と、
入力格納領域と出力格納領域とを有する入出力メモリと、
予め用意された命令語を使用してユーザにより任意に作成された所望の制御仕様に対応するユーザプログラムを格納するユーザメモリと、
制御部とを有し、
制御部は、
入力回路を介して入力用端子部から入力信号を取り込んで入出力メモリの入力格納領域に入力データとして格納すると共に、入出力メモリの出力格納領域から読み出した出力データを出力回路を介して出力用端子部へと送出する入出力更新処理と、ユーザメモリから順次に命令語を読み出すと共に、これを入出力メモリの入出力データを参照して実行し、その実行結果により、入出力メモリの出力データを書き替える命令実行処理とを少なくとも含む一連の処理、を所定のサイクルタイムの下に、サイクリックに実行するように仕組まれており、さらに
プログラマブル・コントローラのサイクルタイムは、セーフティ規格の入力機器が作動したのち、セーフティ・コントローラの出力用端子部から遮断出力信号が出力されるまでの所要時間よりも十分に短いものであり、かつ
プログラマブル・コントローラには、ユーザがユーザプログラム中で使用可能なファンクションブロックの１つとして「模擬遮断出力生成用のファンクションブロック」が用意されると共に、
この「模擬遮断出力生成用のファンクションブロック」は、セーフティ・コントローラの正常／異常出力を参照すると共に、その参照結果を前提とした上で、セーフティ規格の入力機器の制御出力に基づいて、セーフティ・コントローラの制御部において実行されるべき入力オンオフ判定処理に相当する処理を実行して、セーフティ・コントローラの出力用端子部から出力されるべき遮断出力を模擬的に生成するように仕組まれており、
それにより、プログラマブル・コントローラのユーザプログラム中に「模擬遮断出力生成用のファンクションブロック」を組み込むことにより、セーフティ・コントローラから遮断出力が発せられるであろう状況下にあっては、そのことをプログラマブル・コントローラの側でいち早く察知して、遮断前に必要な前処理を実行できるようにした、ことを特徴とするセーフティ・コントロール・システム。
【請求項２】
プログラマブル・コントローラには、ユーザがユーザプログラム中で使用可能なファンクションブロックの１つとして「サーボモータ制御用のファンクションブロック」がさらに用意されると共に、
この「サーボモータ制御用のファンクションブロック」は、「模擬遮断出力生成用のファンクションブロック」の実行により生成される模擬遮断出力に基づいて、サーボモータ減速出力を生成するように仕組まれており、
それにより、プログラマブル・コントローラのユーザプログラム中に「模擬遮断出力生成用のファンクションブロック」及び「サーボモータ制御用のファンクションブロック」を組み込むことにより、セーフティ・コントローラから遮断出力が発せられるであろう状況下にあっては、そのことをプログラマブル・コントローラの側でいち早く察知して、サーボモータへの電源が遮断される前に、サーボモータを十分に減速できるようにした、ことを特徴とする請求項１に記載のセーフティ・コントロール・システム。
【請求項３】
「模擬遮断出力生成用のファンクションブロック」は、模擬遮断出力を生成する機能に加えて、生成された模擬遮断出力に基づいて、サーボモータ減速出力を生成するように仕組まれており、
それにより、プログラマブル・コントローラのユーザプログラム中に「模擬遮断出力生成用のファンクションブロック」を組み込むことにより、セーフティ・コントローラから遮断出力が発せられるであろう状況下にあっては、そのことをプログラマブル・コントローラの側でいち早く察知して、サーボモータへの電源が遮断される前に、サーボモータを十分に減速できるようにした、ことを特徴とする請求項１に記載のセーフティ・コントロール・システム。
【請求項４】
ビルディング・ブロック型のプログラマブル・コントローラを構成する１つのユニットであって、
ベースユニット上に敷設されたシステムバスに装着可能なユニットハウジングを有し、
ユニットハウジングの前面には、
第１の入力用端子部と、
第１の出力用端子部と、
第２の入力用端子部と、
第２の出力用端子部とが設けられ、
第１の入力用端子部は、セーフティ規格の入力機器からの信号群の入力用に供されると共に、第１の出力用端子部は、セーフティ・コントローラへの信号群の出力用に供され、さらに
第１の入力用端子部に入力される信号群は２系統に分岐されたのち、一方は第１の出力用端子台へと分配され、他方は入力回路を介してシステムバスへと取り込み可能とされ、
第２の入力用端子部は、セーフティ・コントローラからの信号群の入力用に供されると共に、第２の出力用端子部は、インバータやサーボドライバ等の出力機器への信号群の出力用に供され、さらに
第２の入力用端子部に入力される信号群は２系統に分岐されたのち、一方は第２の出力用端子部へと分配され、他方は入力回路を介してシステムバスへと取り込み可能とされ、
それにより、請求項１〜３のいずれかに記載のセーフティ・コントロール・システムに適用された際に、入力機器からの信号群をプログラマブル・コントローラとセーフティ・コントローラへと分配するための信号線分岐、及びプログラマブル・コントローラからの信号群とセーフティ・コントローラからの信号群とを出力機器へと合流させるための信号線合流を、ユニットハウジングの内部にて行うようにした、ことを特徴とするプログラマブル・コントローラのセーフティ・インタフェース・ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般制御を司るプログラマブル・コントローラ（以下、ＰＬＣと言う）と非常停止等のセーフティ制御を司るセーフティ・コントローラ（以下、ＳＣと言う）とを備えて、作業者が危険に晒される事態を極力回避しつつ、生産設備等の制御を実現するセーフティ・コントロール・システムに関する。
【背景技術】
【０００２】
一般制御を司るプログラマブル・コントローラ（以下、ＰＬＣと言う）と非常停止等のセーフティ制御を司るセーフティ・コントローラ（以下、ＳＣと言う）とを備えて、作業者が危険に晒される事態を極力回避しつつ、生産設備等の制御を実現するセーフティ・コントロール・システムは、従来より知られている。
【０００３】
このようなセーフティ・コントロール・システムの一例が図１０に示されている。同図に示されるように、このセーフティ・コントロール・システムは、一般制御を司るビルディング・ブロック型のＰＬＣ１と、非常停止等のセーフティ制御を司るＳＣ（この例では、セーフティ・リレー・コントローラ）２とを含んで構成される。
【０００４】
この種のビルディング・ブロック型のＰＬＣは、通常、ベースユニット（バックプレーン等とも称される）上に、電源ユニット、ＣＰＵユニット、入力（ＩＮ）ユニット、出力（ＯＵＴ）ユニット、通信ユニット、各種の特殊機能ユニット等々を多数装着して構成されるのであるが、図示例では、説明の便宜のために、それらのユニットのうちで、電源ユニット１１、ＣＰＵユニット１２、１台の入力（ＩＮ）ユニット１３、１台の出力（ＯＵＴ）ユニット１４のみが例示されている。
【０００５】
なお、当業者にはよく知られているが、ベースユニット１０は横長長方形状の支持プレート上に長手方向に沿ってシステムバス（電源ラインを含む）を敷設すると共に、このシステムバス上には適当な間隔を隔ててユニット装着用のソケットが配置され、各ユニット１１〜１４は、それらのソケットに対してプラグイン接続される。これにより、電源ユニット１１から他のユニット１２〜１４に対する給電がなされると共に、ＣＰＵユニット１２と入力（ＩＮ）ユニット１３及び出力（ＯＵＴ）ユニット１４とがシステムバスで結ばれる。
【０００６】
入力（ＩＮ）ユニット１３を構成するユニットハウジングの前面には、セーフティ規格の入力機器（図示例では、セーフティ・ライトカーテン）３及びＳＣ（図示例では、セーフティ・リレー・コントローラ）２の診断結果出力用端子部へと通ずるべき入力用端子部（入力用端子台ＩＮ）１３ａが設けられると共に、同ハウジングの内部には、図示を省略するが、入力用端子部１３ａに供給された信号をシステムバスに取り込むための入力回路が内蔵されている。図示例では、セーフティ規格の入力機器（安全入力機器）３からの信号及びＳＣ２からの診断結果を示す信号（正常／異常信号）は、いずれも端子台７にて中継されたのち、入力用端子部１３ａへと供給される。
【０００７】
出力（ＯＵＴ）ユニット１４を構成するユニットハウジングの前面には、出力機器（図示例では、サーボドライバであるが、インバータや電磁コンタクタである場合もある）４へと通ずるべき出力用端子部（出力用端子台ＯＵＴ）１４ａが設けられると共に、同ハウジングの内部には、図示を省略するが、システムバスを介して送られてきた出力データを出力用端子部１４ａを介して外部へと送出するための出力回路が内蔵されている。
【０００８】
ＣＰＵユニット１２は、ＰＬＣ全体を統括制御するためのものである。このＣＰＵユニット１２内には、図示を省略するが、入力格納領域と出力格納領域とを有する入出力メモリと、予め用意された命令語を使用してユーザにより任意に作成された所望の制御仕様に対応するユーザプログラムを格納するユーザメモリと、マイクロプロセッサやＡＳＩＣ等で構成された制御部とが内蔵されている。
【０００９】
この制御部は、入力回路を介して入力用端子部から入力信号を取り込んで入出力メモリの入力格納領域に入力データとして格納すると共に、入出力メモリの出力格納領域から読み出した出力データを出力回路を介して出力用端子部へと送出する入出力更新処理と、ユーザメモリから順次に命令語を読み出すと共に、これを入出力メモリの入出力データを参照して実行し、その実行結果により、入出力メモリの出力データを書き替える命令実行処理とを少なくとも含む一連の処理、を所定のサイクルタイムの下に、サイクリックに実行するように仕組まれている。
【００１０】
一方、ＳＣ２は、図示例では、１台のコントロールユニット２１と、コントロールユニット２１と協働する複数台（図示例では５台）のリレーユニット２２とを有するセーフティ・リレー・コントローラとして構成されている。
【００１１】
このコントロールユニット２１には、図示を省略するが、セーフティ規格の入力機器３へと通ずるべき入力用端子部と、出力機器４へと通ずるべき出力用端子部と、正常／異常信号を外部へと送出するための診断結果出力用端子部と、制御部とが設けられている（例えば、特許文献１参照）。
【００１２】
図示例では、セーフティ規格の入力機器３からの信号は端子台７にて中継されたのち、入力用端子部へと供給され、出力用端子部から出力される遮断出力信号についても、端子台７にて中継されたのち、出力機器（図示例では、サーボドライバ）４へと供給され、さらに、診断結果出力用端子部から出力される正常／異常信号についても、端子台７にて中継されたのち、ＰＬＣ１の入力（ＩＮ）ユニット１３の入力用端子部（ＩＮ）１３ａへと供給される。
【００１３】
制御部は、入力用端子部を介して入力機器３がオン状態かオフ状態かを判定する入力オンオフ判定処理と、入力用端子部を介して入力機器３が正常であるか異常であるかを診断する入力機器診断処理と、当該セーフティ・コントローラ自身が正常であるか異常であるかを診断する自己診断処理と、入力オンオフ判定処理による判定結果に基づいて生成される遮断信号を出力用端子部から送出する遮断信号出力処理と、入力機器診断処理により入力機器３が異常であると診断されるか、又は自己診断結果出力処理により当該セーフティ・コントローラ自身が異常であると診断されたときに、診断結果出力用端子部から異常である旨の正常／異常信号を外部へと送出する診断結果出力処理とを実行するように仕組まれている。
【００１４】
以上説明したセーフティ・コントロール・システムの構成を示す概念図が図１１に示されている。同図に示されるように、この種のセーフティ・コントロール・システムにあっては、セーフティ規格の入力機器３が作動したことに応答する遮断出力による出力機器４の電源遮断処理（所謂緊急停止）は、所定の厳格なセーフティ規格を満足するＳＣ２においては実行を許可されるものの、そのようなセーフティ規格の満足しないＰＬＣ１においては実行を許可されていない。
【００１５】
そのため、図１１に示されるように、入力機器（セーフティ・ライトカーテン等）３からの信号は、２系統に分岐されたのち、ＰＬＣ１とＳＣ２とに並列に供給されてはいるものの、これを緊急停止のための遮断出力生成に利用するのはＳＣ２の側のみであって、ＰＬＣ１の側では入力機器３からの信号及びＳＣ２からの正常／異常信号を受け取りはするものの、それらは専らプログラマブル表示器６への状態表示のためなどに供されるに過ぎない。
【００１６】
その結果、仮に、ＰＬＣそれ自体に正常時（否緊急時）の「速度制御された停止（以下、「制御停止」と言う）」のための減速用プログラムが組み込まれていたとしても、この減速用プログラムは入力用機器（セーフティ・ライトカーテン等）３が作動した際における緊急停止に供されることはなく、結局、入力用機器３が作動した際における緊急停止は、例えば、動力系に備えられたブレーキ機構（ブレーキ付モータ等の場合）等による速度制御不能な停止（以下、「制御不能停止」と言う）に委ねざるを得ない。
【特許文献１】特開２００４−２２１９０５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
ところで、一般に、この種のセーフティ・コントロール・システムに適用される制御対象生産設備等には、ロボットアームやスタッカクレーン等々のように、比較的に慣性の大なる重量物体が含まれている。そのため、そのような生産設備の設計にあたっては、そのような重量物体が最大速度で運動中乃至走行中に、入力機器（セーフティ・ライトカーテン等々）の作動により、緊急停止のための制御不能停止が発生した場合にも、そのような重量物体が周囲物体に衝突することなく安全に停止できるように、十分な距離（安全距離）乃至空間（安全空間）を周囲に確保することが必要となり、その結果、設備が大型化せざるを得ないと言う問題点があった。
【００１８】
従来のセーフティ・コントロール・システムにおける入力機器作動時の被制御対象走行体（スタッカクレーン、その他各種のクレーン等々）の速度変化を示すグラフが図１２に示されている。図において、Ｔ０は安全処理時間、Ｔ１は安全機器の全応答時間、Ｔ２は制御対象機器の応答時間、Ｔ３は入力機器（セーフティ・ライト・カーテン）３の応答時間、Ｔ４はＳＣ（セーフティ・リレー・コントローラ）２の応答期間、Ｔ５は出力機器（サーボドライバ又はインバータ）４の応答時間、Ｔ６はモータ５の応答時間である。
【００１９】
図から明らかなように、被制御対象走行体（例えば、スタッカクレーン等）が最大速度（Ｖｍａｘ）で走行中に、セーフティ規格の入力機器（セーフティ・ライトカーテン）３において、時刻０に、なんらかの作動要因（人の通過等）が発生すると、入力機器３の応答時間Ｔ３が経過した時点ｔ１において、ＳＣ２が起動され、それからさらにＳＣ２の応答時間Ｔ４（通常１０ｍｓ〜５０ｍｓ程度）が経過した時点、換言すれば、時刻０から安全機器の全応答時間Ｔ１が経過した時点ｔ５において、ＳＣ２から遮断出力が発せられて、出力機器（サーボドライバ又はインバータ）４の電源が遮断され、それからさらにモータ５の応答時間Ｔ６が経過した時点、換言すれば、時刻ｔ５から制御対象機器の応答時間Ｔ２が経過した時点（さらに換言すれば、時刻０から安全処理時間Ｔ０が経過した時点）ｔ７以降、図中符号Ｌ１に示されるように、被制御対象走行体は制御不能停止となり、その後、時刻ｔ８において、制御対象走行体は停止することとなる。
【００２０】
この制御不能停止による制動距離は、図中ハッチングで示される領域の面積で表され、これが設備設計の際に厳守すべき「安全距離」となる。図から明らかなように、この「安全距離」は、安全処理時間Ｔ０に依存する第１の区間（０〜ｔ７）と設備自身のブレーキ仕様に依存する第２の区間（ｔ７〜ｔ８）とからなる。
【００２１】
ここで、第１の区間（０〜ｔ７）の大部分を占めるＳＣの応答時間Ｔ４の値は、通常、１０ｍｓ〜５０ｍｓ程度と比較的に長い。これは、ＳＣ２の制御部においては、２台のマイクロプロセッサを並列に作動させつつ、複雑な二重化ソフトウェアを実行することに主として起因する。
【００２２】
もっとも、この問題は、一見、高速動作の可能なマイクロプロセッサの導入により解決できそうにも見えるが、そのためには、高価なマイクロプロセッサが２台必要となることに加えて、それに対応するソフトウェアについても開発し直すことが必要となり、市場の要求する価格に抑えることは極めて困難である。そのため、ＳＣ２に関する既存のハードウェア構成並びにソフトウェア構成を前提とする限り、上述の第１の区間（０〜ｔ７）の距離短縮には限界がある。
【００２３】
また、第２の区間（ｔ７〜ｔ８）の減速率は、設備自体のブレーキ仕様に依存することに加えて、減速率は減速開始から停止に至る全区間、ほぼ一定となる。そのため、減速開始時における急減速による衝撃を考慮すると、設備のブレーキ仕様はある程度緩やかな減速率となるように設定せざるを得ない。
【００２４】
すなわち、制御不能停止時におけるブレーキ機構等の制動力を増加させれば、第２の区間（ｔ７〜ｔ８）の距離を短縮させて、その分だけ対象となる生産設備等を小型化することもできるが、そうすると、例えば昨今大画面テレビ等に供されるディスプレイ用の大型ガラス板を搬送するスタッカクレーン等の場合、そのような急激な制動により、搬送中のガラス板が振り落とされて破損し、その復旧のために多大な損害が発生する。そのため、減速開始時における急減速による衝撃を回避する設定を前提とする限り、上述のは第２の区間（ｔ７〜ｔ８）の距離短縮にも限界がある。
【００２５】
一方、図１０に示される従来のセーフティ・コントロール・システムにあっては、ＰＬＣ１側にあって、ＳＣ２及び入力機器３からの信号群を受け付けるための手段としては、入力用端子部１３ａから単に入力信号を取り込む機能しか具備しない入力（ＩＮ）ユニット１３が、また出力機器４へと正常時原則／遮断出力を送出するための手段としては、出力用端子部１４ａから外部へと出力信号を送出する機能しか具備しない出力（ＯＵＴ）ユニット１４が採用されている。
【００２６】
また、先に説明したように、この種のシステムを実現するためには、入力機器３からの信号群をＰＬＣ１とＳＣ２とに分配すると共に、ＰＬＣ１からの信号とＳＣ２からの信号群とを択一的に出力機器４へと与えねばならない。
【００２７】
そのため、図１０に示される従来のセーフティ・コントロール・システムにあっては、それら４つの機器（ＰＬＣ１、ＳＣ２、入力機器３、出力機器４）との間に中継用の端子台を設けて、信号群の分配や合流のための複雑な渡り配線を行わねばならず、配線作業が繁雑であることから配線間違いも生じがちとなる言った問題点がある。
【００２８】
この発明は、従来のセーフティ・コントロール・システムにおける上述の問題点に着目してなされたものであり、その目的とするところは、セーフティ規格の入力機器が作動した際、被制御対象設備に含まれる走行体や運動体の制動距離をできる限り短縮することにより、設備設計上において厳守されるべき安全距離を短縮して、被制御対象設備の小型化乃至省スペース化を実現することができるセーフティ・コントロール・システムを提供することにある。
【００２９】
この発明の他の目的とするところは、入力機器３からの信号群をＰＬＣ１とＳＣ２とに分配すると共に、ＰＬＣ１からの信号とＳＣ２からの信号群とを択一的に出力機器４へと与えるについて、４つの機器（ＰＬＣ１、ＳＣ２、入力機器３、出力機器４）との間に中継用の端子台を設けることとを不要として、信号群の分配や合流のための配線作業を簡素化することができるＰＬＣのセーフティ・インタフェース・ユニットを提供することにある。
【００３０】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００３１】
上述の発明が解決しようとする課題は、以下の構成を有するセーフティ・コントロール・システム及びセーフティ・インタフェース・ユニットにより実現することができる。
【００３２】
すなわち、このセーフティ・コントロール・システムは、セーフティ・コントローラと、プログラマブル・コントローラとを有する。
【００３３】
セーフティ・コントローラは、セーフティ規格の入力機器へと通ずるべき入力用端子部と、出力機器へと通ずるべき出力用端子部と、正常／異常信号を外部へと送出するための診断結果出力用端子部と、制御部とを有する。
【００３４】
制御部は、入力用端子部を介して入力機器がオン状態かオフ状態かを判定するする入力オンオフ判定処理と、入力用端子部を介して入力機器が正常であるか異常であるかを診断する入力機器診断処理と、当該セーフティ・コントローラ自身が正常であるか異常であるかを診断する自己診断処理と、入力オンオフ判定処理による判定結果に基づいて生成される遮断出力信号を出力用端子部から送出する遮断信号出力処理と、入力機器診断処理により入力機器が異常であると診断されるか、又は自己診断結果出力処理により当該セーフティ・コントローラ自身が異常であると診断されたときに、診断結果出力用端子部から異常である旨の正常／異常信号を外部へと送出する診断結果出力処理とを実行するように仕組まれている。
【００３５】
一方、プログラマブル・コントローラは、セーフティ規格の入力機器及びセーフティ・コントローラの診断結果出力用端子部へと通ずるべき入力用端子部と、出力機器へと通ずるべき出力用端子部と、入力用端子部から内部へと入力信号を取り込むための入力回路と、出力用端子部から外部へと出力信号を送出するための出力回路と、入力格納領域と出力格納領域とを有する入出力メモリと、予め用意された命令語を使用してユーザにより任意に作成された所望の制御仕様に対応するユーザプログラムを格納するユーザメモリと、制御部とを有する。
【００３６】
制御部は、入力回路を介して入力用端子部から入力信号を取り込んで入出力メモリの入力格納領域に入力データとして格納すると共に、入出力メモリの出力格納領域から読み出した出力データを出力回路を介して出力用端子部へと送出する入出力更新処理と、ユーザメモリから順次に命令語を読み出すと共に、これを入出力メモリの入出力データを参照して実行し、その実行結果により、入出力メモリの出力データを書き替える命令実行処理とを少なくとも含む一連の処理、を所定のサイクルタイムの下に、サイクリックに実行するように仕組まれている。
【００３７】
プログラマブル・コントローラのサイクルタイムは、セーフティ規格の入力機器が作動したのち、セーフティ・コントローラの出力用端子部から遮断出力信号が出力されるまでの所要時間よりも十分に短いものとされる。
【００３８】
プログラマブル・コントローラには、ユーザがユーザプログラム中で使用可能なファンクションブロックの１つとして「模擬遮断出力生成用のファンクションブロック」が用意されている。
【００３９】
この「模擬遮断出力生成用のファンクションブロック」は、セーフティ・コントローラの正常／異常出力を参照すると共に、その参照結果を前提とした上で、セーフティ規格の入力機器の制御出力に基づいて、セーフティ・コントローラの制御部において実行されるべき入力オンオフ判定処理に相当する処理を実行して、セーフティ・コントローラの出力用端子部から出力されるべき遮断出力を模擬的に生成するように仕組まれている。
【００４０】
ここで、「遮断前に必要な前処理」については、被制御対象設備がどのようなものであるかに応じて区々である。例えば、被制御対象設備がスタッカクレーン等のような慣性の大なる走行体やロボットアーム等の慣性の大なる運動体である場合には、「遮断前に必要な前処理」としては、当該走行体又は運動体の駆動源（モータや流体シリンダ等々のアクチュエータ）に対する減速処理、停止処理等々がこれに相当する。また、被制御対象設備が不用意な電源遮断が何らかの危険に繋がる虞が懸念される生産ライン等の場合には、「遮断前に必要な前処理」としては、そのような危険を回避するための様々な退避処理等がこれに相当する。
【００４１】
このような構成によれば、プログラマブル・コントローラのユーザプログラム中に「模擬遮断出力生成用のファンクションブロック」を組み込むことにより、セーフティ・コントローラから遮断出力が発せられるであろう状況下にあっては、そのことをプログラマブル・コントローラの側でいち早く察知して、「遮断前に必要な前処理」を実行させることができる。そのため、「遮断前に必要な前処理」として、例えば、減速処理や停止処理等を採用すれば、セーフティ規格の入力機器が作動した際、被制御対象設備に含まれる走行体や運動体の制動距離をできる限り短縮して、設備設計上において厳守されるべき安全距離を短縮し、被制御対象設備の小型化乃至省スペース化を実現することができる。また、このような構成によれば、セーフティ・コントローラの正常／異常出力を参照すると共に、その参照結果を前提とした上で、遮断出力を模擬的に生成するため、ＰＬＣから発せられる模擬遮断出力とは言え、その信頼性が過度に低下することはない。
【００４２】
好ましい実施の形態においては、プログラマブル・コントローラには、ユーザプログラム中で使用可能なファンクションブロックの１つとして「サーボモータ制御用のファンクションブロック」がさらに用意される。この「サーボモータ制御用のファンクションブロック」は、「模擬遮断出力生成用のファンクションブロック」の実行により生成される模擬遮断出力に基づいて、サーボモータ減速出力を生成するように仕組まれている。
【００４３】
このような構成によれば、プログラマブル・コントローラのユーザプログラム中に「模擬遮断出力生成用のファンクションブロック」及び「サーボモータ制御用のファンクションブロック」を組み込むことにより、セーフティ・コントローラから遮断出力が発せられるであろう状況下にあっては、そのことをプログラマブル・コントローラの側でいち早く察知して、サーボモータへの電源が遮断される前に、サーボモータを十分に減速させ、これにより、セーフティ規格の入力機器が作動した際、被制御対象設備に含まれる走行体や運動体の制動距離をできる限り短縮して、設備設計上において厳守されるべき安全距離を短縮し、被制御対象設備の小型化乃至省スペース化を実現することができる。
【００４４】
好ましい実施の形態においては、「模擬遮断出力生成用のファンクションブロック」は、模擬遮断出力を生成する機能に加えて、生成された模擬遮断出力に基づいて、サーボモータ減速出力を生成するように仕組まれている。
【００４５】
このような構成によれば、プログラマブル・コントローラのユーザプログラム中に「模擬遮断出力生成用のファンクションブロック」を組み込むだけで、セーフティ・コントローラから遮断出力が発せられるであろう状況下にあっては、そのことをプログラマブル・コントローラの側でいち早く察知して、サーボモータへの電源が遮断される前に、サーボモータを十分に減速させ、これによりセーフティ規格の入力機器が作動した際、被制御対象設備に含まれる走行体や運動体の制動距離をできる限り短縮して、設備設計上において厳守されるべき安全距離を短縮し、被制御対象設備の小型化乃至省スペース化を実現することができる。
【００４６】
別の一面から見た本発明は、プログラマブル・コントローラのセーフティ・インタフェース・ユニットとして把握することもできる。
【００４７】
このセーフティ・インタフェース・ユニットは、ビルディング・ブロック型のプログラマブル・コントローラを構成する１つのユニットであって、ベースユニット上に敷設されたシステムバスに装着可能なユニットハウジングを有する。
【００４８】
このユニットハウジングの前面には、第１の入力用端子部と、第１の出力用端子部と、第２の入力用端子部と、第２の出力用端子部とが設けられている。
【００４９】
第１の入力用端子部は、セーフティ規格の入力機器からの信号群の入力用に供されると共に、第１の出力用端子部は、セーフティ・コントローラへの信号群の出力用に供され、さらに第１の入力用端子部に入力される信号群は２系統に分岐されたのち、一方は第１の出力用端子台へと分配され、他方は入力回路を介してシステムバスへと取り込み可能とされている。
【００５０】
第２の入力用端子部は、セーフティ・コントローラからの信号群の入力用に供されると共に、第２の出力用端子部は、インバータやサーボドライバ等の出力機器への信号群の出力用に供され、さらに第２の入力用端子部に入力される信号群は２系統に分岐されたのち、一方は第２の出力用端子部へと分配され、他方は入力回路を介してシステムバスへと取り込み可能とされている。
【００５１】
このような構成によれば、上述のいずれかのセーフティ・コントロール・システムに適用された際に、入力機器からの信号群をプログラマブル・コントローラとセーフティ・コントローラへと分配するための信号線分岐、及びプログラマブル・コントローラからの信号群とセーフティ・コントローラからの信号群とを出力機器へと合流させるための信号線合流を、ユニットハウジングの内部にて行うことにより、入力機器３からの信号群をＰＬＣ１とＳＣ２とに分配すると共に、ＰＬＣ１からの信号とＳＣ２からの信号群とを択一的に出力機器４へと与えるについて、４つの機器（ＰＬＣ１、ＳＣ２、入力機器３、出力機器４）との間に中継用の端子台を設けることとを不要として、信号群の分配や合流のための配線作業を簡素化することができる。
【発明の効果】
【００５２】
本発明のセーフティ・コントロール・システムによれば、プログラマブル・コントローラのユーザプログラム中に「模擬遮断出力生成用のファンクションブロック」を組み込むことにより、セーフティ・コントローラから遮断出力が発せられるであろう状況下にあっては、そのことをプログラマブル・コントローラの側でいち早く察知して、「遮断前に必要な前処理」を実行させることができる。そのため、「遮断前に必要な前処理」として、例えば、減速処理や停止処理等を採用すれば、セーフティ規格の入力機器が作動した際、被制御対象設備に含まれる走行体や運動体の制動距離をできる限り短縮して、設備設計上において厳守されるべき安全距離を短縮し、被制御対象設備の小型化乃至省スペース化を実現することができる。
【００５３】
本発明のプログラマブル・コントローラのセーフティ・インタフェース・ユニットによれば、セーフティ・コントロール・システムに適用された際に、入力機器からの信号群をプログラマブル・コントローラとセーフティ・コントローラへと分配するための信号線分岐、及びプログラマブル・コントローラからの信号群とセーフティ・コントローラからの信号群とを出力機器へと合流させるための信号線合流を、ユニットハウジングの内部にて行うことにより、入力機器３からの信号群をＰＬＣ１とＳＣ２とに分配すると共に、ＰＬＣ１からの信号とＳＣ２からの信号群とを択一的に出力機器４へと与えるについて、４つの機器（ＰＬＣ１、ＳＣ２、入力機器３、出力機器４）との間に中継用の端子台を設けることとを不要として、信号群の分配や合流のための配線作業を簡素化することができる。
【発明を実施するための最良の形態】
【００５４】
以下に、本発明に係るセーフティ・コントロール・システムの好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【００５５】
本発明に係るセーフティ・コントロール・システムの一例を示す構成図が図１に示されている。同図に示されるように、このセーフティ・コントロール・システムは、一般制御を司るビルディング・ブロック型のＰＬＣ１と、非常停止等のセーフティ制御を司るＳＣ（この例では、セーフティ・リレー・コントローラ）２とを含んで構成される。
【００５６】
この種のビルディング・ブロック型のＰＬＣは、通常、ベースユニット（バックプレーン等とも称される）上に、電源ユニット、ＣＰＵユニット、入力（ＩＮ）ユニット、出力（ＯＵＴ）ユニット、通信ユニット、各種の特殊機能ユニット等々を多数装着して構成されるのであるが、図示例では、説明の便宜のために、それらのユニットのうちで、電源ユニット１１、ＣＰＵユニット１２、及び本発明者等の提案する新規なセーフティ・インタ府エース（Ｉ／Ｆ）・ユニット１５のみが例示されている。
【００５７】
なお、先に説明したように、ベースユニット１０は横長長方形状の支持プレート上に長手方向に沿ってシステムバス（電源ラインを含む）を敷設すると共に、このシステムバス上に適当な間隔を隔ててユニット装着用のソケットを配置したものであり、各ユニット１１、１２、及び１５は、それらのソケットに対してプラグイン接続される。これにより、電源ユニット１１から他のユニット１２、１５に対する給電がなされると共に、ＣＰＵユニット１２とセーフティ・インタフェース（Ｉ／Ｆ）・ユニット１５とがシステムバスで結ばれる。
【００５８】
セーフティ・インタフェース（Ｉ／Ｆ）・ユニット１５を構成するユニットハウジングの前面には、セーフティ規格の入力機器（図示例では、セーフティ・ライトカーテン）３へと通ずるべき「入力用端子部（入力用端子台）」と、出力機器（図示例では、サーボドライバ）４へと通ずるべき「出力用端子部（出力用端子台）」とが設けられている。
【００５９】
特に、この例にあっては、上記の「入力用端子部」は、セーフティ規格の入力機器（図示例では、セーフティ・ライトカーテン）３へと通ずるべき第１の入力用端子部１５ａと、ＳＣ（図示例では、セーフティ・リレー・コントローラ）２の出力用端子部へと通ずるべき第２の入力端子部１５ｃとから構成されている。
【００６０】
上記の「出力用端子部」は、ＳＣ（図示例では、セーフティ・リレー・コントローラ）２の入力用端子部へと通ずるべき第１の出力用端子部１５ｂと、出力機器（図示例では、サーボドライバ）４へと通ずるべき第２の出力用端子部１５ｄとから構成されている。
【００６１】
第１の入力用端子部１５ａは、セーフティ規格の入力機器３からの信号群［１］の入力用に供されると共に、第１の出力用端子部１５ｂは、ＳＣ２への入力機器３からの信号群［２］の出力用に供される。さらに、第１の入力用端子部１５ａに入力される入力機器３からの信号群［１］は、図２に示されるように、ユニットの内部で２系統に分岐されたのち、一方は第１の出力用端子部１５ｂへと分配され、他方は入力回路（第３のＡＳＩＣ１５１で構成される）を介してシステムバス（図示せず）へと取り込み可能とされている。
【００６２】
第２の入力用端子部１５ｃは、ＳＣ２からの信号群（［３］，［４］）の入力用に供されると共に、第２の出力用端子部１５ｄは、インバータやサーボドライバ等の出力機器４への信号群［５］の出力用に供される。さらに、第２の入力用端子部１５ｃに入力されるＳＣ２からの信号群（［３］，［４］）はユニットの内部で２系統に分岐されたのち、一方のうちの信号群［４］は第２の出力用端子部１５ｄへと分配され、他方の信号群（［３］，［４］）は入力回路（第３のＡＳＩＣ１５１で構成される）を介してシステムバス（図示せず）へと取り込み可能とされる。
【００６３】
このような構成よりなるセーフティ・インタフェース・ユニット１５を使用することにより、セーフティ・コントロール・システムに適用された際に、入力機器３からの信号群をＰＬＣ１とＳＣ２へと分配するための信号線分岐、及びＰＬＣ１からの信号群とＳＣ２からの信号群とを出力機器４へと合流させるための信号線合流は、ユニットハウジングの内部にて行われることとなり、入力機器３からの信号群をＰＬＣ１とＳＣ２とに分配すると共に、ＰＬＣ１からの信号とＳＣ２からの信号群とを択一的に出力機器４へと与えるについて、４つの機器（ＰＬＣ１、ＳＣ２、入力機器３、出力機器４）との間に中継用の端子台を設けることが不要となり、信号群の分配や合流のための配線作業を簡素化することが可能となる。
【００６４】
ＣＰＵユニット１２は、ＰＬＣ全体を統括制御するためのものである。このＣＰＵユニット１２内には、後に図２を参照して詳述するが、入力格納領域と出力格納領域とを有する入出力メモリ（ＩＯＭ）と、予め用意された命令語を使用してユーザにより任意に作成された所望の制御仕様に対応するユーザプログラムを格納するユーザメモリ（ＵＭ）と、マイクロプロセッサ（ＭＰＵ）やＡＳＩＣ等で構成された制御部とが内蔵されている。
【００６５】
この制御部は、入力回路を介して第１及び第２の入力用端子部１５ａ，１５ｃから入力信号を取り込んで入出力メモリ（ＩＯＭ）の入力格納領域に入力データとして格納すると共に、入出力メモリ（ＩＯＭ）の出力格納領域から読み出した出力データを出力回路を介して第１及び第２の出力用端子部１５ｂ，１５ｄへと送出する入出力更新処理と、ユーザメモリ（ＵＭ）から順次に命令語を読み出すと共に、これを入出力メモリ（ＩＯＭ）の入出力データを参照して実行し、その実行結果により、入出力メモリ（ＩＯＭ）の出力データを書き替える命令実行処理とを少なくとも含む一連の処理、を所定のサイクルタイム（通常、１０ｍｓ程度）の下に、サイクリックに実行するように仕組まれている。
【００６６】
一方、ＳＣ２は、図示例では、１台のコントロールユニット２１と、コントロールユニット２１と協働する複数台（図示例では５台）のリレーユニット２２とを有するセーフティ・リレー・コントローラとして構成されている。
【００６７】
このコントロールユニット２１には、図示を省略するが、セーフティ規格の入力機器３へと通ずるべき入力用端子部と、出力機器４へと通ずるべき遮断出力信号送出用の出力用端子部と、正常／異常信号を外部へと送出するための診断結果出力用端子部と、制御部とが設けられている。
【００６８】
制御部は、のちに図４を参照して詳述するように、入力用端子部を介して入力機器３がオン状態かオフ状態かを判定して遮断出力を生成する入力オンオフ判定処理と、入力用端子部を介して入力機器３が正常であるか異常であるかを診断する入力機器診断処理と、当該セーフティ・コントローラ自身が正常であるか異常であるかを診断する自己診断処理と、入力オンオフ判定処理による判定結果に基づいて生成される遮断出力信号を出力用端子部から送出する遮断信号出力処理と、入力機器診断処理により入力機器３が異常であると診断されるか、又は自己診断結果出力処理により当該セーフティ・コントローラ自身が異常であると診断されたときに、診断結果出力用端子部から異常である旨の正常／異常信号を外部へと送出する診断結果出力処理とを実行するように仕組まれている。
【００６９】
次に、本発明システムに含まれるＰＬＣを構成するＣＰＵユニット及びセーフティＩ／Ｆユニットのハードウェアブロック図が、図２に示されている。
【００７０】
同図に示されるように、ＣＰＵユニット１２は、システムメモリ（ＲＯＭ）１２１と、ワークメモリ（ワークＲＡＭ）１２２と、データ格納用不揮発性メモリ１２３と、マイクロプロセッサ（ＭＰＵ）１２４と、第２のＡＳＩＣ（特定用途向けＩＣ）１２５と、ユーザメモリ（ＵＭ）１２６と、第１のＡＳＩＣ（特定用途向けＩＣ）１２７と、入出力メモリ（ＩＯＭ）１２８とを含んで構成される。
【００７１】
システムメモリ（ＲＯＭ）１２１は、当該ＣＰＵに必要な各種の機能を実現するためのシステムプログラムが格納されている。このシステムプログラムにより実現される各種の機能としては、図３を参照して後に詳述するように、電源ＯＮ時処理（ステップ１０１）、共通処理（ステップ１０２）、命令実行処理（ステップ１０３）、入出力更新処理（Ｉ／Ｏリフレッシュ処理）１０４、及び周辺サービス処理（ステップ１０５）等々が含まれている。
【００７２】
ワークメモリ１２２は、マイクロプロセッサ１２４にて上述のシステムプログラムを実行する際のワークエリア等として機能するものである。このワークメモリ１２２には、システムプログラムをマイクロプロセッサが実行する際に必要とされる各種のレジスタ、カウンタ、フラグ等々が格納されることとなる。
【００７３】
データ格納用不揮発性メモリ１２３は、電源が遮断されても記憶内容が保存されるように仕組まれたメモリ素子（例えば、フラッシュメモリ、バッテリバックアップメモリ等々）で構成されている。このメモリ１２３には、異常通知の設定、異常ステータス等が格納される。
【００７４】
マイクロプロセッサ（ＭＰＵ）は、ＣＰＵユニット１２の全体を統括制御するものであり、システムメモリ１２１に格納された各種のシステムプログラムを読み出して実行することにより、上述の電源ＯＮ時処理（ステップ１０１）、共通処理（ステップ１０２）、命令実行処理（ステップ１０３）、入出力更新処理（Ｉ／Ｏリフレッシュ処理）１０４、及び周辺サービス処理（ステップ１０５）等々を実現する。ここで、命令実行処理（ステップ１０３）は、第１のＡＳＩＣ１２５による外部サポートの下に行われる。
【００７５】
第２のＡＳＩＣ１２５は、ベースユニット１０に含まれるシステムバスとのインタフェース処理を実行するように仕組まれた特定用途向けＩＣであり、この第２のＡＳＩＣ１２５を介することで、ＣＰＵユニット１２とシステムバスとの間における各種のデータのやり取りが行われる。
【００７６】
ユーザメモリ１２６は、ユーザが望む制御仕様に対応する処理を所定のプログラム言語で記述してなるユーザプログラムを格納するメモリであり、このメモリに格納されるユーザプログラムは、電源投入時に図示しない不揮発性バックアップメモリから転送記憶される。本発明と関連して後述する各種のファンクションブロック（模擬遮断出力生成ＦＢ、サーボモータ制御ＦＢ、制御停止ＦＢ等々）は、このユーザプログラムメモリに格納される。
【００７７】
第１のＡＳＩＣ１２７は、ユーザメモリ（ＵＭ）１２６に格納されたユーザプログラムを読み出して実行する命令実行処理、図示しない通信ユニットとの間におけるインタフェース処理、メモリアクセスの際のバス調停処理等々を実行するように仕組まれてた特定用途向けＩＣである。
【００７８】
次に、セーフティ・インタフェース（Ｉ／Ｆ）・ユニット１５は、第３のＡＳＩＣ１５１を主体として構成されている。この第３のＡＳＩＣ１５１は、外部からの各種の入力信号（セーフティ規格の入力機器３からの信号［１］、ＳＣ２からの正常／異常信号［３］）をベースユニット１０上のシステムバスへと取り込むための入力回路やＣＰＵユニット１２で生成されかつシステムバスへと送出された出力データ（減速出力、遮断出力）を出力信号［５］として外部へと出力するための出力回路として機能するものである。
【００７９】
なお、図から明らかなように、セーフティ規格の入力機器３からの信号［１］は、セーフティ・インタフェース（Ｉ／Ｆ）・ユニット１５内において２系統に分岐され、その一方は先に説明したように、第３のＡＳＩＣ１５１を介してシステムバスへと取り込まれるが、他方はユニット内部を迂回したのち、出力信号［２］として外部へと出力され、ＳＣ２へと送出される。
【００８０】
次に、ＰＬＣ１の処理全体（より正確には、ＲＵＮモードの処理全体）を示すフローチャートが、図３に示されている。同図に示されるように、ＣＰＵユニット１２を構成するマイクロプロセッサ（ＭＰＵ）１２４は、電源投入（電源ＯＮ）直後の電源ＯＮ時処理（ステップ１０１）の実行に続いて、共通処理（ステップ１０２）、命令実行処理（ステップ１０３）、入出力更新（Ｉ／Ｏリフレッシュ）処理（ステップ１０４）、及び周辺サービス処理（ステップ１０５）からなる一連の処理（１０２〜１０５）を１サイクルとして、これを繰り返し実行するように構成されている。この一連の処理（１０２〜１０５）の１サイクル実行に要する時間（サイクルタイム）は、１０ｍｓｅｃ（１０ミリ秒）程度とされている。従って、ユーザプログラムを構成する一連の命令は、１０ｍｓｅｃ程度のサイクルで繰り返し実行されることとなる。
【００８１】
なお、図３に示される各処理（ステップ１０１〜１０５）の実行内容は、概略、次の通りである。
【００８２】
すなわち、電源ＯＮ時処理（ステップ１０１）においては、システムプログラムの実行開始に必要な各種のフラグやレジスタ等の初期設定が主としてワークメモリ１２２上において実行される。
【００８３】
続く、共通処理（ステップ１０２）上においては、ＣＰＵユニット１２それ自体にハードウェア故障の有無の診断、マイクロプロセッサ（ＭＰＵ）が演算動作を行うための各種設定の確認、等々の処理が主として実行される。
【００８４】
続く、命令実行処理（ステップ１０３）においては、第１のＡＳＩＣ１２７による外部サポートの下に、ユーザメモリ（ＵＭ）からユーザプログラムを構成する一連の命令を順次に読み出すと共に、これを入出力メモリ（ＩＯＭ）１２８の入出力データを参照して実行し、その実行結果により入出力メモリ（ＩＯＭ）１２８の主として出力データを書き替える処理が実行される。本発明に関連する各種のファンクションブロック（模擬遮断出力生成ＦＢ、サーボモータ制御ＦＢ、制御停止ＦＢ等々）は、この命令実行処理（ステップ１０３）において実行される。
【００８５】
続く、入出力更新処理（Ｉ／Ｏリフレッシュ処理）（ステップ１０４）においては、図示しない入力ユニットの入力用端子部から入力回路を介して取り込まれた入力信号に対応する入力データ、及びセーフティ・インタフェース・ユニット１５の第１及び第２の入力端子部１５ａ，１５ｃから入力回路（第３のＡＳＩＣ１５１）を介して取り込まれた入力データ（入力機器３の制御出力［１］、ＳＣ２からの正常／異常出力［３］等々）を入出力メモリ（ＩＯＭ）１２８の入力領域に格納する入力更新処理と、入出力メモリ（ＩＯＭ）１２８の出力領域に格納された出力データを、図示しない出力ユニットの出力回路を介して外部へと出力信号として送出すると共に、セーフティ・インタフェース・ユニット１５の第１及び第２の出力用端子部１５ｂ，１５ｄから出力信号（減速出力信号、遮断出力信号［５］）として外部へと出力する出力更新処理とが実行される。
【００８６】
なお、当業者にはよく知られているように、入出力更新処理には、上述した「ＥＮＤリフレッシュ方式」（ステップ１０４）のものと、「都度リフレッシュ方式」のものとが知られており、都度リフレッシュ方式の場合には、各命令語が実行されるたびに、その都度に、入力更新処理と出力更新処理とが実行される。
【００８７】
続く、周辺サービス処理（ステップ１０５）においては、他の機器（例えば、上位装置として機能するパソコン、他のＰＬＣ、リモート入出力ターミナル、プログラム開発支援装置、等々）が通信を介して接続されている場合には、それらの機器との間における通信処理等が実行される。
【００８８】
次に、ＳＣ２の処理全体を示すゼネラルフローチャートが図４に示されている。同図に示されるように、ＳＣ２を構成する図示しない２台のマイクロプロセッサ（ＭＰＵ）は、互いに協働しつつ並列に動作することにより、電源投入（電源ＯＮ）直後の電源ＯＮ時処理（ステップ２０１）の実行に続いて、入力処理／出力判定処理（ステップ２０２）、診断処理（ステップ２０３）、出力処理（ステップ２０４）、及びその他の処理（ステップ２０５）からなる一連の処理（２０２〜２０５）を１サイクルとして、これを繰り返し実行するように構成されている。この一連の処理（２０２〜２０５）の１サイクル実行に要する時間（サイクルタイム）は、３０ｍｓｅｃ〜５０ｍｓｅｃ程度とされている。従って、ユーザプログラムを構成する一連の命令は、１０ｍｓｅｃ〜５０ｍｓｅｃ程度のサイクルで繰り返し実行されることとなる。
【００８９】
なお、図４に示される各処理（ステップ２０１〜２０５）の実行内容は、概略、次の通りである。
【００９０】
すなわち、電源ＯＮ時処理（ステップ２０１）においては、セーフティシステムの信頼性を向上させるための各種の診断処理、具体的には、ＳＣ２内に備えられる各種メモリの初期化や電源ＯＮ時の診断処理等が実行される。
【００９１】
続く、入力処理／出力判定処理（ステップ２０２）においては、複数のユニットで構成されるＳＣ２が具体的にどのようなユニットで構成されているかを判定し、実行すべきセーフティ動作プログラムを決定する処理が実行される。その後、入力用端子部を介してセーフティ規格の入力機器３の制御出力（通常、互いに対をなす並列２系統の信号により構成される）を取り込むと共に、各対をなす並列２系統の信号の論理状態に基づいて、その入力機器の制御出力がオン状態又はオフ状態のいずれであるかを判定する処理が実行される。さらにその後、セーフティ入力機器の制御出力のオンオフ状態にしたがって、先に決定されたセーフティ動作プログラムが実行され、その結果として、出力用端子部から出力されるべき遮断出力信号のオンオフ状態が判定されます。ここで、セーフティ動作プログラムの例としては、例えば、オンディレー機能やオフディレー機能を実現するもの等を挙げることができる。
【００９２】
続く、診断処理（ステップ２０３）においては、入力用端子部を介して入力機器３が正常であるか異常であるかを診断する「入力機器診断処理」と、当該セーフティ・コントローラ自身が正常であるか異常であるかを診断する「自己診断処理」とが実行される。このとき、「入力機器診断処理」としては、例えば、ＳＣ２の出力用端子部からテストパルスを送出する一方、これを入力機器３の出力接点を経由してＳＣ２の入力用端子部へとフィードバックさせることにより、入力機器３の接点の焼き付きや接触不良を検知する等の診断処理が採用される。また、「自己診断処理」としては、並列に動作する２台のマイクロプロセッサに関する各種のハードウェアチェックのほか、それら並列に動作する２台のマイクロプロセッサの処理結果をプログラム単位又はブロック単位で逐次照合すると言った動作チェック処理、さらには入力機器や出力機器が接続されるＳＣ２の端子台を構成する入力回路や出力回路の状態を診断すると言った処理等が実行される。このとき、診断した結果はエラーコードとして所定のメモリに格納される。
【００９３】
続く、出力処理（ステップ２０４）においては、入力処理／出力判定処理（ステップ２０２）において生成された遮断出力信号を外部へと送出する「遮断信号出力処理」と、診断処理（ステップ２０３）において生成された正常／異常信号を外部へと送出する「診断結果出力処理」とが実行される。
【００９４】
続く、その他の処理（ステップ２０５）においては、当該ＳＣ２とプログラム開発支援装置等との通信を含む周辺サービス処理や当該ＳＣ２の機種に固有な様々な処理が実行される。すなわち、ＳＣ２に対する入力（入力機器３の制御出力を含む）とＳＣ２からの出力（遮断出力を含む）との関係を規定する論理条件については、ユーザがプロクラム可能とされているのであるが、そのためのプログラミング操作は、ＳＣ２に対して図示しないプログラム開発支援装置（ツール装置）を接続すると共に、プログラム開発支援装置を構成するパソコンにインストールされたツールソフトを起動し、画面上の案内と操作部（キーボードやマウス）の操作を通じて行われるのであり、そのための処理は上述の処理（ステップ２０５）において行われる。
【００９５】
次に、本発明に関連して、メーカ側からベンダ側又はエンドユーザ側へと提供される新規なファンションブロック（ＦＢ）の幾つかの例について詳述する。すなわち、本発明システムに適用されるＰＬＣ１には、ユーザプログラム中で使用可能なファンクションブロック（ＦＢ）の１つとして「模擬遮断出力生成ＦＢ」が用意されると共に、この「模擬遮断出力生成ＦＢ」は、第２の入力用端子部１５ｃからＰＬＣ１に取り込まれたＳＣ２の正常／異常出力を参照すると共に、その参照結果を前提とした上で、セーフティ規格の入力機器３の制御出力に基づいて、ＳＣ２の制御部において実行されるべき入力処理／出力判定処理（ステップ２０２）に相当する処理を実行して、ＳＣ２の出力用端子部から出力されるべき遮断出力を模擬的に生成するように仕組まれており、それにより、ユーザプログラム中に「模擬遮断出力生成ＦＢ」を組み込むことにより、ＳＣ２から遮断出力が発せられるであろう状況下にあっては、そのことをＰＬＣ１の側でいち早く察知して、遮断前に必要な前処理（例えば、減速処理）を実行できるようにしている。
【００９６】
セーフティＩ／Ｆユニット１５を介して取り込んだセーフティ機器３からの入力に基づいて模擬的に遮断出力を生成するＦＢ（「模擬遮断出力生成ＦＢ」）、および、その「模擬遮断出力生成ＦＢ」により生成された模擬遮断出力を用いて必要な前処理を実現するためのユーザプログラム（この例では「サーボモータ制御ＦＢ」）を示すラダー図が図５に示されている。
【００９７】
図において、「模擬遮断出力生成ＦＢ」が実行されると、先ず、当該ＦＢへの入力として設定された「セーフティ入力機器１制御出力１」〜「セーフティ入力機器Ｎ制御出力１」に対応する「セーフティ入力機器１」〜「セーフティ入力機器Ｎ」が何であるか（すなわち、機器種別）の判定が行われる。この「模擬遮断出力生成ＦＢ」に適用可能な入力機器としては、セーフティ・ライトカーテンやセーフティ・リミットスイッチ等々が挙げられる。すなわち、非常停止スイッチ等のような、オペレータ自身の操作で無条件で直ちに遮断出力を発することを要求される入力機器は排除される。
【００９８】
次に、各セーフティ入力機器からの入力が正しいかどうかの判定が行われる。この例では、各セーフティ入力機器からの入力は互いに対をなす２つの制御出力で構成されるものとする。例えば、「セーフティ入力機器１」からの安全入力は、「セーフティ入力機器１制御出力１」と「セーフティ入力機器１制御出力２」とで構成される。具体的には、「セーフティ入力機器１」からの入力の場合には、「セーフティ入力機器１制御出力１」の論理状態と「セーフティ入力機器１制御出力２」の論理状態とが等しい場合は、当該セーフティ入力機器からの入力は正しいものと判定される。一方、「セーフティ入力機器１制御出力１」の論理状態と「セーフティ入力機器１制御出力２」の論理状態とが異なる場合は、当該セーフティ入力機器からの安全入力は正しくないものとされ、その入力は無視される。入力を無視する方法としては、「セーフティ入力機器１制御出力１」の論理状態と「セーフティ入力機器１制御出力２」の論理状態とがともにオフであったものとして扱うことで実現することができる。
【００９９】
次に、入力機器の種別が許容される機器種別（例えば、セーフティ・ライトカーテン）であり、かつ正常／異常信号が「正常」であるならば、「セーフティ入力機器１制御出力１」の論理状態と「セーフティ入力機器１制御出力２」の論理状態がともにオンであることを条件として、「模擬遮断出力」がオンとされる。この模擬遮断出力は、入出力メモリ（ＩＯＭ）の所定領域に格納される。
【０１００】
なお、「模擬遮断出力生成ＦＢ」の出力側における「ＦＢ動作中」は、入力側の「安全回路正常」がオンして「模擬遮断出力生成ＦＢ」が動作中のときにオンする出力、「正常」、「異常」はそれぞれ入力側の「ＳＣ正常」、「ＳＣ異常」に対応する出力であり、それぞれ表示動作のため等に使用される。
【０１０１】
一方、「サーボモータ制御ＦＢ」は、「模擬遮断出力生成ＦＢ」の実行により生成される「模擬遮断出力」に基づいて、「サーボモータ減速出力」を生成するように仕組まれており、それにより、ＰＬＣのユーザプログラム中に「模擬遮断出力生成ＦＢ」及び「サーボモータ制御ＦＢ」を組み込むことにより、ＳＣから遮断出力が発せられるであろう状況下にあっては、そのことをＰＬＣの側でいち早く察知して、サーボモータへの電源が遮断される前に、サーボモータを十分に減速することが可能とされる。
【０１０２】
すなわち、この例にあっては、「模擬遮断出力生成ＦＢ」の出力である「模擬遮断出力」がＯＮであることを条件に「サーボモータ制御ＦＢ」が実行されるように構成されている。「サーボモータ制御ＦＢ」の中身を構成する具体的な制御プログラムは所定のプログラム言語を用いてユーザにて作成することができる。
【０１０３】
この例では、入力条件に「非常停止ＳＷ」と「サーボモータ動作条件」が組み込まれている。また、出力としては、「サーボモータ減速」や「サーボモータ停止」が組み込まれている。「サーボモータ動作条件」には、現在のサーボモータの速度が最大速度であるかどうかが割り付られている。「サーボモータ制御ＦＢ」のプログラム例としては、非常停止ＳＷが押された場合にはサーボモータを「即時停止」し、サーボモータの速度が最大速度でないならば「制御停止」すると言ったプログラムが考えられる。なお、当業者にとっては、入力の「非常停止ＳＷ」がＯＮならば出力の「サーボモータ停止」をＯＮにするようにＦＢ内の制御プログラムを構成することは容易である。また、「非常停止ＳＷ」がＯＦＦ、「サーボモータ動作条件」がＯＮの場合は、「サーボモータ減速」をＯＮにするようにＦＢ内の制御プログラムを構成することも用意である。
【０１０４】
図５に示される例にあっては、ＳＣ２から遮断出力が発せられるであろう状況下にあっては、そのことをＰＬＣ１の側でいち早く察知して、遮断前に必要な前処理（例えば、減速処理）を実行させるために２つのファンクションブロック（「模擬遮断出力生成ＦＢ」及び「サーボモータ制御ＦＢ」）を使用したが、同様な目的は、それら２つのファンクションブロックの機能を併有する１つのファンクションブロックによっても実現することができる。
【０１０５】
そのようなファンクションブロック（「制御停止ＦＢ」）を含むＰＬＣのユーザプログラムの一例を示すラダー図が図６に示されている。
【０１０６】
同図に示されるように、この「制御停止ＦＢ」は、入力としては、「安全回路正常」、「ＳＣ異常」、「ＳＣ正常」、「非常停止ＳＷ」、「セーフティライトカーテン」、「サーボ動作条件」が組み込まれると共に、出力としては、「ＥＮＯ」、「ＦＢ動作中」、「正常」、「異常」、「制御停止動作中」、「サーボ減速」、「サーボ加速」、「サーボ停止」が組み込まれている。それらの入力及び出力の意味内容は、図５に示される例と同様であるから説明は省略する。
【０１０７】
また、図６に示される「制御停止ＦＢ」を含むユーザプログラムの実行結果としての動作を示すタイムチャートが図７に示されている。図から明らかなように、「制御停止ＦＢ」は、模擬遮断出力を生成する機能に加えて、生成された模擬遮断出力に基づいて、サーボモータ減速出力を生成するように仕組まれており、それにより、プログラマブル・コントローラのユーザプログラム中に「制御停止ＦＢ」を組み込むことにより、ＳＣから遮断出力が発せられるであろう状況下にあっては、そのことをＰＬＣの側でいち早く察知して、サーボモータへの電源が遮断される前に、サーボモータを十分に減速させることができる。
【０１０８】
以上説明した本発明に係るセーフティ・コントロール・システムの構成を示す概念図が図８に示されている。同図に示されるように、本発明に係るセーフティ・コントロール・システムにあっては、ＰＬＣ１とＳＣ２との間にセーフティ・インタフェース・ユニット１５を介在して、ＰＬＣ１とＳＣ２とを実質的にユニット化すると共に、ＳＣ２からＰＬＣ１へと正常／異常信号を供給すると共に、ＰＬＣ１とＳＣ２とでセーフティ入力機器３からの信号を共用する。さらに、ＰＬＣ１側には、ＳＣ２の正常／異常出力を参照すると共に、その参照結果を前提とした上で、セーフティ規格の入力機器３の制御出力に基づいて、ＳＣ２の制御部において実行されるべき入力オンオフ判定処理（入力処理／出力判定処理（ステップ２０２））に相当する処理を実行して、ＳＣ２の出力用端子部から出力されるべき遮断出力を模擬的に生成するファンクションブロック（「模擬遮断出力生成ＦＢ」又は「制御停止ＦＢ」）を組み込んだため、ＳＣから遮断出力が発せられるであろう状況下にあっては、そのことをＰＬＣの側でいち早く察知して、サーボモータへの電源が遮断される前に、サーボモータを十分に減速することが可能となるのである。
【０１０９】
本発明に係るセーフティ・コントロール・システムにおける入力機器作動時の被制御対象走行体の速度変化を示すグラフが、図９に示されている。なお、図において、Ｔ７は安全器器の全応答時間、Ｔ８は制御対象機器の応答時間、Ｔ９はＰＬＣの応答時間（１０ｍｓｅｃ程度）、Ｔ１０は出力機器（サーボドライバ）の応答時間、Ｔ１１はモータの応答時間、Ｔ１２は安全処理時間、その他、図１２のグラフと同一部分については、同符号を付すことにより説明は省略する。
【０１１０】
先に述べたように、図１２のグラフに示される従来のシステムにあっては、遮断出力の生成はＳＣ２のみでしか行われないから、仮に、時刻０において入力機器（例えば、セーフティ・ライトカーテン）の作動要因が発生したとしても、安全処理時間Ｔ０（＝安全機器の全応答時間Ｔ１＋制御対象機器の応答時間Ｔ２）が経過した時刻ｔ７が到来するまで、走行体が減速されることはない。しかも、時刻ｔ７が到来して減速が開始されたのちにあっても、その態様はブレーキ機構等に依存する「制御不能停止」であるから、停止に至る走行距離は比較的に大きくならざるを得ない。そのため、従来システムにあっては、比較的に大なる安全距離を確保する必要から、被制御対象設備の規模は大型化せざるを得ない。
【０１１１】
これに対して、本願発明のシステムの場合には、遮断出力の生成はＳＣ２のみならず、ＰＬＣ１内におけるファンクションブロック（「模擬遮断出力生成ＦＢ」又は「制御停止ＦＢ」）の実行によっても行われ、しかもＰＬＣ１におけるサイクルタイムは１０ｍｓｅｃ程度に過ぎず、ＳＣ２における処理時間（１０〜５０ｍｓｅｃ）よりも十分に短いものであるから、仮に、時刻０において入力機器（例えば、セーフティ・ライトカーテン）の作動要因が発生したとすれば、安全処理時間Ｔ１２（＝安全機器の全応答時間Ｔ７＋制御対象機器の応答時間Ｔ８）が経過した時刻ｔ４の到来と共に、走行体の減速を電源が遮断される前にいち早く開始させることができる。そのため、本発明システムにおいては、時刻ｔ４が到来した時点以降については、従来同様にサーボドライバ４へと遮断出力信号を与えて、これを制御不能停止（符号Ｌ１’参照）とすることができることは勿論のこと、サーボドライバ４へと減速信号を与えて、これを制御停止（符号Ｌ２に示す）とすることもでき、図中ハッチングに示されるように、特に、制御停止における制動距離は従来のそれに比して大幅に短くなるため、安全距離の短縮により、被制御対象設備の規模を縮小することができる。
【０１１２】
加えて、ＳＣ２から遮断出力が発せられるまでに十分なる時間が確保されるため、減速制御に際して、減速特性を適宜に工夫して、加速度の変化を滑らかとすることにより、被制御対象設備に対する衝撃を減少させて、例えば、スタッカクレーンから荷物が落下する等の虞を未然に回避することもできる。
【産業上の利用可能性】
【０１１３】
本発明のセーフティ・コントロール・システムによれば、プログラマブル・コントローラのユーザプログラム中に「模擬遮断出力生成用のファンクションブロック」を組み込むことにより、セーフティ・コントローラから遮断出力が発せられるであろう状況下にあっては、そのことをプログラマブル・コントローラの側でいち早く察知して、「遮断前に必要な前処理」を実行させることができる。そのため、「遮断前に必要な前処理」として、例えば、減速処理や停止処理等を採用すれば、セーフティ規格の入力機器が作動した際、被制御対象設備に含まれる走行体や運動体の制動距離をできる限り短縮して、設備設計上において厳守されるべき安全距離を短縮し、被制御対象設備の小型化乃至省スペース化を実現することができる。
【０１１４】
本発明のプログラマブル・コントローラのセーフティ・インタフェース・ユニットによれば、セーフティ・コントロール・システムに適用された際に、入力機器からの信号群をプログラマブル・コントローラとセーフティ・コントローラへと分配するための信号線分岐、及びプログラマブル・コントローラからの信号群とセーフティ・コントローラからの信号群とを出力機器へと合流させるための信号線合流を、ユニットハウジングの内部にて行うことにより、入力機器３からの信号群をＰＬＣ１とＳＣ２とに分配すると共に、ＰＬＣ１からの信号とＳＣ２からの信号群とを択一的に出力機器４へと与えるについて、４つの機器（ＰＬＣ１、ＳＣ２、入力機器３、出力機器４）との間に中継用の端子台を設けることとを不要として、信号群の分配や合流のための配線作業を簡素化することができる。
【図面の簡単な説明】
【０１１５】
【図１】本発明に係るセーフティ・コントロール・システムの一例を示す構成図である。
【図２】本発明システムに含まれるＰＬＣを構成するＣＰＵユニット及びセーフティ・インタフェースめユニットのハードウェアブロック図である。
【図３】ＰＬＣの処理全体を示すゼネラルフローチャートである。
【図４】ＳＣの処理全体を示すゼネラルフローチャートである。
【図５】模擬遮断出力生成ＦＢ及びサーボモータ制御ＦＢを含むユーザプログラムの一例を示すラダー図である。
【図６】制御停止ＦＢを含むＰＬＣのユーザプログラムの一例を示すラダー図である。
【図７】制御停止ＦＢを含むユーザプログラムの実行結果としての動作を示すタイムチャートである。
【図８】本発明に係るセーフティ・コントロール・システムの構成を示す概念図である。
【図９】本発明に係るセーフティ・コントロール・システムにおける入力機器作動時の被制御対象走行体の速度変化を示すグラフである。
【図１０】従来のセーフティ・コントロール・システムの一例を示す構成図である。
【図１１】従来のセーフティ・コントロール・システムの構成を示す概念図である。
【図１２】従来のセーフティ・コントロール・システムにおける入力機器作動時の被制御対象走行体の速度変化を示すグラフである。
【符号の説明】
【０１１６】
１      ＰＬＣ
２      ＳＣ
３      入力機器
４      出力機器
５      モータ
６      表示器
７      端子台
１０    ベースユニット
１１    電源ユニット
１２    ＣＰＵユニット
１３    ＩＮユニット
１４    ＯＵＴユニット
１５    安全Ｉ／Ｆユニット
２１    コントロールユニット
２２    リレーユニット
１２１    ＲＯＭ
１２２    ワークＲＡＭ
１２３    データ格納用不揮発性メモリ
１２４    ＭＰＵ
１２５    ＡＳＩＣ２
１２６    ＵＭ
１２７    ＡＳＩＣ１
１２８    ＩＯＭ
１５１    ＡＳＩＣ３
Ｔ０      安全処理時間
Ｔ１      安全機器の全応答時間
Ｔ２      制御対象機器の応答時間
Ｔ３      入力機器の応答時間
Ｔ４      ＳＣの応答時間
Ｔ５      出力機器の応答時間
Ｔ６      モータの応答時間
Ｔ７      安全機器の全応答時間
Ｔ８      制御対象機器の応答時間
Ｔ９      ＰＬＣの応答時間
Ｔ１０    出力機器の応答時間
Ｔ１１    モータの応答時間
Ｔ１２    安全処理時間
【図１】
0004900607.tif 000002
【図２】
0004900607.tif 000003
【図３】
0004900607.tif 000004
【図４】
0004900607.tif 000005
【図５】
0004900607.tif 000006
【図６】
0004900607.tif 000007
【図７】
0004900607.tif 000008
【図８】
0004900607.tif 000009
【図９】
0004900607.tif 000010
【図１０】
0004900607.tif 000011
【図１１】
0004900607.tif 000012
【図１２】
0004900607.tif 000013