[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5911922B2 - 安全関連制御ユニットおよび自動化設備の制御方法 - Google Patents

安全関連制御ユニットおよび自動化設備の制御方法 Download PDF

Info

Publication number
JP5911922B2
JP5911922B2 JP2014143409A JP2014143409A JP5911922B2 JP 5911922 B2 JP5911922 B2 JP 5911922B2 JP 2014143409 A JP2014143409 A JP 2014143409A JP 2014143409 A JP2014143409 A JP 2014143409A JP 5911922 B2 JP5911922 B2 JP 5911922B2
Authority
JP
Japan
Prior art keywords
safety
program
value
fsv1a
instantaneous value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014143409A
Other languages
English (en)
Other versions
JP2014225276A (ja
Inventor
モースマン,ペーター
Original Assignee
ピルツ ゲーエムベーハー アンド コー.カーゲー
ピルツ ゲーエムベーハー アンド コー.カーゲー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ピルツ ゲーエムベーハー アンド コー.カーゲー, ピルツ ゲーエムベーハー アンド コー.カーゲー filed Critical ピルツ ゲーエムベーハー アンド コー.カーゲー
Publication of JP2014225276A publication Critical patent/JP2014225276A/ja
Application granted granted Critical
Publication of JP5911922B2 publication Critical patent/JP5911922B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14006Safety, monitoring in general
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14012Safety integrity level, safety integrated systems, SIL, SIS
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24024Safety, surveillance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24188Redundant processors run different programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Safety Devices In Control Systems (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、内部で実行するアプリケーションプログラムに従って自動化設備を制御するための安全関連制御ユニットであって、前記設備が複数のセンサおよび複数のアクチュエータを備え、前記アプリケーションプログラムが前記アクチュエータを制御するための複数の制御命令を含むことを特徴とする安全関連制御ユニットに関する。
また、本発明は、複数のセンサおよび複数のアクチュエータを備えた自動化設備を制御するための方法に関する。
本発明における安全関連制御ユニットは、センサからの入力信号を受信し、論理の組み合わせおよび場合によっては他の信号処理ステップまたはデータ処理ステップによって、これら入力信号から出力信号を生成する装置またはデバイスである。出力信号はアクチュエータに供給可能であり、入力信号に基づいて制御される設備中で動作または反応を起こすことができる。
このような安全関連制御ユニットの好適な応用分野としては、機械の安全性の分野における緊急停止押しボタン、両手コントローラ、防護ドア、またはライトグリッドのモニタリングが挙げられる。そのようなセンサは、作動中に人間または有形財に対する危険を伴う機械の保護等に使用する。防護ドアが開かれたり、または緊急停止押しボタンが操作されたりすると、個別の信号が生成され、入力信号として安全関連制御ユニットに供給される。安全関連制御ユニットは、これに応答して、アクチュエータ等により危険を生じている機械の部分を停止させる。
安全関連制御ユニットは、「一般的な」制御ユニットとは対照的に、内部または接続された装置に異常が発生した場合でも、危険を生じている設備または機械の安全状態を常に確保する点が特徴である。このため、安全関連制御ユニットの場合には、それ自体のフェイルセーフ性の観点から極めて高い要求が課せられており、開発および製造にかかるコストが大幅に高くなってしまう。
安全関連制御ユニットは通例、専門職協会またはいわゆるドイツの
Figure 0005911922
等に相当する監督機関からの特別な承認を得る必要がある。この場合、安全関連制御ユニットは、たとえば欧州規格EN954−1、IEC61508もしくはEN ISO13849−1、またはこれらに相当する規格に規定された所定の安全基準を満たす必要がある。以下では、安全関連制御ユニットが少なくとも前記欧州規格EN954−1の安全カテゴリ3またはIEC61508にかかる安全度水準(SIL)2を満たす装置またはデバイスであるものとする。
プログラム可能な安全関連制御ユニットであれば、ユーザは、アプリケーションプログラムと呼ばれるソフトウェアを用いることにより、必要に応じて論理の組み合わせおよび場合によっては別の信号処理ステップまたはデータ処理ステップを個別に定義することができる。この結果、様々な安全関連モジュール間の規定のハードワイヤ結線により論理の組み合わせが生成された初期のソリューションに比べて、柔軟性は大幅に高くなる。たとえば、アプリケーションプログラムは、市販のパソコン(PC)およびしかるべきソフトウェアプログラムを用いて生成可能である。
前述した通り、安全関連制御ユニットには、フェイルセーフ性の観点から極めて高い要求が課せられる。たとえば、そのアプローチとして、少なくともプロセッサ等のデータ処理コンポーネントでは安全関連制御ユニットを冗長設計とすることが考えられる。これにより、発生する故障を考慮して、安全関連制御ユニットを最大限に利用することが可能となる。同様に、安全関連制御ユニットの外部で発生する可能性がある故障についても考慮して、安全関連制御ユニットの可用性を高くすることが望ましい。たとえば、電圧故障の後、安全関連制御ユニットは、電圧故障発生前に想定された状態で問題なく再作動しなければならない。しかし、とくに安全関連制御ユニットの外部で故障が発生した場合の可用性に関して、安全関連制御ユニットは未だ最適化されていない。
そこで、本発明は、安全関連制御ユニットの外部で発生した故障に対する適用性を高めると同時にコストを低減するための、安全関連制御ユニットおよび方法を提供することを目的とする。
本発明の目的は、複数の第1プログラム変数を処理することにより制御命令の少なくとも一部を実行するように設計されている第1プロセッサであって、第1の規定タイミングに少なくとも1つの前記第1プログラム変数に対して存在する瞬時値に応じて前記第1プログラム変数の第1試験値を決定するように設計されている第1プロセッサと、複数の第2プログラム変数を処理することにより前記制御命令の少なくとも一部を実行するように設計されている第2プロセッサであって、前記第1試験値に対応する第2試験値を決定するように設計されている第2プロセッサと、前記瞬時値、前記第1試験値、および前記第2試験値を記憶するように設計されているデータメモリと、を備えたことを特徴とする冒頭に記載した種類の安全関連制御ユニットによって達成される。
また、本目的は、複数の第1プログラム変数を処理するステップと、第1の規定タイミングに少なくとも1つの前記第1プログラム変数に対して存在する瞬時値に応じて前記第1プログラム変数の第1試験値を決定するステップと、複数の第2プログラム変数を処理するステップと、前記第1試験値に対応する第2試験値を決定するステップと、前記瞬時値、前記第1試験値、および前記第2試験値をデータメモリに記憶させるステップと、を含むことを特徴とする冒頭に記載した種類の方法によって達成される。
前記の本発明の安全関連制御ユニットおよび本発明の方法は、プログラム変数の瞬時値と、第1プロセッサにより安全関連制御ユニットの第1チャンネルに対して決定された第1試験値および第2プロセッサにより第2チャンネルに対して決定された第2試験値の両者とをデータメモリに記憶させるという着想に基づいている。したがって、記憶された瞬時値の有効性は、たとえば動作シーケンスの予期せぬ中断後に再始動する場合、両チャンネルで重複して確認可能となる。これにより、安全関連制御ユニットの可用性は高くなる。両試験値が1つのデータメモリに記憶されるため、2つのチャンネルの一方にのみデータメモリを設ければ十分である。2つのチャンネルのそれぞれに対して個別のデータメモリを設ける必要はない。これにより、安全関連制御ユニットの実装コストが低減される。
以上のようにして、上述の目的は完遂される。
本発明の一改良形態においては、前記第2プロセッサが、前記第2プログラム変数のうちの前記第1プログラム変数に対応する第2プログラム変数のうちの1つの瞬時値に応じて前記第2試験値を決定するようにも設計される。
この改良形態の一部の変形例においては、前記第1および第2プログラム変数が、制御される設備の共通の瞬時値を表す相互に冗長なプログラム変数である。この改良形態には複数の利点がある。まず、2つの試験値が個別に独立して決定される。この結果、記憶された瞬時値が有効か否かの確認の信頼性がより高くなる。また、2つのチャンネルのそれぞれに対して個別の試験値が使用可能である。したがって、記憶された瞬時値の個別の有効性試験および妥当性確認を両チャンネルに対して行うことができる。この冗長性により、安全関連制御ユニットひいては制御される設備の可用性が高くなる。
別の改良形態においては、前記第1プログラム変数の瞬時値および前記第2プログラム変数の瞬時値が同じタスクサイクルに由来する。
各プロセッサは通例、それぞれのプログラム変数を周期的に読み出して各制御プログラムを周期的に実行する。この実施形態では、第1および第2プログラム変数が共通のサイクルに由来するため、概ね同じタイミングに存在する2つの瞬時値を表す。この改良形態では、2つの瞬時値が時間の経過とともに合致するようになって類似性がより高くなるため、有効性試験に対しては一方の瞬時値のみを記憶させれば十分である。これにより、データメモリを費用対効果に優れたサイズとすることができる。タスクサイクルは、第1の規定タイミングにより定義すると都合が良い。
別の改良形態においては、安全関連制御ユニットが前記2つの試験値を異なる方法で決定するように設計される。
この改良形態によれば、有効性試験の信頼性が向上する。安全関連制御ユニットの2つのチャンネルに対しては、異なるアルゴリズムを用いて各試験値を決定するのが好ましい。
別の改良形態においては、前記データメモリが不揮発性データメモリとして設計される。
この改良形態では、とくに予期せぬ中断後に安全関連制御ユニットを再始動する際、記憶された瞬時値および2つの試験値が直ちに利用可能である。したがって、設備の再作動をより迅速に行うことができる。前記データメモリは、いわゆる磁気抵抗メモリ(MRAM: Magneto-resistive Random Access Memory)あるいは強誘電体メモリ(FRAM(登録商標): Ferroelectric Random Access Memory)として設計するのが好ましい。
別の改良形態においては、安全関連制御ユニットが前記2つの試験値を連続するタイミングに対して繰り返し決定するように設計される。
この改良形態では、記憶された瞬時値が繰り返し更新される。この更新は、一定の時間間隔で発生するのが好ましい。この改良形態は、最新の値で設備を再始動できるため都合が良い。これにより、設備の再始動がより簡単かつ高速になる。
別の改良形態においては、前記第1プロセッサがさらに瞬時値比較を行うように設計される。
この改良形態では、第1プロセッサが異なるタイミングの瞬時値を比較する。この改良形態は、現在の瞬時値および2つの試験値の記憶を最適化する。瞬時値比較は、記憶済みの先行瞬時値と比較して変化があるか否かを調べるために行われる。変化がない場合、現在の瞬時値および2つの現在の試験値が再度記憶されることはない。すなわち、好ましくは、これら値の記憶は、実際に変化があった場合にのみ発生する。この結果、より小さなサイズのデータメモリを使用でき、コスト削減につながる。安全関連制御ユニットの動作に関して、この改良形態により、費用の最適化が図れる。これは、タスクサイクルごとに瞬時値および関連する試験値を記憶させる必要がないためである。
別の改良形態においては、安全関連制御ユニットが、再始動中に前記瞬時値の有効性確認を行うように設計され、前記第1プロセッサにより前記第1試験値に対する前記瞬時値の妥当性を確認するとともに、前記第2プロセッサにより前記第2試験値に対する前記瞬時値の妥当性を確認するように設計される。
この改良形態にはさらに、安全関連制御ユニットの2つのチャンネルの一方のみに対して決定された瞬時値を1つだけ用いて2つのチャンネルに対する有効性試験を実行可能であるという利点がある。この結果、たとえば瞬時値の記憶に要する費用を低減可能である。したがって、データメモリは1つだけ設ければ十分である。このデータメモリは、安全関連プログラム変数および非安全関連プログラム変数の両者が処理される安全関連制御ユニットのチャンネルに割り当てるのが好ましい。
別の改良形態においては、前記データメモリが前記第1プログラム変数に割り当てられた2つの記憶領域を備える。
この改良形態によれば、2つの異なるタイミングひいては2つの異なるタスクサイクルに対して、最近の瞬時値および2つの各々関連する試験値を記憶させることができる。このように、少なくとも2つの異なるタスクサイクルにわたる瞬時値の履歴を前記記憶領域に記憶させるのが好ましい。これにより、再始動の場合の制御される設備の可用性はさらに高くなる。最後に記憶された最新の瞬時値が有効ではないために安全関連制御ユニットの初期化に利用できないことが有効性試験中に分かった場合は、以前に記憶されたより古い瞬時値が依然として可用であり、再始動に利用できて都合が良い。
別の改良形態においては、安全関連制御ユニットが前記瞬時値および前記2つの試験値を前記2つの記憶領域に交互に記憶させるように設計される。
この改良形態では、2つの記憶領域を用いて瞬時値の履歴を交互に更新する。この改良形態では、任意のタイミングにおいて、最新の瞬時値(現在のタスクサイクルZから)を一方の記憶領域に用意し、より古い瞬時値(先行するタスクサイクルZ−1から)を他方の記憶領域に用意する。そして、この改良形態では、現在の瞬時値が次のタスクサイクルZ+1で読み込まれた場合は、その都度、最も古い瞬時値を書き換える。この改良形態では、安全関連制御ユニットの動作にあたって、最小限のメモリ所要量で2つの最新世代の瞬時値が常に記憶されるため、中断後の安全関連制御ユニットの初期化に利用可能である。
別の改良形態においては、前記2つのプロセッサの少なくとも一方が書き込みカウンタの値を決定するように設計される。
書き込みカウンタは、前記2つの記憶領域のいずれに最新の瞬時値が含まれるかをその都度表すため都合が良い。この改良形態によれば、異なるタイミングに存在する多数の瞬時値が前記データメモリに記憶されている場合、これら瞬時値のいずれが最も新しく、最初に有効性確認の対象となるかをより容易に決定することができる。2つの各プロセッサは、それぞれの書き込みカウンタを決定するのが好ましい。これにより、安全関連制御ユニットの可用性はさらに高くなる。
別の改良形態においては、前記第1プロセッサが前記瞬時値および前記書き込みカウンタの値に応じて前記第1試験値を決定するようにも設計される。
この改良形態では、チェックサムの決定において、第1プロセッサが瞬時値のみならず書き込みカウンタの値も考慮に入れる。第1試験値は、以下のように決定するのが好ましい。すなわち、記憶領域の2つの記憶セルに瞬時値および書き込みカウンタの値を記憶させる。そして、この2つの記憶セルの値により第1試験値を決定する。この実施形態には、試験値が瞬時値およびその伝搬の双方を保証するため、設備再始動時の情報の信頼性がさらに向上するという利点がある。
別の改良形態においては、前記第1および第2のプログラム変数がそれぞれ安全関連プログラム変数である。
この改良形態では、再始動および関連する初期化の場合、安全制御命令の処理のために安全関連制御ユニットで必要なプログラム変数の値が利用可能である。これにより、再始動から、設備の動作信頼性が保証される。ただし、前記データメモリには、非安全関連プログラム変数の瞬時値も記憶させることができる。
安全関連制御ユニットの再始動時に利用できるようにデータメモリに記憶させなければならないデータは一般的に、ゼロ電圧保護データと呼ばれる。前述の通り、ゼロ電圧保護データは本質的に安全関連データであり、安全関連プログラム入力変数の瞬時値、安全関連プログラム出力変数の瞬時値、または安全関連中間プログラム変数の瞬時値であってもよい。簡単には、安全関連制御命令の実行中に発生するデータであってもよい。ただし、非安全関連制御命令の実行中に発生する非安全関連データ、すなわち、非安全関連プログラム入力変数の瞬時値、非安全関連プログラム出力変数の瞬時値、または非安全関連中間プログラム変数の瞬時値であってもよい。また、非安全関連データは、設備の始動にも重要と考えられる。一例として、非安全関連カウンタ変数について言及する。この変数の瞬時値は、たとえば、すでにリフトケーブル上にはなくて保管所に収容されているチェアリフトの椅子の数を表す。
前記第1プロセッサは、任意の数の第1プログラム変数に対して、その都度、第1試験値を決定するように設計されていても好ましい。これに対して、前記第2プロセッサは、各第1試験値に対応する第2試験値を決定するように設計されていてもよい。
当然のことながら、上述の特徴および以下に説明する特徴は、本発明の要旨を逸脱しない範囲で、個別に示した組み合わせだけでなく、それ以外の組み合わせまたはそれら自体で使用可能である。
本発明の実施形態を図面に示すとともに、以下に詳細に説明する。
制御される設備の概略図である。 データメモリの概略図であって、第1の実施形態にかかるデータ記憶を説明するためのものである。 データメモリの概略図であって、第2の実施形態にかかるデータ記憶を説明するためのものである。
図1においては、安全関連制御ユニットを参照番号10で示している。安全関連制御ユニット10は、全体を参照番号12で示した自動化設備を制御するように設計されている。設備12は、複数のアクチュエータ14と複数のセンサ16とを備えている。一例としては、ロボット等の負荷18が設備12に含まれた場合を図示している。
安全関連制御ユニット10は、セーフティクリティカルなアプリケーションまたはプロセスの制御に必要なフェイルセーフ性を確保するため、2チャンネルの冗長構成となっている。図1には、2チャンネル構成の代表例として、2つの個別プロセッサ、すなわち、第1プロセッサ20および第2プロセッサ22を図示している。これら2つのプロセッサ20,22は、相互モニタリングおよびデータ交換が可能なように、双方向通信インターフェース24を介して互いに接続されている。安全関連制御ユニット10の2つのチャンネルおよび2つのプロセッサ20,22は、システマティックエラーを大幅に削減するため、多様な構成、すなわち、互いに異なる構成とするのが好ましい。
2つの各プロセッサ20,22に接続された入出力ユニットを参照番号26で示す。入出力ユニット26は、センサ16から制御入力信号28を受け取り、しかるべきデータフォーマットで2つの各プロセッサ20,22に転送する。さらに、入出力ユニット26は、各プロセッサ20,22に応じて、アクチュエータ14の駆動に用いられる制御出力信号30を生成する。
参照番号32は、アプリケーションプログラム34をマシンコードの形式で記憶させたプログラムメモリを示している。アプリケーションプログラム34は、安全関連制御ユニット10によって実行される。また、アプリケーションプログラム34の全体は、プログラミングツールを活用して作成されるが、まず初めにソースコードが作成され、その後、マシンコードに変換される。このプログラミングツールは、たとえば従来のPC38上で実行可能なコンピュータプログラム36である。また、プログラムメモリ32は、SDカードまたはCFカードとして構成するのが好ましい。これにより、PC38に直接接続しなくても、アプリケーションプログラム34を簡単に交換可能である。あるいは、安全関連制御ユニット10に常設のEEPROM等のメモリにアプリケーションプログラム34を記憶させてもよい。いずれの場合も、プログラムメモリ32は、ゼロ電圧保護となるように構成される。
安全関連プログラム変数のフェイルセーフ処理を提供するため、プログラムメモリ32には、第1マシンコード40および第2マシンコード42が記憶されている。第1マシンコード40は第1プロセッサ20を対象としており、第2マシンコード42は第2プロセッサ22を対象としている。また、第1マシンコード40には、第1安全コード44および標準コード46が含まれる。この第1安全コード44には、安全関連制御ユニット10の処理対象である安全タスクの一部として第1プロセッサ20により実行される安全制御命令が含まれる。また、標準コード46には、安全関連制御ユニット10の処理対象である標準タスクの一部として第1プロセッサ20により実行される標準制御命令が含まれる。第2マシンコード42には、第2プロセッサ22により実行される安全制御命令を含む第2安全コード48が含まれる。これら安全制御命令および標準制御命令は、本明細書中では「制御命令」と総称する。
処理の進展に応じて、一方では第1現行安全制御命令50が、他方では現行標準制御命令52が第1プロセッサ20で実行される。本質的にはこれと同時に、第2プロセッサ22では第2現行安全制御命令54が実行される。
非安全関連制御命令である現行標準制御命令52の処理の一部として、第1プロセッサ20と入出力ユニット26との間では第1非安全関連データ56が交換される。このプロセスでは、非安全関連プログラム入力変数によって、非安全関連センサ60で生成された非安全関連制御入力信号58の瞬時値が第1プロセッサ20に供給される。非安全関連センサ60は、設備の動作シーケンスにはその信号がとくに重要であるが、故障が起きても生命および四肢への即時危険を示すことのないセンサである。たとえば、非安全関連センサは、ワークピースを機械加工するツールの位置を検出する。非安全関連センサ60は通例、非フェイルセーフ的に構成される。入出力ユニット26には、非安全関連プログラム出力変数によって、駆動信号として非安全関連アクチュエータ64に供給された非安全関連制御出力信号62の瞬時値が供給される。非安全関連アクチュエータ64は、たとえばモータまたは位置決めシリンダであってもよい。非安全関連制御出力信号62の瞬時値は、非安全関連制御入力信号58に応じて、標準制御命令に基づいて決定される。この際、瞬時値が非安全関連中間プログラム変数に割り当てられる中間量の決定が必要となる場合がある。非安全関連中間プログラム変数の瞬時値は、第2非安全関連データ66によって、メインメモリ68に供給されて一時的に記憶される。
安全関連制御命令である第1現行安全制御命令50の処理の一部として、第1プロセッサ20と入出力ユニット26との間では第1安全関連データ70が交換される。このプロセスでは、安全関連プログラム入力変数によって、安全関連センサ74で生成された安全関連制御入力信号72の瞬時値が第1プロセッサ20に供給される。安全関連センサ74は、たとえば緊急停止押しボタン、防護ドアスイッチ、ライトグリッド、回転速度モニタリング装置、または安全関連パラメータを記録するその他のセンサである。
入出力ユニット26には、安全関連プログラム出力変数によって、駆動信号として安全関連アクチュエータ78に供給された安全関連制御出力信号76の瞬時値が供給される。安全関連アクチュエータ78は、たとえば、常時開接点が電源80と負荷18との間に接続配置された回路遮断器であって、危険な駆動を確実に停止可能な安全関連電磁バルブ等のアクチュエータである。したがって、負荷18の電源80は遮断可能であり、その結果、対応する異常の発生時には少なくとも負荷18を安全状態に移行させることができる。安全関連制御出力信号76の瞬時値は、安全関連制御入力信号72に応じて、安全制御命令に基づいて決定される。この際、瞬時値が安全関連中間プログラム変数に割り当てられる安全関連中間量の決定が必要となる場合がある。安全関連中間プログラム変数の瞬時値は、第2安全関連データ82によって、メインメモリ68に供給されて一時的に記憶される。
安全関連制御命令である第2現行安全制御命令54の処理の一部として、その手順は第1現行安全制御命令50に従う。この第2現行安全制御命令54に関しては、第1安全関連データ70に対応する第3安全関連データ84および第2安全関連データ82に対応する第4安全関連データ86が対応するものとして用いられる。
したがって、第1プロセッサ20は、複数の第1プログラム変数を論理的に組み合わせて、アプリケーションプログラムの制御命令の少なくとも一部を実行するように設計されている。この第1プロセッサ20は、チャンネルAと表される第1チャンネル88の一部である。また、第2プロセッサ22は、複数の第2プログラム変数を処理して、アプリケーションプログラムの制御命令の少なくとも一部を実行するように設計されている。この第2プロセッサ22は、チャンネルBと表される第2チャンネル90の一部である。
安全関連制御ユニット10には、ゼロ電圧保護データを記憶させるためのデータメモリ92が存在する。ゼロ電圧保護データは、たとえば電圧故障後に安全関連制御ユニット10を作動させた場合の制御される設備12の始動時になくてはならないデータである。このデータメモリ92は、不揮発性データメモリとして設計され、第1プロセッサ20、すなわち、安全制御命令および標準制御命令の両者を処理するプロセッサに割り当てられている。このことには、第1プロセッサ20が処理する安全関連データおよび非安全関連データを簡単な方法でデータメモリ92に記憶させることができるという利点がある。第2プロセッサ22で処理されてデータメモリ92に記憶される安全関連データは、双方向通信インターフェース24を介して第1プロセッサ20に供給されて、データメモリ92に書き込まれる。これに対応する逆の手順で、データメモリ92に記憶されたデータが第2プロセッサ22に戻される。データメモリ92を第1プロセッサ20に割り当てることは、限定的な効果を意図したものではない。データメモリ92を第2プロセッサ22に割り当てることも考えられる。同様に、両プロセッサ20,22から直接データメモリ92にアクセス可能とすることも考えられる。
データのデータメモリ92への書き込みおよびデータのデータメモリ92からの読み出しは、それぞれ矢印94および96で表される。実際にどのデータをデータメモリ92に書き込んで記憶させるかについては、図2および図3を参照して説明する。
試験信号98は、入出力ユニット26を介して、安全関連制御ユニット10、安全関連センサ74、および安全関連アクチュエータ78の間で交換される。安全関連制御ユニット10では、試験信号98を用いて、接続されたコンポーネントが故障なく動作しているか否かを判定することができる。この判定が必要なのは、安全関連制御ユニット10に接続された装置に異常が発生した場合に、制御される設備12の安全状態を直ちに保証しなければならないためである。
安全関連制御出力信号76の瞬時値は、上述の内容に従って、第1プロセッサ20および第2プロセッサ22の両者により生成されるが、これら2つのプロセッサ20,22で生成された瞬時値が制御出力信号76として同時に出力されることを意味するものではない。上述の内容は、処理対象の安全タスクに関して冗長な安全関連制御ユニット10の構成を再現することのみを意図したものである。
両プロセッサ20,22は、安全関連制御出力信号76の瞬時値を決定するように設計されている。安全関連制御ユニット10が故障なく動作している間は、第1プロセッサ20等のプロセッサにより決定された値のみが出力される。非安全関連制御命令および安全関連制御命令の両者は、図2で選択した構成に従って、安全関連制御ユニット10で処理されるが、この構成は限定的な効果を意図したものではない。安全関連制御ユニット10は、安全関連制御命令を排他的に処理するように設計することも可能である。
図2は、第1の実施形態にかかる様々な値が記憶されるデータメモリ92を示したものである。データメモリ92は、安全関連プログラム変数を記憶するための第1下位記憶領域110を備える。さらに、データメモリ92は、非安全関連プログラム変数を記憶するための第2下位記憶領域112を備える。このデータメモリ92の構成は、限定的な効果を意図したものではない。それぞれ安全関連プログラム変数用および非安全関連プログラム変数用に2つの独立構成のデータメモリを設けることも可能である。
図1を参照して前述した通り、安全関連制御ユニット10は、2チャンネルの冗長構成となっている。参照番号114は、第1チャンネル88における複数の第1安全関連プログラム変数の処理を示している。第1チャンネル88で処理される第1安全関連プログラム変数の1つとして、安全関連プログラム変数FSV1Aを参照番号116で示す。この場合、命名した名称には以下の意味がある。すなわち、FSは「フェイルセーフ(Fail-safe)」を表し、この変数が安全関連プログラム変数であることを示している。V1は、考慮する安全関連プログラム変数の実際の名称であって、この名称により、第1プロセッサ20で処理される複数の第1安全関連プログラム変数の中で識別可能である。文字Aは、この変数が第1チャンネル88で処理されるプログラム変数であることを示している。この命名法は、図2および図3において一律に使用されている。
参照番号118は、第1チャンネル88で使用される書き込みカウンタSZAを示している。この場合、書き込みカウンタSZAの値は、安全関連プログラム変数FSV1Aの瞬時値を第1下位記憶領域110に書き込む書き込みプロセスの数を規定する。参照番号120は、安全関連プログラム変数FSV1Aに対して第1チャンネル88で行われる試験値決定CRCFSV1Aを示している。文字列CRC(Cyclic Redundancy Check:巡回冗長検査)は、この試験値決定がCRCプロセスに従って発生することを示している。
参照番号122は、第2チャンネル90における複数の第2安全関連プログラム変数の処理を示している。第2チャンネル90で処理される第2安全関連プログラム変数の1つとして、安全関連プログラム変数FSV1Bを参照番号124で示す。文字Bは、このプログラム変数が第2チャンネル90で処理されるプログラム変数であることを示している。参照番号126は、第2チャンネル90で使用される書き込みカウンタSZBを示している。この場合、書き込みカウンタSZBの値は、書き込みカウンタSZAの値に対応する。参照番号128は、安全関連プログラム変数FSV1Bに対して第2チャンネル90で行われる試験値決定CRCFSV1Bを示している。
この場合、安全関連プログラム変数FSV1Bは、安全関連プログラム変数FSV1Aに対応する。これは、以下のことを意味している。
すなわち、図1を参照して前述した通り、プログラムメモリ32には、第1チャンネル88用の第1マシンコード40および第2チャンネル90用の第2マシンコード42が記憶され、安全関連制御ユニット10にフェイルセーフ動作を提供している。両マシンコード40,42には、独立した安全コード44,48がそれぞれ含まれている。これら2つの各安全コード44,48を用いて、安全関連センサ74の同じ安全関連制御入力信号72が処理され、同じ安全関連アクチュエータ78に対して安全関連制御出力信号76が決定される。
この目的のため、これら2つの各安全コード44,48には、それぞれのプログラム変数が含まれ、第1安全コード44には第1安全関連プログラム変数が、第2安全コード48には第2安全関連プログラム変数が含まれる。第1プログラム変数および第2プログラム変数がそれぞれのメモリの独立した記憶領域を占有するという意味においては互いに独立しているものの、これら2つの安全コード44,48には、対ごとに対応するプログラム変数が含まれる。したがって、第1安全コード44および第2安全コード48にはそれぞれ、たとえば同じ緊急停止押しボタンによって生成されたセンサ信号の瞬時値を読み込み可能な安全関連プログラム入力変数が含まれる。このことは、安全関連プログラム出力変数および場合によって必要となる安全関連中間プログラム変数にも同じように当てはまる。
そして、第1下位記憶領域110には、安全関連プログラム変数FSV1Aの瞬時値、書き込みカウンタSZAの値、ならびに2つの試験値決定CRCFSV1AおよびCRCFSV1Bによって決定された試験値が以下のように記憶される。この第1下位記憶領域には、2つの記憶領域130,132が存在する。第1の規定タイミングに存在する第1プログラム変数FSV1Aの瞬時値FSV1A(n)は、矢印136で示すように、第1記憶領域130の第1記憶セル134に記憶される。この場合、命名した名称には以下の意味がある。すなわち、追加表記(n)は、これが瞬時値であることを示している。この瞬時値は、タスクサイクルn内の第1の規定タイミングに存在する。この場合、タスクサイクルとは、入力画像の更新に始まって、個別の制御命令を実行し、出力画像の提供に至るアプリケーションプログラムを安全関連制御ユニット10がひと通り実行するのに必要な期間である。その結果、たとえば安全関連プログラム入力変数および安全関連プログラム出力変数を用いる場合、これらプログラム変数のタスクサイクルあたりの変更は1回のみであるため、最小時間単位としてタスクサイクルに適応させれば十分である。この意味で、nは第1の規定タイミングひいてはそのタイミングが含まれるタスクサイクルを示している。(n−1)という表記は、より古いタイミングひいては先行するタスクサイクルの1つを示し、(n+1)という表記は、より新しいタイミングひいては後続のタスクサイクルの1つを示す。
第1の規定タイミングに存在する書き込みカウンタSZAの値SZA(n)についても、矢印140で示すように、第1記憶領域130、具体的には第2記憶セル138に記憶される。さらに、瞬時値FSV1A(n)に応じて試験値決定CRCFSV1Aにより決定された第1試験値CRCFSV1A(n)および第2試験値CRCFSV1B(n)は、矢印146,148で示すように、第1記憶領域130の第3記憶セル142および第4記憶セル144に記憶される。
そして、第2試験値決定CRCFSV1Bにより決定された第2試験値CRCFSV1B(n)は、第1試験値CRCFSV1A(n)に対応する。一方、第2試験値CRCFSV1B(n)は、第1プログラム変数FSV1Aに対応する第2プログラム変数FSV1Bの瞬時値に応じて決定される。さらに、第2プログラム変数FSV1Bの瞬時値は、第1プログラム変数FSV1Aの瞬時値FSV1A(n)と同じタスクサイクルに存在する。これら2つの試験値CRCFSV1A(n)およびCRCFSV1B(n)は、多様に決定されるのが好ましい。この目的のため、2つの試験値決定CRCFSV1AおよびCRCFSV1Bは、ハードウェア技術および/またはソフトウェアにより多様に実行される。
第2記憶領域132では、矢印158,160,162,164で示すように、より古いタイミングひいては先行するタスクサイクルに対して、第1プログラム変数FSV1Aの瞬時値FSV1A(n−1)、書き込みカウンタSZAの値SZA(n−1)、第1試験値CRCFSV1A(n−1)、および第2試験値CRCFSV1B(n−1)が第5記憶セル150、第6記憶セル152、第7記憶セル154、および第8記憶セル156に記憶される。記憶領域132に記憶された個々の値は、記憶領域130に記憶された対応する値に関して前述した通り、これらに対応して決定されたものである。
記憶セル134,138,142,150,152,154に記憶された値は、第1プロセッサ20により決定されたものである。記憶セル144,156に記憶された値は、第2プロセッサ22により決定されたものである。
第1プログラム変数FSV1Aの瞬時値ならびに試験値決定CRCFSV1AおよびCRCFSV1Bによって決定された2つの試験値はいずれも、2つの記憶領域130,132に交互に記憶される。これにより、2つの試験値は、連続するタイミングに対して繰り返し決定されて記憶される。そして、より新しいタイミングひいては次のタスクサイクルについては、このタイミングに存在する瞬時値FSV1A(n+1)ならびに2つの試験値CRCFSV1A(n+1)およびCRCFSV1B(n+1)が記憶領域132の対応する記憶セル150,152,154,156に記憶される。
データメモリ92は、安全関連プログラム変数FSV1Aに割り当てられた2つの記憶領域130,132を有する。上述の手順に従って、さらなる安全関連プログラム変数をデータメモリ92に記憶させる場合は、これら各プログラム変数に対して2つの記憶領域を備える。
第1プロセッサ20は、瞬時値比較を行うように設計されていてもよい。この瞬時値比較により、異なるタイミングに存在する安全関連プログラム変数FSV1Aの瞬時値が相互に比較される。瞬時値比較によって、2つの直接連続するタイミングの瞬時値が同じであることが分かった場合は、より新しい瞬時値およびより新しい2つの試験値の記憶を省略することができる。すなわち、より新しい瞬時値およびより新しい2つの試験値は、このより新しい瞬時値が直前のタイミングに対して存在する瞬時値と異なる場合にのみ記憶される。
前述の通り、たとえば第1試験値CRCFSV1A(n)は、瞬時値FSV1A(n)に応じて試験値決定CRCFSV1Aにより決定される。これに対して、たとえば第2試験値CRCFSV1B(n)は、瞬時値FSV1B(n)に応じて試験値決定CRCFSV1Bにより決定される。これは、各試験値が、関連する安全関連プログラム変数の瞬時値に対してのみ決定されることを意味するものと理解できる。あるいは、瞬時値FSV1A(n)および書き込みカウンタSZAの値SZA(n)から得られる組み合わせに対して第1試験値CRCFSV1A(n)が決定されてもよい。第2試験値CRCFSV1B(n)についても同じことが言える。
前記瞬時値、書き込みカウンタの値、および試験値の第1下位記憶領域への記憶は、以下の考察に基づいている。たとえば電圧故障がない限り、すなわち、安全関連制御ユニット10が故障なく動作している限り、2つの安全関連プログラム変数FSV1AおよびFSV1Bには、個々のタスクサイクルにおいて同一の瞬時値が含まれる。その結果、データメモリ92には、安全関連プログラム変数FSV1Aの瞬時値のみを記憶させれば十分である。また、1つのタスクサイクル内では、2つの書き込みカウンタSZAおよびSZBにも同一の値が含まれる。
このように、2つのチャンネル88,90に対して個別に決定された2つの試験値によって、データメモリ92に最後に記憶された瞬時値FSV1A(n)が有効であるか否かを確認することができる。このため、たとえば電圧故障後に必要となる再始動の場合、第1プロセッサ20には、瞬時値FSV1A(n)および第1試験値CRCFSV1A(n)が供給される。
第2プロセッサ22にも瞬時値FSV1A(n)は供給されるが、第2試験値CRCFSV1B(n)は供給されない。安全関連制御ユニット10が、2つの試験値CRCFSV1A(n)およびCRCFSV1B(n)が決定され瞬時値FSV1A(n)およびこれら2つの試験値のいずれもがデータメモリ92に記憶された時間窓において故障なく動作していた場合は、現在の第1試験値CRCFSV1A(n+1)および現在の第2試験値CRCFSV1B(n+1)を繰り返し決定することによって、記憶された第1試験値CRCFSV1A(n)と現在の第1試験値CRCFSV1A(n+1)とが同一であるとともに、記憶された第2試験値CRCFSV1B(n)と現在の第2試験値CRCFSV1B(n+1)とが同一であることが示される。この場合、記憶された瞬時値FSV1A(n)は有効で、安全関連制御ユニット10の初期化に利用可能である。そして、両チャンネル88,90では処理が発生することになる。
これに対して、記憶された第1試験値CRCFSV1A(n)と現在の第1試験値CRCFSV1A(n+1)とが同一でないか、または記憶された第2試験値CRCFSV1B(n)と現在の第2試験値CRCFSV1B(n+1)とが同一でないことが判明した場合は、記憶された瞬時値FSV1A(n)が無効で、安全関連制御ユニット10の初期化に利用できない。この場合は、以前に記憶された瞬時値FSV1A(n−1)が初期化に代用される。この瞬時値は、初期化に使用する前に、まず有効性試験を行うのが好ましい。これにより、安全関連制御ユニット10および設備12は、第1安全関連プログラム変数FSV1Aに対してデフォルト値を使用することなく、また、この目的ために必要な基準動作を実行することなく再始動が可能である。
前記有効性試験においては、書き込みカウンタSZAの値SZA(n)およびSZA(n−1)によって、第1記憶セル134および第5記憶セル150に記憶された2つの瞬時値のいずれがより新しいかの判定がまず行われる。そして、有効性確認においては、より新しい方の瞬時値の確認がまず行われる。
データメモリ92は、第1チャンネル88で処理される非安全関連プログラム変数を記憶するための第2下位記憶領域112を有する。
参照番号166は、第1チャンネル88における複数の非安全関連プログラム変数の処理を示している。第1チャンネル88で処理される第1非安全関連プログラム変数の1つとして、非安全関連プログラム変数STV1Aを参照番号168で示す。この場合、STは「標準(Standard)」を表し、この変数が非安全関連プログラム変数であることを示している。符号V1および文字Aの意味については、参照番号114を付した処理に関連する記述を参照することができる。参照番号170は、非安全関連プログラム変数STV1Aに対して第1チャンネル88で行われる試験値決定CRCSTV1Aを示している。
以上から、第2下位記憶領域112には、非安全関連プログラム変数STV1Aの瞬時値、書き込みカウンタSZAの値、および試験値決定CRCSTV1Aによって決定された試験値が以下のように記憶される。すなわち、この第2下位記憶領域112には、2つの記憶領域172,174が存在する。第1の規定タイミングに存在する第1非安全関連プログラム変数STV1Aの瞬時値STV1A(n)は、矢印178で示すように、第3記憶領域172の第9記憶セル176に記憶される。第1の規定タイミングに存在する書き込みカウンタSZAの値SZA(n)についても、矢印182で示すように、第10記憶セル180に記憶される。さらに、瞬時値STV1A(n)に応じて試験値決定CRCSTV1Aにより決定された試験値CRCSTV1A(n)は、矢印186で示すように、第11記憶セル184に記憶される。
第4記憶領域174では、矢印194,196,198で示すように、より古いタイミングひいては先行するタスクサイクルに対して、非安全関連プログラム変数STV1Aの瞬時値STV1A(n−1)、書き込みカウンタSZAの値SZA(n−1)、および試験値CRCSTV1A(n−1)が第12記憶セル188、第13記憶セル190、および第14記憶セル192に記憶される。第4記憶領域174に記憶された個々の値は、第3記憶領域172に記憶された対応する値に関して前述した通り、これらに対応して決定されたものである。また、記憶セル176,180,184,188,190,192に記憶された値は、第1プロセッサ20により決定されたものである。
非安全関連プログラム変数STV1Aの瞬時値および試験値決定CRCSTV1Aによって決定された試験値はいずれも、2つの記憶領域172,174に交互に記憶される。そして、より新しいタイミングひいては次のタスクサイクルについては、このタイミングに存在する瞬時値STV1A(n+1)および試験値CRCSTV1A(n+1)が第4記憶領域174の対応する記憶セル188,190,192に記憶される。
データメモリ92は、非安全関連プログラム変数STV1Aに割り当てられた2つの記憶領域172,174を有する。上述の手順に従って、さらなる非安全関連プログラム変数をデータメモリ92に記憶させる場合は、これら各プログラム変数に対して2つの記憶領域を備える。
非安全関連プログラム変数の記憶は、瞬時値比較を考慮して行うことができる。同様に、試験値の決定においては、書き込みカウンタSZAの値を考慮することができる。最後に記憶された瞬時値STV1A(n)の有効性試験は、安全関連プログラム変数に関して前述した通り、これに対応して行われる。
上述の内容に対応して、データメモリ92に最後に記憶された非安全関連プログラム変数STV1Aの瞬時値STV1A(n)が有効であるか否かを確認することができる。
この目的のため、第1プロセッサ20には、たとえば安全関連制御ユニット10の再始動時に瞬時値STV1A(n)および試験値CRCSTV1A(n)が供給される。安全関連制御ユニット10が、試験値CRCSTV1A(n)が決定され瞬時値STV1A(n)および試験値CRCSTV1A(n)の両者がデータメモリ92に記憶された時間窓において故障なく動作していた場合は、現在の試験値CRCSTV1A(n+1)を繰り返し決定することによって、記憶された試験値CRCSTV1A(n)と現在の試験値CRCSTV1A(n+1)とが同一であることが示される。この場合、記憶された瞬時値STV1A(n)は有効で、安全関連制御ユニット10の初期化に利用可能である。そして、第1チャンネル88で処理されることになる。
これに対して、記憶された試験値CRCSTV1A(n)と現在の試験値CRCSTV1A(n+1)とが同一でないことが判明した場合は、記憶された瞬時値STV1A(n)が無効で、安全関連制御ユニット10の初期化に利用できない。この場合は、以前に記憶された瞬時値STV1A(n−1)が初期化に代用される。この瞬時値は、初期化に使用する前に、まず有効性確認を行うのが好ましい。これにより、安全関連制御ユニット10および設備12は、非安全関連プログラム変数STV1Aに対してデフォルト値を使用することなく、また、この目的のために必要な基準動作を実行することなく再始動が可能である。
前記有効性確認においては、書き込みカウンタSZAの値SZA(n)およびSZA(n−1)によって、第9記憶セル176および第12記憶セル188に記憶された2つの瞬時値のいずれがより新しいかの判定がまず行われる。そして、有効性確認においては、より新しい方の瞬時値の試験がまず行われる。
第1プロセッサ20で処理されるプログラム変数は第1プログラム変数と総称し、第2プロセッサ22で処理されるプログラム変数は第2プログラム変数と総称する。
図3は、データメモリ92を示しており、第2の実施形態にかかる様々な値が記憶されている。
参照番号114’は、第1チャンネル88における複数の第1安全関連プログラム変数の処理を示しているが、書き込みカウンタSZAを一切考慮に入れていない点が処理114とは異なる。これに対応して、参照番号122’は、第2チャンネル90における第2安全関連プログラム変数の処理を示している。また、参照番号166’は、第1チャンネル88における非安全関連プログラム変数の処理を示している。
第5記憶領域200では、矢印208,210,212で示すように、第1プログラム変数FSV1Aの瞬時値FSV1A(n)、第1試験値CRCFSV1A(n)、および第2試験値CRCFSV1B(n)が第15記憶セル202、第16記憶セル204、および第17記憶セル206に記憶される。また、第6記憶領域214では、矢印220,222で示すように、非安全関連プログラム変数STV1Aの瞬時値STV1A(n)および試験値CRCSTV1A(n)が第18記憶セル216および第19記憶セル218に記憶される。
記憶セル202,204,216,218に記憶された値は、第1プロセッサ20により決定されたものである。記憶セル206に記憶された値は、第2プロセッサ22により決定されたものである。記憶された個々の値は、図2に関連する記述に従って決定されたものである。
さらなる安全関連プログラム変数をデータメモリ92に記憶させる場合は、後になるほど、これに対応するより多くの第5記憶領域200を備える。このことは、非安全関連プログラム変数および第6記憶領域214についても当てはまる。同様に、非安全関連プログラム変数および安全関連プログラム変数の記憶は、瞬時値比較を考慮して行うことができる。
記憶された瞬時値FSV1A(n)およびSTV1A(n)の有効性確認は、図2を参照して前述した通りに行われるが、以下のような違いがある。すなわち、たとえば瞬時値FSV1A(n)が有効でないことが判明した場合は、瞬時値FSV1A(n)と代用可能な第1安全関連プログラム変数FSV1Aの瞬時値がそれ以上データメモリ92に記憶されることはない。この場合、安全関連制御ユニット10は、第1安全関連プログラム変数FSV1Aのデフォルト値によって初期化するか、または設備12の基準動作を実行して初期化しなければならない。このことは、非安全関連プログラム変数STV1Aにも当てはまる。
ただし、図2を参照して説明した記憶の概念に対して、図3を参照して説明した記憶の概念には、データメモリ92のサイズを小さくして費用対効果を高めることができるという利点がある。
本願において、非安全関連データの記憶に適用された記憶の概念は、明確な保護の対象とはなっていない。これについては、このような記憶の概念を対象とした発明を達成することが今後の課題である。

Claims (6)

  1. 内部で実行するアプリケーションプログラム(34)に従って自動化設備(12)を制御するための安全関連制御ユニットにおいて、前記設備(12)が複数のセンサ(16)および複数のアクチュエータ(14)を備え、前記アプリケーションプログラム(34)が前記アクチュエータ(14)を制御するための複数の制御命令(44,46,48)を含み、
    互いに冗長構成を有し、プログラム変数の冗長処理を提供する少なくとも第1プロセッサ(20)と第2プロセッサ(22)とを備え
    前記第1プロセッサ(20)は、複数の第1プログラム変数(FSV1A)を処理することにより前記制御命令の少なくとも一部(44)を実行するように設計されているとともに、少なくとも1つの前記第1プログラム変数(FSV1A)に対して存在する瞬時値(FSV1A(n))に応じて前記第1プログラム変数(FSV1A)の第1試験値(CRCFSV1A(n))を決定するように設計されており、
    前記第2プロセッサ(22)は、複数の第2プログラム変数(FSV1B)を処理することにより前記制御命令の少なくとも一部(48)を実行するように設計されているとともに、少なくとも1つの前記第2プログラム変数(FSV1B)に対して存在する瞬時値(FSV1B(n))に応じて前記第2プログラム変数(FSV1B)の、前記第1試験値(CRCFSV1A(n))に対応する第2試験値(CRCFSV1B(n))を決定するように設計されており、
    前記瞬時値(FSV1A(n))、前記第1試験値(CRCFSV1A(n))、および前記第2試験値(CRCFSV1B(n))を記憶するように設計されているデータメモリ(92)を備え、
    前記データメモリ(92)が前記第1プログラム変数(FSV1A)に割り当てられた2つの記憶領域(130,132)を備え、前記瞬時値(FSV1A(n))および前記2つの試験値(CRCFSV1A(n),CRCFSV1B(n))を、時間的に続くタスクサイクル(n−1, n)ごとに前記2つの記憶領域(130,132)に交互に記憶させるように設計されていることを特徴とする、安全関連制御ユニット(10)。
  2. 前記2つのプロセッサ(20,22)の少なくとも一方が書き込みカウンタ(SZA,SZB)の値(SZA(n),SZB(n))を決定するように設計されていることを特徴とする、請求項1に記載の安全関連制御ユニット。
  3. 前記第1プロセッサ(20)が前記瞬時値(FSV1A(n))および前記書き込みカウンタ(SZA)の値(SZA(n))に応じて前記第1試験値(CRCFSV1A(n))を決定するようにも設計されていることを特徴とする、請求項2に記載の安全関連制御ユニット。
  4. 前記第1および第2のプログラム変数がそれぞれ安全関連プログラム変数であることを特徴とする、請求項1〜請求項3のいずれか1項に記載の安全関連制御ユニット。
  5. 自動化設備(12)を制御するための方法において、前記設備(12)が複数のセンサ(16)および複数のアクチュエータ(14)を備え、
    複数の第1プログラム変数(FSV1A)を処理するステップと、
    少なくとも1つの前記第1プログラム変数(FSV1A)に対して存在する瞬時値(FSV1A(n))に応じて前記第1プログラム変数(FSV1A)の第1試験値(CRCFSV1A(n))を決定するステップと、
    前記第1プログラム変数(FSV1A)の冗長処理を提供するため、複数の第2プログラム変数(FSV1B)を処理するステップと、
    少なくとも1つの前記第2プログラム変数(FSV1B)に対して存在する瞬時値(FSV1B(n))に応じて前記第2プログラム変数(FSV1B)の、前記第1試験値(CRCFSV1A(n))に対応する第2試験値(CRCFSV1B(n))を決定するステップと、
    前記瞬時値(FSV1A(n))、前記第1試験値(CRCFSV1A(n))、および前記第2試験値(CRCFSV1B(n))をデータメモリ(92)に記憶させるステップと、を含み、
    前記データメモリ(92)が前記第1プログラム変数(FSV1A)に割り当てられた2つの記憶領域(130,132)を備え、前記瞬時値(FSV1A(n))および前記2つの試験値(CRCFSV1A(n),CRCFSV1B(n))を、時間的に続くタスクサイクル(n−1, n)ごとに前記2つの記憶領域(130,132)に交互に記憶させるように設計されていることを特徴とする方法。
  6. 請求項1〜請求項4のいずれか1項に記載の安全関連制御ユニット(10)上でのプログラムコード実行時に請求項11または請求項12に記載の方法を実行するように設計された前記プログラムコードを含むコンピュータプログラム。
JP2014143409A 2009-04-20 2014-07-11 安全関連制御ユニットおよび自動化設備の制御方法 Active JP5911922B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE200910019087 DE102009019087A1 (de) 2009-04-20 2009-04-20 Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage
DE102009019087.2 2009-04-20

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012506392A Division JP5645921B2 (ja) 2009-04-20 2010-04-20 安全関連制御ユニットおよび自動化設備の制御方法

Publications (2)

Publication Number Publication Date
JP2014225276A JP2014225276A (ja) 2014-12-04
JP5911922B2 true JP5911922B2 (ja) 2016-04-27

Family

ID=42334649

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012506392A Active JP5645921B2 (ja) 2009-04-20 2010-04-20 安全関連制御ユニットおよび自動化設備の制御方法
JP2014143409A Active JP5911922B2 (ja) 2009-04-20 2014-07-11 安全関連制御ユニットおよび自動化設備の制御方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2012506392A Active JP5645921B2 (ja) 2009-04-20 2010-04-20 安全関連制御ユニットおよび自動化設備の制御方法

Country Status (8)

Country Link
US (1) US9098074B2 (ja)
EP (1) EP2422244B1 (ja)
JP (2) JP5645921B2 (ja)
CN (1) CN102460316B (ja)
DE (1) DE102009019087A1 (ja)
ES (1) ES2446349T3 (ja)
HK (1) HK1166523A1 (ja)
WO (1) WO2010121796A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008060005A1 (de) * 2008-11-25 2010-06-10 Pilz Gmbh & Co. Kg Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage mit einer Vielzahl von Anlagenhardwarekomponenten
JP5683294B2 (ja) * 2011-01-31 2015-03-11 三菱重工業株式会社 安全装置、安全装置の演算方法
DE102011088236A1 (de) * 2011-12-12 2013-06-13 Endress + Hauser Wetzer Gmbh + Co. Kg Verfahren zum sicheren Betreiben eines Feldgerätes der Prozessautomatisierungstechnik
US9696692B2 (en) * 2012-04-13 2017-07-04 Rockwell Automation Technologies, Inc. Industrial automation control system
DE202012013193U1 (de) 2012-06-26 2015-05-06 INTER CONTROL Hermann Köhler Elektrik GmbH & Co KG Vorrichtung für eine sicherheitskritische Anwendung
JP5545380B1 (ja) * 2013-01-28 2014-07-09 株式会社安川電機 ロボットシステム
US10185291B2 (en) * 2013-06-28 2019-01-22 Fisher Controls International Llc System and method for shutting down a field device
DE102016202749B4 (de) * 2016-02-23 2024-10-10 Festo Se & Co. Kg Sicherheitsgerichtetes Steuersystem und Verfahren zum Betrieb eines sicherheitsgerichteten Steuersystems
DE102016125240A1 (de) * 2016-12-21 2018-06-21 Endress+Hauser SE+Co. KG Elektronische Schaltung für ein Feldgerät der Automatisierungstechnik
US11879871B2 (en) * 2018-11-30 2024-01-23 Illinois Tool Works Inc. Safety systems requiring intentional function activation and material testing systems including safety systems requiring intentional function activation
CN113127262B (zh) * 2020-01-13 2024-05-14 北京地平线机器人技术研发有限公司 镜像文件的生成方法、装置、电子设备及存储介质

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3751684A (en) * 1972-04-14 1973-08-07 Allen Bradley Co Fault mode detection system
US4193120A (en) * 1978-09-13 1980-03-11 Zenith Radio Corporation Addressable event display and control system
US4787041A (en) * 1985-08-01 1988-11-22 Honeywell Data control system for digital automatic flight control system channel with plural dissimilar data processing
JPH02114827A (ja) * 1988-10-21 1990-04-26 Tokyo Electric Co Ltd バックアップ電源装置
JPH0527880A (ja) * 1991-07-23 1993-02-05 Nippon Steel Corp システムリスタート装置
US5414836A (en) * 1993-09-29 1995-05-09 International Business Machines Corporation Software testing system that employs a graphical interface to generate test cases configured as hybrid tree structures
JPH07295602A (ja) * 1994-04-22 1995-11-10 Shimadzu Corp 二重化制御装置
JP3210833B2 (ja) * 1995-05-09 2001-09-25 株式会社日立製作所 エラーチェック方法および装置
JP3208060B2 (ja) * 1996-05-27 2001-09-10 三菱電機株式会社 並列二重系電子連動装置
DE19636703C2 (de) * 1996-09-10 1998-12-03 Roland Man Druckmasch Vorrichtung zur automatischen Steuerung eines Druckplattenwechselvorganges
DE19802728A1 (de) * 1998-01-24 1999-07-29 Heidenhain Gmbh Dr Johannes Verfahren und Schaltungsanordnung zur Überwachung von Maschinenparametern
US6647301B1 (en) * 1999-04-22 2003-11-11 Dow Global Technologies Inc. Process control system with integrated safety control system
DE19927635B4 (de) * 1999-06-17 2009-10-15 Phoenix Contact Gmbh & Co. Kg Sicherheitsbezogenes Automatisierungsbussystem
US6556950B1 (en) * 1999-09-30 2003-04-29 Rockwell Automation Technologies, Inc. Diagnostic method and apparatus for use with enterprise control
US6777830B1 (en) * 2000-03-17 2004-08-17 Pilz Gmbh & Company System for reliable prevention of the restarting of a machine
FR2806934B1 (fr) * 2000-03-30 2003-04-18 Eisenmann France Sarl Dispositif de controle d'une installation de traitement de surface, notamment pour l'industrie automobile
US6745107B1 (en) * 2000-06-30 2004-06-01 Honeywell Inc. System and method for non-invasive diagnostic testing of control valves
US7028105B2 (en) * 2000-07-25 2006-04-11 Electronic Solutions, Inc. Apparatus, method and signal set for monoline serial interface
US6643555B1 (en) * 2000-10-10 2003-11-04 Schneider Automation Inc. Method and apparatus for generating an application for an automation control system
US6549827B1 (en) * 2000-11-20 2003-04-15 John Yen Fire prevention automation commanding control system using satellite-location/geography-information
US20050188351A1 (en) * 2002-04-02 2005-08-25 Siemens Aktiengesellschaft Device and method for automatically generating automation software
FR2841007B1 (fr) * 2002-06-18 2004-07-23 Schneider Automation Systeme de communication de securite
US7610119B2 (en) * 2003-07-08 2009-10-27 Omron Corporation Safety controller and system using same
US7133727B2 (en) * 2003-08-01 2006-11-07 Invensys Systems, Inc. System and method for continuous online safety and reliability monitoring
US7213168B2 (en) * 2003-09-16 2007-05-01 Rockwell Automation Technologies, Inc. Safety controller providing for execution of standard and safety control programs
US7187989B2 (en) * 2003-12-22 2007-03-06 Fakhruddin T Attarwala Use of core process models in model predictive controller
DE102004018857A1 (de) * 2004-04-19 2005-11-10 Elektro Beckhoff Gmbh Unternehmensbereich Industrie Elektronik Sicherheitssteuerung
US7453677B2 (en) * 2004-10-06 2008-11-18 Teknic, Inc. Power and safety control hub
DE102004058472B4 (de) * 2004-11-24 2006-12-14 Pilz Gmbh & Co. Kg Sicherheitseinrichtung und Verfahren zum Bestimmen eines Nachlaufweges bei einer Maschine
US8055814B2 (en) * 2005-03-18 2011-11-08 Rockwell Automation Technologies, Inc. Universal safety I/O module
US7599752B2 (en) * 2005-05-17 2009-10-06 Utah State University Tuning methods for fractional-order controllers
US20070019641A1 (en) * 2005-07-22 2007-01-25 Rockwell Automation Technologies, Inc. Execution of industrial automation applications on communication infrastructure devices
US20070035255A1 (en) * 2005-08-09 2007-02-15 James Shuster LED strobe for hazard protection systems
US7933676B2 (en) * 2005-09-30 2011-04-26 Rockwell Automation Technologies, Inc. Automation system with integrated safe and standard control functionality
US20070271002A1 (en) * 2006-05-22 2007-11-22 Hoskinson Reed L Systems and methods for the autonomous control, automated guidance, and global coordination of moving process machinery
DE202006016012U1 (de) * 2006-10-19 2006-12-21 Sick Ag Systemarchitektur für eine Firmware
US7617412B2 (en) * 2006-10-25 2009-11-10 Rockwell Automation Technologies, Inc. Safety timer crosscheck diagnostic in a dual-CPU safety system
US8409441B2 (en) * 2007-02-27 2013-04-02 Deka Products Limited Partnership Blood treatment systems and methods
US20080208374A1 (en) * 2007-02-27 2008-08-28 Rockwell Automation Technologies, Inc. Testing utilizing controller engine instances
DE102007045398A1 (de) 2007-09-21 2009-04-02 Continental Teves Ag & Co. Ohg Integriertes Mikroprozessorsystem für sicherheitskritische Regelungen
US8165863B2 (en) * 2008-09-11 2012-04-24 Siemens Corporation Visualization method for electrical machine operation models based on mechanical machine operation models
US8949480B2 (en) * 2009-05-11 2015-02-03 GM Global Technology Operations LLC Method and system for testing safety automation logic of a manufacturing cell

Also Published As

Publication number Publication date
ES2446349T3 (es) 2014-03-07
JP2014225276A (ja) 2014-12-04
JP2012524353A (ja) 2012-10-11
HK1166523A1 (en) 2012-11-02
US20120095573A1 (en) 2012-04-19
CN102460316A (zh) 2012-05-16
US9098074B2 (en) 2015-08-04
WO2010121796A1 (de) 2010-10-28
CN102460316B (zh) 2014-06-18
JP5645921B2 (ja) 2014-12-24
EP2422244B1 (de) 2013-11-27
DE102009019087A1 (de) 2010-11-11
EP2422244A1 (de) 2012-02-29

Similar Documents

Publication Publication Date Title
JP5911922B2 (ja) 安全関連制御ユニットおよび自動化設備の制御方法
JP5436660B2 (ja) 安全関連制御ユニット用アプリケーションプログラムの生成方法および装置
JP5636378B2 (ja) 安全コントローラ用のユーザプログラムを作成するための方法および機器ならびにコンピュータプログラム
US10437571B2 (en) Method for programming a safety controller
JP2004524620A (ja) フェイルセーフ制御システムのプログラミング方法及び装置
JP4900607B2 (ja) セーフティ・コントロール・システム
CN102782662A (zh) 存储器诊断方法、存储器诊断装置及存储器诊断程序
CN107463516B (zh) 控制装置
JP5041290B2 (ja) プログラマブルコントローラおよびその異常時復旧方法
JP5241706B2 (ja) 電気駆動システムの電子制御装置、電気駆動システムの電子駆動ユニットおよび電気駆動システム
JP2009506445A (ja) 記憶装置構成およびその駆動方法
JP2013175118A (ja) 制御装置、及びそのメモリ故障検出方法、その自己診断方法
JP5973430B2 (ja) 自動マシーンの制御装置の設定の変更をモニタリングする方法
JP5423473B2 (ja) フォールトトレラント装置、その制御モジュール、プログラム
JP7000703B2 (ja) 情報処理装置、情報処理方法、および、情報処理プログラム
JP4867557B2 (ja) プログラマブルコントローラ
JP5352815B2 (ja) 制御装置および制御方法
JP6501703B2 (ja) 車載制御装置
JP5982226B2 (ja) 二重化入力信号制御装置及び二重化出力信号制御装置の制御方法、その二重化入力信号制御装置、及びその二重化出力信号制御装置
JPS59111501A (ja) シ−ケンスコントロ−ラ
JP2014225110A (ja) 安全コントローラ
JP2012128743A (ja) スタックオーバーフローの検出方法
JP2002091784A (ja) Java言語を用いた制御装置
JP2015184953A (ja) フェールセーフ制御装置及びフェールセーフ制御方法
Beckschulze et al. A comparison of dual-core approaches for safety-critical automotive applications

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150730

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151022

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160330

R150 Certificate of patent or registration of utility model

Ref document number: 5911922

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250