特許第6032391号(P6032391)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士電機株式会社の特許一覧

<>
  • 特許6032391-安全制御装置 図000002
  • 特許6032391-安全制御装置 図000003
  • 特許6032391-安全制御装置 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6032391
(24)【登録日】2016年11月4日
(45)【発行日】2016年11月30日
(54)【発明の名称】安全制御装置
(51)【国際特許分類】
   G05B 9/02 20060101AFI20161121BHJP
【FI】
   G05B9/02 C
【請求項の数】6
【全頁数】10
(21)【出願番号】特願2012-41797(P2012-41797)
(22)【出願日】2012年2月28日
(65)【公開番号】特開2013-178648(P2013-178648A)
(43)【公開日】2013年9月9日
【審査請求日】2015年2月16日
(73)【特許権者】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】100161562
【弁理士】
【氏名又は名称】阪本 朗
(72)【発明者】
【氏名】矢尾 淳志郎
(72)【発明者】
【氏名】川口 公二
(72)【発明者】
【氏名】小野塚 敏男
【審査官】 青山 純
(56)【参考文献】
【文献】 特開平05−066812(JP,A)
【文献】 特開平05−342059(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 9/00 − 9/02
G05B 23/00 − 23/02
(57)【特許請求の範囲】
【請求項1】
プログラムの任意の箇所で第1トリガを出力し、該第1トリガの出力後に第1の処理を実行して第2トリガを出力し、該第2トリガの出力後に第2の処理を実行する演算部と、
前記第1トリガを受信し、該受信を起点にオンして所定時間経過後にオフする第1のウィンドウ信号を生成する第1ウィンドウ信号生成部と、
前記第1のウィンドウ信号および前記第2トリガを受信し、前記第1のウィンドウ信号がオンの間に前記第2トリガを受信することでオンし所定時間経過後にオフする第2のウィンドウ信号を生成する第2ウィンドウ信号生成部と、
前記第1トリガの後であって前記第2トリガを受信する前に引き続き第1トリガを受信するとオン状態となるラッチ手段と
このラッチ手段がオン状態のとき、前記第2のウィンドウ信号を安全信号として出力することを阻止し、
前記ラッチ手段がリセット状態のとき、前記第2のウィンドウ信号を安全信号として出力する安全信号出力部と、
この安全信号出力部によって出力された前記安全信号を受信し、該安全信号がオンのとき前記演算部の制御指令に基づき外部機器を制御し、前記安全信号がオフのとき前記外部機器を安全側に制御する出力部と、を備えることを特徴とする安全制御装置。
【請求項2】
請求項1に記載された安全制御装置において、
前記第1の処理は前記外部機器を制御するアプリケーションであり、
前記第2の処理は当該安全制御装置の管理処理であり、
前記演算部の前記制御指令は、前記アプリケーションによって演算された指令であることを特徴とする安全制御装置。
【請求項3】
請求項1に記載された安全制御装置において、
前記第1の処理および前記第2の処理は前記外部機器を制御するアプリケーションであり、
前記演算部の前記制御指令は、前記アプリケーションによって演算された指令であることを特徴とする安全制御装置。
【請求項4】
請求項1〜請求項3のいずれか1項に記載された安全制御装置において、
前記演算部は前記プログラムをサイクリックに実行し、前記第1トリガを1のサイクル中に1回出力することを特徴とする安全制御装置。
【請求項5】
請求項1〜請求項4のいずれか1項に記載された安全制御装置において、
前記第2トリガは所定の符号で構成され、
前記第2ウィンドウ信号生成部は前記所定の符号を第2トリガとして受信し、該符号をデコードした出力信号と前記第1のウィンドウ信号との論理積をとり、この出力を前記第2のウィンドウ信号のオンの起点とすることを特徴とする安全制御装置。
【請求項6】
請求項4又は請求項5に記載された安全制御装置において、
前記第1のウィンドウ信号のオン時間をtaとし、前記第2のウィンドウ信号のオン時間をtbとし、前記演算部が前記プログラムをサイクリックに実行する周期時間をpとしたとき、ta<p<tbであることを特徴とする安全制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、安全制御を実現する安全制御装置に関する。
【背景技術】
【0002】
安全性が要求される制御装置には、その内部回路が万一故障したとしても、制御対象が危険な状態になることを回避する安全制御機能が搭載されている。例えば、特許文献1に記載された発明は、コントローラと被制御機器との間にタイマを備えた安全制御装置を接続し、コントローラが時間t以内の間隔で発信を繰り返すパルスを安全制御装置に与え、安全制御装置は受信するパルスを監視して、時間tを越えても次のパルスが入力されなかった場合に被制御機器を安全側に制御するように構成されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−244701号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、前述のような従来の発明では、コントローラの故障に対しては安全制御を実行させることはできるが、コントローラの性能が顧客の要求を満たしていないような性能面での品質低下に対して安全制御を実行させることができないという問題がある。
【0005】
本発明はこのような問題を鑑みて考案されたものであり、その課題はコントローラの故障のみならず、性能の低下をも検知し、被制御機器を安全側に停止させることが可能な安全制御装置を提供することにある。
【課題を解決するための手段】
【0006】
上記のような課題を解決する方法として、本発明は以下のように構成される。
請求項1に係る発明は、プログラムの任意の箇所で第1トリガを出力し、該第1トリガの出力後に第1の処理を実行して第2トリガを出力し、該第2トリガの出力後に第2の処理を実行する演算部と、第1トリガを受信し、該受信を起点にオンして所定時間経過後にオフする第1のウィンドウ信号を生成する第1ウィンドウ信号生成部と、第1のウィンドウ信号および第2トリガを受信し、第1のウィンドウ信号がオンの間に第2トリガを受信することでオンし所定時間経過後にオフする第2のウィンドウ信号を生成する第2ウィンドウ信号生成部と、第1トリガの後であって前記第2トリガを受信する前に引き続き第1トリガを受信するとオン状態となるラッチ手段とこのラッチ手段がオン状態のとき、第2のウィンドウ信号を安全信号として出力することを阻止し、ラッチ手段がリセット状態のとき、第2のウィンドウ信号を安全信号として出力する安全信号出力部と、この安全信号出力部によって出力された安全信号を受信し、該安全信号がオンのとき演算部の制御指令に基づき外部機器を制御し、安全信号がオフのとき外部機器を安全側に制御するように構成される。
【0007】
請求項2に係る発明は、請求項1に記載された安全制御装置において、第1の処理は外部機器を制御するアプリケーションであり、第2の処理は外部機器の制御以外の処理を実行する管理処理であり、演算部の制御指令は、アプリケーションによって演算された指令である。
【0008】
請求項3に係る発明は、請求項1又は請求項2に記載された安全制御装置において、演算部はプログラムをサイクリックに実行し、第1トリガを1のサイクル中に1回出力することを特徴とするように構成される。
【0009】
請求項4に係る発明は、請求項1〜請求項3のいずれか1項に記載された安全制御装置において、第2トリガは所定の符号で構成され、第2ウィンドウ信号生成部は所定の符号を第2トリガとして受信し、該符号をデコードした出力信号と第1のウィンドウ信号との論理積をとり、この出力を第2のウィンドウ信号のオンの起点とするように構成される。
【0010】
請求項5に係る発明は、請求項3又は請求項4に記載された安全制御装置において、第1のウィンドウ信号のオン時間をtaとし、第2のウィンドウ信号のオン時間をtbとし、演算部がプログラムをサイクリックに実行する周期時間をpとしたとき、ta<p<tbとする。
【発明の効果】
【0011】
本発明によれば、プログラムを実行する際の任意の実行ステップで第1トリガを出力し、後述のウィンドウパルスの有効時間(ta時間)中に第2トリガを出力するようにプログラムを構成する。そして、第1トリガの受信を起点に有効となり、ta時間経過後無効となるウィンドウパルス(第1のウィンドウ信号)を出力し、さらに、ウィンドウパルスが有効のときに第2トリガを受信して有効となり、tb時間経過後無効となる制御パルス(第2のウィンドウ信号)を生成し、これを安全パルスとして出力するように構成した。
【0012】
そして、安全パルスが有効のときにはプログラムの実行の際に出力される制御指令に基づき外部機器を制御し、安全パルスが無効のときには外部機器を安全側に制御するように構成した。
【0013】
さらに、第1トリガを受信してから第2トリガを受信せず、再び第1トリガを受信したときには第1トリガが発振したと判定し、その後の安全パルスの出力を阻止し続けるように構成した。
【0014】
上記のように構成することにより、例えばプログラムの実行速度が、要求性能に達していないなどの性能に関わる品質の低下を検知することができる。また、プログラムの実行が正常に行われているかを検出するための要(かなめ)信号である第1トリガの発振(プログラムの暴走によって第1トリガが発振する)も検出できる。
【0015】
従って、本発明によって、故障に加えて性能の低下をも検出し、かつプログラムの実行が正常に行われているかを検出するための要(かなめ)信号の発振が起こったとしても安全制御を実行することが可能な高信頼な安全制御装置が提供される。
【図面の簡単な説明】
【0016】
図1】本発明の一例を示す安全制御装置のシステム構成図
図2図1に示されるCPU部1のプログラム構成と安全制御部2の回路図
図3図2の動作説明用のタイムチャート
【発明を実施するための形態】
【0017】
以下、本発明の好適な実施形態について図1図3を基に説明する。なお、これらの図面は本発明の一実施形態を説明するための図面であって、これらの図面によって本発明が限定されるものではない。
【0018】
また、以下の説明において、信号名の前に付した「*」はその信号が負論理であることを示している。
【実施例】
【0019】
図1に示すように、本発明の安全制御装置100は外部機器4に接続されている。安全制御装置100にはCPU部1、安全制御部2、出力部3が搭載されている。なお、CPU部1を演算部ともいう。
【0020】
また、不図示ではあるがCPU部1は中央演算部(CPU)やプログラムメモリ、そして作業メモリなどが備えられている。CPU部1はプログラムメモリに保持されたプログラムを実行することにより外部機器4を制御するための制御指令を生成し、出力部3に与える。CPU部1によって生成された制御指令を受けた出力部3は、制御指令に基づき外部機器4を制御する。このような仕組みによって、安全制御装置100は外部機器4を制御する(通常の制御)。
【0021】
また、CPU部1は自己が正常に動作していること、すなわち健全性を通知するための信号(トリガA)を出力する第1トリガ出力手段1aを備える。また、CPU部1はトリガAが出力された後、所定の時間以内に再び自己の健全性を通知するための信号(トリガB)を出力する第2トリガ出力手段1bを備えている。そして、CPU部1によって出力されたトリガAおよびトリガBそれぞれの信号は安全制御部2に与えられている。さらにCPU部1はリセットを出力して安全制御部2の機能をオンオフすることができる。
【0022】
続いて、図2図3を参照しながら、CPU部1および安全制御部2、そして出力部3の詳細な動きを説明する。
図2に示す安全制御部2のIC1はモノステーブルマルチバイブレータであり、該IC1に接続されるコンデンサC1と抵抗R1によって出力幅が決定されたウィンドウパルス(第1のウィンドウ信号)を生成する。ここでは、ウィンドウパルス幅をtaとする。この回路を第1ウィンドウ信号生成部ともいう。
【0023】
IC4はIC1と同様モノステーブルマルチバイブレータであり、コンデンサC2と抵抗R2によって出力幅が決定された制御パルス(第2のウィンドウ信号)を生成する。この制御パルス幅をtbとする。
【0024】
IC2はデコーダ(3-to-8 Line Decoder:74VHC138など)であり、CPU部1から出力された3ビットの符号(トリガB)をA〜Cに入力する。このトリガBの符号は0から7までのコード化された数値であるが、本実施例ではトリガBとして”2”のコードが入力されたとき、IC2のデコード作用が有効になるように安全制御部2を構成している。すなわち、IC2は、該IC2のA〜Cに入力されるトリガBに対して、コード”2”を有効としデコードする。例えば、IC2のA〜Cに入力された符号が「0」であったとき、その出力としては*Y0が出力され、IC2のA〜Cに入力された符号が「1」であったとき、その出力としては*Y1が出力されるため、これらの出力は出力先がなく、本実施例においては無効のデコードとして扱われる。
【0025】
なお、デコード回路(IC2)と制御パルスの生成回路(IC4)、そしてIC3を含んだ回路を第2ウィンドウ信号生成部ともいう。
これら回路で構成される安全制御部2は、CPU部1によって出力されたトリガAがIC1に入力され、CPU部1によって出力されたトリガBがIC2の入力A〜Cに入力される。また、IC4の出力、すなわち制御パルスは安全制御部2が出力する安全信号(安全パルス)としてIC7を介して出力され、出力部3に入力されている。
【0026】
IC5、IC6はDフリップフロップである。トリガAが入力されるとIC5はその周辺の回路とによってトリガAを保持(ラッチ)し、トリガBが入力されることでそのラッチを解除する(第1トリガ保持部22)。すなわち、第1トリガ保持部22は第1トリガを受信して保持しこの保持された信号を第2トリガの受信によりリセットする。
【0027】
IC6およびIC7を含む回路は安全信号出力部23である。IC6はIC5によってトリガAがラッチされている間に再びトリガAを入力することで、トリガAが不要に発振したと判断し、”H”を出力する回路である。IC6の出力は一旦”H”が出力されると保持される。そして、IC7はIC6の出力を入力しており、IC7の出力が”H”のときにIC4によって出力される制御パルスを安全パルスとして出力することを阻止する。すなわち、安全信号出力部23は第1トリガ保持部22の出力がリセット状態のとき制御パルスを安全パルスとして出力し、第1トリガ保持部22の出力が第1トリガを保持した状態のときに第1トリガを受信することにより、その後、制御パルスを安全パルスとして出力することを阻止し続ける。
【0028】
続いて、安全制御部2の動きについて図3を用いて説明する。
CPU部1は、先ず、リセット信号を”L”から”H”にして、IC1およびIC4をリセット状態から解除し、安全制御部2の機能をオンにしている(図3の区間p0)。
【0029】
続いて、区間p1において、CPU部1はパルス状の信号のトリガAを出力し、安全制御部2に与えている。IC5は該IC5のD端子に接続されたゲート回路を介してトリガAを受信し、その出力を”H”にして保持している。その後、トリガBが受信されIC2の*Y2が出力されることによって、IC5はその出力をクリアしている。一方、IC6はトリガAを受信したタイミングのとき、IC5の出力が”L”である、すなわちIC5がトリガAをラッチしていないので、その出力を”L”としている。
【0030】
また、IC1はトリガAを受信することによりta時間”L”を出力し、ta時間経過後”H”を出力している。CPU部1は、トリガAを出力した後のta時間の間、すなわちIC1が”L”を出力している間に、符号化されたトリガB(コード”2”)を出力している。トリガB(コード”2”)はIC2によってデコードされ、IC2の出力*Y2が”L”に出力されている。IC3はIC1の*Q出力とIC2の*Y2出力とのANDをとって”H”のパルスを出力している。このパルスを受けたIC4は、この時点を起点に”H”を出力し、tb時間”H”を出力し続けるように作動している。IC4の出力はIC7を介して安全パルスとして”H”出力されており、前述のようにIC6の出力が出力されてない、すなわちIC6が”L”を出力していることを条件に出力される。
【0031】
安全制御部2から出力された安全パルス”H”を受けた出力部3は、CPU部1から与えられた制御指令に基づき通常の制御を実行する通常モードとして動作している(不図示)。
【0032】
続いて、区間p2,p3において、CPU部1の動きは区間p1と同様である。また安全制御部2の動きも区間p2と同様であり、IC3がパルス状の出力を出力している。このパルスを受けてIC4はリトリガされ、このリトリガ時点を起点にtb時間の”H”を出力するように作動している。よって、出力部3は通常モードを維持している。
【0033】
続いて、区間p4において、CPU部1はトリガAを出力した後、ta時間を超過して、すなわちIC1が”L”を出力している間に間に合わず、トリガB(コード”2”)を出力している。このときトリガB(コード”2”)はIC2によってデコードされ、IC2の出力*Y2が”L”に出力されている。IC3はIC1の*Q出力とIC2の*Y2出力とのANDをとるため、その出力は出力されず”L”のままである。IC4は、IC3からのパルス状の信号を受けないためリトリガされない。リトリガされないIC4は、区間p3でのリトリガ時点を起点に、tb時間”H”を出力した後”L”を出力している。従って、安全パルスも同様”L”になる。
【0034】
このように、IC3の出力がパルス状に出力されないと、IC4の機能がリトリガを含め作動されず、IC4の出力は”L”になり、安全パルスも”L”になる。不図示ではあるが、安全パルス”L”を受信した出力部3は、CPU部1から制御指令が与えられても、その制御を実行せず、その出力を安全側に出力している(安全モード)。
【0035】
すなわち、安全制御部2はトリガA(第1トリガ)の入力によって生成されるta時間のウィンドウ時間中に、トリガB(第2トリガ)が入力されることで出力部3の制御出力が有効となるように作用する。一方、安全制御部2は生成したウィンドウ時間中(ta時間)にトリガB(第2トリガ)が入力されないと出力部3の制御出力が安全側になるように作用する。
【0036】
続いて、区間p5を説明する。CPU部1はトリガAを出力した後にトリガBを出力せず、トリガAを繰り返し出力している。このような事象は突発的な不具合によりCPU部1がプログラムを正常に実行できない場合などに起こる。通常であれば、IC5はトリガAをラッチした後にトリガBを受信することでトリガAのラッチを解除するが、この例の場合には、トリガBを受信せずトリガAを再び受信している。こうなると、IC6は、IC5によるトリガAのラッチが保持されたままトリガAを受信することになるため、該受信によってその出力を”H”にしている。IC6の出力が一旦”H”になると、IC6のD端子に接続されたORゲートを介してそのD端子に”H”がフィードバックされるので、IC6は”H”を出力し続ける。この後、CPU部1からトリガB(コード”2”)が出力されてIC3がパルス状の信号をIC4に与えている。この結果、IC4が”H”を出力しているが、IC6の”H”出力によってIC7による安全パルスの出力条件が成立せず、安全パルスの出力がマスクされている。
【0037】
このように、IC6の出力が”H”になると、IC7による安全パルスの出力条件が成立せず、安全パルスは強制的に”L”になる。すなわちIC6の出力が”H”になると、IC7を介して安全パルスとして出力されるIC4の出力(制御パルス)の出力が阻止(マスク)し続けされ、安全パルスは強制的に”L”になる。
【0038】
続いて、図2を参照しながらCPU部1の詳細な動きを説明する。CPU部1は、第1トリガ出力手段1aおよび第2トリガ出力手段1bが組み込まれたプログラム11を実行して、外部機器4を制御するための制御指令を生成し出力部3に転送する。この転送された制御指令に基づき出力部3は外部機器4を制御する。
【0039】
スタート後、CPU部1は第1トリガ出力手段1aを実行し、所定のプログラムステップを実行した後に第2トリガ出力手段1bを実行する。この後、CPU部1はプログラム11の残りのプログラムステップを実行して再び第1トリガ出力手段1aを実行するようにプログラム11を順次実行している。プログラム11は例えば10ms周期でサイクリックに実行されており、第1トリガ出力手段1aおよび第2トリガ出力手段1bはプログラム11の実行に際しそれぞれ1回実行される。なお、第2トリガ出力手段1bは複数回実行されても良い。
【0040】
CPU部1はプログラム11を順次実行する際、第1トリガ出力手段1aによってパルス状の信号のトリガAを出力し、第2トリガ出力手段1bによってコード化されたトリガBを出力する。すなわち、トリガBはトリガAが出力された後、プログラム11の所定のステップ数の実行時間を経て出力される。なお、トリガAはCPU部1に搭載のマイクロプロセッサ(CPU)のI/Oポートをオンしオフすることで出力され、トリガBは安全制御部2をデータ出力先としてCPU部1に搭載されたCPUがデータを書き込む形態で出力される。
【0041】
すなわち、第1トリガ出力手段1aと第2トリガ出力手段1bは、CPU部1がプログラム11を実行する際に、第1トリガ出力手段1aがトリガAを出力してから前述ta時間以内に第2トリガ出力手段1bがトリガBを出力するように配置されている。例えば、ta時間を1msとした場合、第1トリガ出力手段1aと第2トリガ出力手段1bは、CPU部1が正常にプログラムを実行するにおいてトリガAとトリガBの出力間隔時間が1msを超えないように配置されれば良い。
【0042】
このように構成することにより、本発明は所定部位のプログラムの実行速度が、ユーザの要求スピードに応えるべく実行されているか否かをチェックすることができる。
また、本発明は、CPU部1から出力されるトリガAをラッチし、このラッチが保持されている間に再びトリガAが出力されることによって、トリガAの不要な発振を検出している。すなわち、本発明はCPU部1のプログラムの実行が正常な手順で行われているかをトリガAの出力をチェックすることで監視しており、トリガAの発振を検知したときには早急に安全パルスの出力をマスクすることで出力部3に安全制御を実行させている。
【0043】
このようにする理由は、トリガAはCPU部1のプログラムの実行が正常に行われているかを検出するための要(かなめ)信号であるので、この信号が発振するような事象が起こったときにはプログラムが正常に実行されてない証である。このためCPU部1は通常の制御を実行することが不可能と考えられ、早急に安全制御を実行し危険を回避する必要があるためである。
【0044】
以上のように構成することにより、例えばプログラムの実行速度が、要求性能に達していないなどの性能に関わる品質の低下を検知することができる。また、プログラムの実行が正常に行われているかを検出するための要(かなめ)信号である第1トリガの発振(プログラムの暴走によって第1トリガが発振する)をも検出できる。
【0045】
従って、本発明によって、故障に加えて性能の低下(クロック周波数の低下によるプログラム実行速度の低下やユーザが要求するプログラム実行速度に対する実機速度の妥当性)をも検出し、かつプログラムの実行が正常に行われているかを検出するための要(かなめ)信号の発振が起こったとしても、被制御機器を安全側に制御する安全制御を実行することが可能な高信頼な安全制御装置を提供することができる。
【0046】
なお、上記説明では第1トリガ出力手段1aと第2トリガ出力手段1bが、プログラム11の所定ステップを挟んで配置されるよう説明したが、連続して配置しても良い。
また、CPU部1が実行する一連の処理(プログラム11)は外部機器4を制御するアプリケーションプログラムで構成することができる。このアプリケーションプログラムによって演算された指令が制御指令として出力部3に与えられる。すなわち、トリガBの出力処理は、上記アプリケーションプログラムの途中に配置される。このようにすることにより、アプリケーションプログラムの一連の制御処理の中で、所定部分の処理をターゲットに、その実行速度を監視することができる。
【0047】
また、別の構成としてプログラム11は、トリガAを出力してからトリガBを出力するまでの処理を上記アプリケーションプログラムで構成し、トリガBを出力した以降の処理を上記アプリケーションプログラムではなく、各種プログラムの管理(タスクスケジュールの管理など)や安全制御装置100全体の情報(RAS情報の収集やモード設定など)などを管理する管理処理(管理プログラム)で構成することができる。この場合も上記同様アプリケーションプログラムによって演算された指令が制御指令として出力部3に与えられる。
【0048】
また、プログラム実行周期をp時間とすると、安全パルス幅tbはp時間よりも長く構成され、ウィンドウパルス幅taはp時間よりも短く構成される。すなわち、ta時間<p時間<tb時間という関係にて、本発明は構成される。
【0049】
また、CPU部1が故障してトリガAが出力されなくなった場合には、前述ウィンドウパルスが生成されず安全パルスは出力されない。このため、本発明はCPU部1の故障に対しても安全制御が実行されるということは勿論である。
【符号の説明】
【0050】
100 安全制御装置
1 CPU回路(演算部)
1a 第1トリガ出力手段
1b 第2トリガ出力手段
11 プログラム
2 安全制御部
20 第1ウィンドウ信号生成部
21 第2ウィンドウ信号生成部
22 第1トリガ保持部
23 安全信号出力部
3 出力部
図1
図2
図3