説明

安全制御装置

【課題】故障のみならず、プログラム実行性能の低下をも検知し、被制御機器を安全側に停止させることが可能な安全制御装置を提供すること。
【解決手段】プログラムの任意の箇所で第1トリガを出力し、この出力の後に第1の処理を実行して第2トリガを出力し、該第2トリガを出力した後に第2の処理を実行する演算部と、第1トリガを受信し、該受信を起点にオンして所定時間経過後にオフするウィンドウ信号を生成するウィンドウ信号生成部と、ウィンドウ信号および第2トリガを受信し、ウィンドウ信号がオンの間に第2トリガを受信するとオンし、所定時間経過後にオフする安全信号を生成する安全信号生成部と、安全信号を受信し、該安全信号がオンのとき演算部の指令に基づき外部機器を制御し、安全信号がオフのとき外部機器を安全側に制御する出力部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、安全制御を実現する安全制御装置に関する。
【背景技術】
【0002】
安全性が要求される制御装置には、その内部回路が万一故障したとしても、制御対象が危険な状態になることを回避する安全制御機能が搭載されている。例えば、特許文献1に記載された発明は、コントローラと被制御機器との間にタイマを備えた安全制御装置を接続し、コントローラが時間t以内の間隔で発信を繰り返すパルスを安全制御装置に与え、安全制御装置は受信するパルスを監視して、時間tを越えても次のパルスが入力されなかった場合に被制御機器を安全側に制御するように構成されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−244701号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、前述のような従来の発明では、コントローラの故障に対しては安全制御を実行させることはできるが、コントローラの性能が顧客の要求を満たしていないような性能面での品質低下に対して安全制御を実行させることができないという問題がある。
【0005】
本発明はこのような問題を鑑みて考案されたものであり、その課題はコントローラの故障のみならず、性能の低下をも検知し、被制御機器を安全側に停止させることが可能な安全制御装置を提供することにある。
【課題を解決するための手段】
【0006】
上記のような課題を解決する方法として、本発明は以下のように構成される。
請求項1に係る発明は、プログラムの任意の箇所で第1トリガを出力し、この出力の後に第1の処理を実行して第2トリガを出力し、該第2トリガを出力した後に第2の処理を実行する演算部と、第1トリガを受信し、該受信を起点にオンして所定時間経過後にオフするウィンドウ信号を生成するウィンドウ信号生成部と、ウィンドウ信号および第2トリガを受信し、ウィンドウ信号がオンの間に第2トリガを受信するとオンし、所定時間経過後にオフする安全信号を生成する安全信号生成部と、安全信号を受信し、該安全信号がオンのとき演算部の指令に基づき外部機器を制御し、安全信号がオフのとき外部機器を安全側に制御する出力部と、を備えるように構成される。
【0007】
請求項2に係る発明は、請求項1に記載された安全制御装置において、第1の処理は外部機器を制御するアプリケーションであり、第2の処理は外部機器の制御以外の処理を実行する管理処理であり、演算部の指令は、アプリケーションによって演算された指令で構成される。
【0008】
請求項3に係る発明は、請求項1又は請求項2に記載された安全制御装置において、演算部はプログラムをサイクリックに実行し、第1トリガおよび第2トリガは1つのサイクル中にそれぞれ1回実行されるように構成される。
【0009】
請求項4に係る発明は、請求項1〜請求項3のいずれか1項に記載された安全制御装置において、第2トリガは所定の符号で構成され、安全信号生成部は所定の符号を第2トリガとして受信し、該符号をデコードした出力信号とウィンドウ信号との論理積をとり、この出力を安全信号のオンの起点とするように構成される。
【0010】
請求項5に係る発明は、請求項3又は請求項4に記載された安全制御装置において、ウィンドウ信号のオン時間をtaとし、安全信号のオン時間をtbとし、プログラムがサイクリックに実行される周期時間をpとしたとき、ta<p<tbとする。
【発明の効果】
【0011】
本発明によれば、プログラムを実行する際の任意の実行ステップで第1トリガを出力し、この第1トリガの受信を起点にオンしてta時間経過後にオフするウィンドウ信号(パルス)を生成する。また、本発明はこのウィンドウ信号がオンの間(ta時間)に第2トリガを出力するようにプログラムを構成する。さらに、本発明は前述ウィンドウパルスがオンのときに第2トリガを受信するとオンしてtb時間経過後オフする安全信号(パルス)を生成し、この安全信号がオンのときにはプログラムの実行の際に出力される制御指令に基づき外部機器を制御し、安全信号がオフのときには外部機器を安全側に制御するように構成した。
【0012】
このように構成することにより、本発明は例えば所定部位のプログラムの実行速度が、要求性能に達していないなどの性能に関わる品質の低下の検知と、プログラムの暴走などによる機器の故障の検知を両立することができる。
【0013】
従って、本発明によって、故障に加えて性能の低下をも検出して安全制御を実行することが可能な高信頼な安全制御装置が提供される。
【図面の簡単な説明】
【0014】
【図1】本発明の一例を示す安全制御装置のシステム構成図
【図2】図1に示されるCPU部のプログラム構成と安全制御部の回路図
【図3】図2の動作説明用のタイムチャート
【発明を実施するための形態】
【0015】
以下、本発明の好適な実施形態について図1〜図3を基に説明する。なお、これらの図面は本発明の一実施形態を説明するための図面であって、これらの図面によって本発明が限定されるものではない。
【0016】
また、以下の説明において、信号名の前に付した「*」はその信号が負論理であることを示している。
【実施例】
【0017】
図1に示すように、本発明の安全制御装置100は外部機器4に接続されている。安全制御装置100にはCPU部1、安全制御部2、出力部3が搭載されている。CPU部1を演算部、安全制御部2を安全指令出力手段、出力部3を出力手段ともいう。
【0018】
また、不図示ではあるがCPU部1は中央演算部(CPU)やプログラムメモリ、そして作業メモリなどが備えられている。CPU部1はプログラムメモリに保持されたプログラムを実行することにより外部機器4を制御するための制御指令を生成し、出力部3に与える。CPU部1によって生成された制御指令を受けた出力部3は、制御指令に基づき外部機器4を制御する。このような仕組みによって、安全制御装置100は外部機器4を制御する(通常の制御)。
【0019】
また、CPU部1は自己が正常に動作していること、すなわち健全性を通知するための信号(トリガA)を出力する第1トリガ出力手段1aを備える。また、CPU部1はトリガAが出力された後、所定の時間以内に再び自己の健全性を通知するための信号(トリガB)を出力する第2トリガ出力手段1bを備えている。そして、CPU部1によって出力されたトリガAおよびトリガBそれぞれの信号は安全制御部2に与えられている。さらにCPU部1はリセットを出力して安全制御部2の機能をオンオフすることができる。
【0020】
続いて、図2と図3を参照しながら、CPU部1および安全制御部2の詳細な動きを説明する。
図2に示す安全制御部2のIC1はモノステーブルマルチバイブレータであり、該IC1に接続されるコンデンサC1と抵抗R1によって出力幅が決定されたウィンドウパルスを出力する(ウィンドウ信号生成部)。ここでは、ウィンドウパルス幅をtaとする。IC4はIC1と同様モノステーブルマルチバイブレータであり、コンデンサC2と抵抗R2によって出力幅が決定された安全パルスを出力する(安全信号生成部)。この安全パルス幅をtbとする。これらウィンドウパルス生成手段と安全パルス生成手段とを併せてパルス生成手段ともいう。
【0021】
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が出力されるため、これらの出力は出力先がなく、本実施例においては無効のデコードとして扱われる。
【0022】
このような回路で構成される安全制御部2は、CPU部1によって出力されたトリガAがIC1に入力され、CPU部1によって出力されたトリガBがIC2の入力A〜Cに入力される。また、IC4の出力である安全パルスは、安全信号として出力部3に出力されている。
【0023】
続いて、安全制御部2の動きについて図3を用いて説明する。
CPU部1は、先ず、リセット信号を”L”から”H”にして、IC1およびIC4をリセット状態から解除し、安全制御部2の機能をオンにしている(図3の区間p0)。
【0024】
続いて、区間p1において、CPU部1はパルス状の信号のトリガAを出力し、IC1に与えている。これにより、IC1はta時間”L”を出力し、ta時間経過後”H”を出力している。CPU部1は、トリガAを出力した後のta時間の間に、すなわちIC1が”L”を出力している間に、符号化されたトリガB(コード”1”)を出力している。トリガB(コード”1”)が与えられたIC2は*Y1を”L”出力している(不図示)。IC3はIC1の*Q出力とIC2の*Y2出力とが両方”L”のときに”H”を出力するANDゲートなので、区間p1においてIC3の出力は出力されてない。このようにIC3の出力が出力されないと、IC4の機能が作動されず、IC4が出力する安全パルスは”L”のままである。
【0025】
このように安全パルスが”L”の状態のときを安全指令とし、安全指令を受けた出力部3は外部機器4を安全側に制御する。すなわち、出力部3は安全パルスが”L”のときには、どのような制御指令がCPU部1から与えられても、その出力を安全側に出力している。
【0026】
続いて、区間p2において、CPU部1は区間p1と同様トリガAを出力し、IC1に与えている。これにより、IC1はta時間”L”を出力し、ta時間経過後”H”を出力している。CPU部1は、トリガAを出力した後のta時間の間、すなわちIC1が”L”を出力している間に、トリガB(コード”2”)を出力している。トリガB(コード”2”)はIC2によってデコードされ、出力*Y2が”L”出力されている。IC3はIC1の*Q出力とIC2の*Y2出力とをANDし”H”のパルスを出力している。このパルスを受けてIC4はこの時点を起点にtb時間の”H”を出力するように作動している。このようにIC4が作動されて、安全パルスが”H”になると、不図示ではあるが、出力部3はCPU部1から与えられた制御指令に基づき通常の制御を実行する通常モードとして動作している。
【0027】
続いて、区間p3において、CPU部1の動きは区間p2と同様である。また安全制御部2の動きも区間p2と同様であり、IC3がパルス状の出力を出力している。このパルスを受けてIC4はリトリガされ、このリトリガ時点を起点にtb時間の”H”を出力するように作動している。よって、出力部3は通常モードを維持している。
【0028】
続いて、区間p4において、CPU部1はトリガBのコードを”3”として出力している。この出力を受けたIC2は*Y3を出力しており(不図示)、*Y2は出力されていない。従って、IC3の出力は出力されず、IC4はリトリガされない。リトリガされないIC4は、時点p3でのリトリガ時点を起点とし、tb時間経過後に”L”を出力している。IC4が”L”を出力すると、出力部3は外部機器4を前述の如く安全側に制御する。
【0029】
すなわち、安全制御部2はトリガA(第1トリガ)の入力によって生成されるta時間のウィンドウ時間中にトリガB(第2トリガ)が入力されることで安全パルスを”H”出力する。この”H”出力によって安全制御部2は、CPU部1のプログラムの実行が正常であること示し、出力部3の制御出力が有効となるように作用する。一方、前述ウィンドウ時間中(ta時間)にトリガB(第2トリガ)が入力されないと、安全制御部2は安全パルスの出力を止めて”L”出力する。安全制御部2は、安全パルスの”L”出力によって安全指令とし、出力部3の制御出力が安全側になるように作用する。
【0030】
続いて、図2を参照しながらCPU部1の詳細な動きを説明する。CPU部1は、第1トリガ出力手段1aおよび第2トリガ出力手段1bが組み込まれたプログラム11を実行するよう構成されている。このようなトリガを出力するためのプログラムである第1トリガ出力手段1aと第2トリガ出力手段1bとを併せて、単にトリガ生成手段ともいう。また、CPU部1は、プログラム11を実行して外部機器4を制御するための制御指令を生成し出力部3に転送する。この転送された制御指令に基づき出力部3は外部機器4を制御する。
【0031】
スタート後、CPU部1は第1トリガ出力手段1aを実行し、所定の実行ステップ(プログラム1c)を実行した後に第2トリガ出力手段を実行する。この後、CPU部1はプログラム11の残りのプログラムステップ(プログラム1d)を実行して再び第1トリガ出力手段を実行している。プログラム11は例えば10ms周期でサイクリックに実行されており、第1トリガ出力手段1aおよび第2トリガ出力手段1bはプログラム11の実行に際し、それぞれ1回実行されている。
【0032】
なお、プログラム1cは所定のデータを基に演算を行って前述制御指令を出力するプログラムであって、外部機器4を制御するためのアプリケーションプログラムである。また、プログラム1dは、外部機器4を制御する以外の処理機能であり、安全制御装置100全体の管理を行う管理プログラムである。
【0033】
CPU部1はプログラム11を実行する際、第1トリガ出力手段によってパルス状の信号であるトリガAを出力し、第2トリガ出力手段によってコード化されたトリガBを出力する。よって、トリガBはトリガAが出力された後、プログラム11の所定のステップ数の実行時間を経て出力されることになる。
【0034】
すなわち、第1トリガ出力手段および第2トリガ出力手段は、トリガAが出力されてから前述ta時間以内にトリガBが出力されるようにプログラム1cを挟んで配置されている。例えば、ta時間を1msとした場合、本発明はトリガAが出力されてから1msを超えないようにプログラム1cが実行され、プログラム1cの終了とともにトリガBが出力されるように構成されている。このように構成することにより、本発明は所定部位のプログラム実行速度(プログラム1c)が、ウィンドウパルスの有効(オン)期間に間に合っているかチェックでき、CPU部1の性能の低下を検出することができる。
【0035】
なお、トリガAはCPU部1に搭載のマイクロプロセッサ(CPU)のI/Oポートをオンしオフすることで出力され、トリガBはマイクロプロセッサが安全制御部2をデータ出力先としてデータを書き込む形態で出力される。
【0036】
また、プログラム11の実行周期は、安全パルスの有効(オン)期間以内に一巡されれば良い。すなわち、トリガBが出力され、再びトリガBが出力されるまでの一巡時間は安全パルスがオンされてからオフするまでに間に合うように構成されている。
【0037】
例えば、プログラム11が定周期割込みなどで起動されるような定周期プログラムであった場合、安全パルスがオンされてからオフされる間に間に合うように定周期割り込みの起動周期を設定すれば良い。このように構成することにより、プログラム全体の実行周期が正常であるか否かをチェックでき、プログラムの暴走などによる制御不能状態(故障)を検出することができる。
【0038】
従って、本発明はCPU部1のプログラム実行の暴走(正常にプログラムを実行できなくなった状態)などを要因とする故障に加えて、性能の低下(クロック周波数の低下によるプログラム実行速度の低下やユーザが要求するプログラム実行速度に対する妥当性)を検出して、被制御機器を安全側に制御する安全制御を実行することが可能な高信頼な安全制御装置を提供することができる。
【0039】
また、プログラム実行周期をp時間とすると、安全パルス幅tbはp時間よりも長く構成され、ウィンドウパルス幅taはp時間よりも短く構成される。すなわち、本発明はta時間<p時間<tb時間という関係にて、達成される。
【0040】
また、第1の処理がプログラム1cに相当し、第2の処理がプログラム1dに相当している。
【符号の説明】
【0041】
100 安全制御装置
1 CPU回路
1a 第1トリガ出力手段
1b 第2トリガ出力手段
11 プログラム
2 安全制御部
21 ウィンドウパルス出力手段
22 安全パルス出力手段
3 出力部


【特許請求の範囲】
【請求項1】
プログラムの任意の箇所で第1トリガを出力し、この出力の後に第1の処理を実行して第2トリガを出力し、該第2トリガを出力した後に第2の処理を実行する演算部と、
前記第1トリガを受信し、該受信を起点にオンして所定時間経過後にオフするウィンドウ信号を生成するウィンドウ信号生成部と、
前記ウィンドウ信号および前記第2トリガを受信し、前記ウィンドウ信号がオンの間に前記第2トリガを受信するとオンし、所定時間経過後にオフする安全信号を生成する安全信号生成部と、
前記安全信号を受信し、該安全信号がオンのとき前記演算部の制御指令に基づき外部機器を制御し、前記安全信号がオフのとき前記外部機器を安全側に制御する出力部と、を備えることを特徴とする安全制御装置。
【請求項2】
請求項1に記載された安全制御装置において、
前記第1の処理は前記外部機器を制御するアプリケーションであり、
前記第2の処理は前記外部機器の制御以外の処理を実行する管理処理であり、
前記演算部の前記制御指令は、前記アプリケーションによって演算された指令であることを特徴とする安全制御装置。
【請求項3】
請求項1又は請求項2に記載された安全制御装置において、
前記演算部は前記プログラムをサイクリックに実行し、前記第1トリガおよび前記第2トリガは1のサイクル中にそれぞれ1回実行されることを特徴とする安全制御装置。
【請求項4】
請求項1〜請求項3のいずれか1項に記載された安全制御装置において、
前記第2トリガは所定の符号で構成され、
前記安全信号生成部は前記所定の符号を第2トリガとして受信し、該符号をデコードした出力信号と前記ウィンドウ信号との論理積をとり、この出力を前記安全信号のオンの起点とすることを特徴とする安全制御装置。
【請求項5】
請求項3又は請求項4に記載された安全制御装置において、
前記ウィンドウ信号のオン時間をtaとし、前記安全信号のオン時間をtbとし、前記プログラムがサイクリックに実行される周期時間をpとしたとき、ta<p<tbであることを特徴とする安全制御装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2012−247903(P2012−247903A)
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願番号】特願2011−117793(P2011−117793)
【出願日】平成23年5月26日(2011.5.26)
【出願人】(000005234)富士電機株式会社 (3,146)
【Fターム(参考)】