(57)【要約】【課題】安全制御プログラムが安全カテゴリ等の任意の安全規格に適合するかどうかを診断することが可能な安全性診断方法及び安全性診断装置を提供することを目的とする。【解決手段】安全デバイス解析部１２は、安全制御プログラム中で使用されている各デバイスを安全デバイス管理テーブル１１に登録するとともに、各デバイスに対して入出力デバイス設定パラメータを参照し、各デバイスごとにその安全レベルを安全デバイス管理テーブル１１に登録する。安全出力デバイス診断部１３は、安全デバイス管理テーブル１１を利用し、出力デバイスに対し、当該出力デバイスへの出力に関連付けられたデバイス群の安全レベルの中から最低安全レベルを抽出し、デバイス群の接続関係を判定して、最低安全レベルと出力デバイスについて設定された安全レベルとの比較結果及び接続関係に基づいて出力デバイスの安全性診断を行う。【選択図】        図１
2010191943.tif 000002
【特許請求の範囲】
【請求項１】
安全制御装置をシーケンス制御するための安全制御プログラムの安全性を診断する安全性診断装置において、
前記安全制御プログラムを記憶する安全制御プログラム記憶部と、
安全制御に使用される入出力デバイスを含む各デバイスについて、少なくともその安全レベル情報を設定情報として含む入出力デバイス設定パラメータを記憶する入出力デバイス設定パラメータ記憶部と、
前記安全制御プログラム中で使用されている各デバイスを安全デバイス管理テーブルに登録するとともに、前記各デバイスに対して前記入出力デバイス設定パラメータを参照し前記各デバイスごとにその安全レベルを前記安全デバイス管理テーブルに登録する安全デバイス解析部と、
前記安全デバイス管理テーブルを記憶する安全デバイス管理テーブル記憶部と、
前記安全デバイス管理テーブルを利用し、前記安全制御プログラム中で使用されている出力デバイスに対し、当該出力デバイスへの出力に関連付けられたデバイス群の安全レベルの中から最低安全レベルを抽出し前記デバイス群の接続関係を判定して、前記最低安全レベルと前記出力デバイスについて設定された安全レベルとの比較結果及び前記接続関係に基づいて前記出力デバイスの安全性診断を行う安全出力デバイス診断部と、
を備えることを特徴とする安全制御プログラムの安全性診断装置。
【請求項２】
前記入出力デバイス設定パラメータは、前記入出力デバイスに接続された接続機器の安全レベル情報を設定情報として含み、
前記安全デバイス解析部は、前記入出力デバイス設定パラメータを参照し前記入出力デバイスごとにその接続機器の安全レベルを前記安全デバイス管理テーブルに登録し、
前記安全出力デバイス診断部は、前記安全デバイス管理テーブルを利用し、前記安全制御プログラム中で使用されている出力デバイスに対し、当該出力デバイスへの出力に関連付けられたデバイス群の安全レベル及びその接続機器の安全レベルの中から最低安全レベルを抽出することを特徴とする請求項１に記載の安全制御プログラムの安全性診断装置。
【請求項３】
前記安全デバイス解析部は、前記安全制御プログラム中で使用されるデバイスのデバイスコメントから当該デバイスの使用目的または意味を表す予約語を抽出し、前記デバイスに対して前記予約語を前記安全デバイス管理テーブルに登録し、
前記安全出力デバイス診断部は、前記予約語が記述された前記デバイスへの出力に関連付けられたデバイス群の安全レベルの中から最低安全レベルを抽出し前記デバイス群の接続関係を判定して、前記予約語とともに、前記最低安全レベル、前記デバイスについて設定された安全レベル及び前記接続関係を与えて、前記出力デバイスの安全性診断を行うことを特徴とする請求項１または２に記載の安全制御プログラムの安全性診断装置。
【請求項４】
前記安全出力デバイス診断部は、予約語が記述された内部デバイスからその関連する出力デバイスまでの間に、立上り／立下りデバイスが接続されているか否かを調べて前記出力デバイスの安全性診断を行うことを特徴とする請求項３に記載の安全制御プログラムの安全性診断装置。
【請求項５】
安全制御装置をシーケンス制御するための安全制御プログラムの安全性を診断する安全性診断装置において、
前記安全制御プログラムを記憶する安全制御プログラム記憶部と、
安全制御に使用される安全入力デバイス、前記安全制御装置の入力装置、前記安全制御装置、前記安全制御装置の出力装置および安全出力デバイスについて、安全レベル情報として危険側故障率または平均危険側故障間隔を設定情報として含む入出力デバイス設定パラメータを記憶する入出力デバイス設定パラメータ記憶部と、
前記安全制御プログラム中で使用されている各デバイスを安全デバイス管理テーブルに登録するとともに、前記各デバイスに対して前記入出力デバイス設定パラメータを参照し、前記各デバイスごとにその危険側故障率または平均危険側故障間隔を前記安全デバイス管理テーブルに登録する安全デバイス解析部と、
前記安全デバイス管理テーブルを記憶する安全デバイス管理テーブル記憶部と、
前記安全デバイス管理テーブルを利用し、前記各安全入力デバイスについて、当該安全入力デバイスに関連付けされた前記安全出力デバイスまでの経路を構成する各デバイスの危険側故障率または平均危険側故障間隔の合計を算出し、その合計値が事前に規定されたどの安全レベルの範囲に入るかを判定することで、前記各安全入力デバイスから当該安全入力デバイスに関連付けされた前記安全出力デバイスまでの経路の安全レベルを判定する安全出力デバイス診断部と、
を備えることを特徴とする安全制御プログラムの安全性診断装置。
【請求項６】
安全制御装置をシーケンス制御するための安全制御プログラムの安全性を診断する安全性診断方法において、
前記安全制御プログラム中で使用されている各デバイスを安全デバイス管理テーブルに登録するとともに、前記各デバイスについて少なくともその安全レベル情報を設定情報として含む入出力デバイス設定パラメータを参照して前記各デバイスごとにその安全レベルを前記安全デバイス管理テーブルに登録し、
前記安全デバイス管理テーブルを利用し、前記安全制御プログラム中で使用されている出力デバイスに対し、当該出力デバイスへの出力に関連付けられたデバイス群の安全レベルの中から最低安全レベルを抽出し前記デバイス群の接続関係を判定して、前記最低安全レベルと前記出力デバイスについて設定された安全レベルとの比較結果及び前記接続関係に基づいて前記出力デバイスの安全性診断を行う、
ことを特徴とする安全制御プログラムの安全性診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械及び装置等の安全制御に使用される安全ＰＬＣ（Programmable Logic Controller）のためのラダー言語で記述された安全制御プログラムが安全規格に適合するかどうかを診断する安全性診断装置及び安全性診断方法に関する。
【背景技術】
【０００２】
機械又は装置の危険区域に人が侵入した場合あるいは非常停止スイッチが押された場合に、危険区域内のロボット又は動力を非常停止して作業者の安全性を確保するための安全制御装置として、ＩＥＣ６１５０８規格に適合した安全ＰＬＣ（Programmable Logic Controller）又は安全シーケンサが使用されている。この安全ＰＬＣ等が実行する安全制御プログラムは、ＩＳＯ１３８４９−１などの安全規格に従って作成されなければならない。そのため、安全ＰＬＣのプログラミングツールは、プログラムが安全規格に適合しているかどうかを判定する機能を備えている。プログラムの安全性判定方法の従来技術として、特許文献１に開示されたシーケンスプログラム作成支援ソフトウェア等がある。
【０００３】
特許文献１に開示されたシーケンスプログラム作成支援ソフトウェアは、シーケンスプログラムを書き替え可能な安全ＰＬＣにおけるソフトウェアであって、この安全ＰＬＣは、複数の入力機器の導通状態に関する信号が入力される入力手段と、入力機器の中から選択した任意の入力機器を直列又は並列に組み合わせて構成したシーケンスプログラムを記憶する記憶手段と、シーケンスプログラムと各入力機器の導通状態に関する信号とに基づいて演算結果を求める演算手段と、演算手段の演算結果を出力部から出力して出力機器を制御する出力手段とを備える。さらに、シーケンスプログラム作成支援ソフトウェアは、各入力機器に対応させて安全が保証されていることを示す第１種類情報又は安全が保証されていないことを示す第２種類情報を含む入力機器種類情報と、対象となるシーケンスプログラムと、に基づいて、当該シーケンスプログラムに対応する出力部が、安全が保証されている構成であるか否かを判定し、判定した結果を識別可能に表示する。
【０００４】
この従来技術によれば、シーケンスプログラム作成支援ソフトウェアは、対象となるシーケンスプログラムの構成がその出力の安全を保証するようなものであるか否かを自動的に判定する。そして、ユーザは、識別可能に表示された判定結果（安全が保証されているか否かの判定結果）を視認することで、安全が保証された出力であるか否かを判定することができる。このため、ユーザの手作業を必要とせず、より短時間でかつより正確に安全が保証された出力であるか否かをユーザが判断できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−４０１２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記従来技術は安全出力が、常に安全が保証されている（第１種類情報）、常に安全が保証されていない（第２種類情報）、安全が保証されているとは限らない（第３種類情報）、のいずれであるかを安全出力に関わる入力機器の種類情報の合成ルールに従って求める。すなわち、安全出力について３段階の安全性を判定している。
【０００７】
しかし、機械安全分野で参照される安全規格ＩＳＯ１３８４９−１は安全カテゴリを定義しており、安全制御プログラムも適切な安全カテゴリに適合しなければならない。例えば、安全カテゴリ「３」は単一故障によって安全機能が喪失しないこと（二重化）、安全カテゴリ「４」は故障を安全機能実行時又は事前に検出できること（診断機能）を要求する。
【０００８】
また、ＩＥＣ６０２０４−１では、非常停止要因が除去された直後に予期せぬ再起動が起きないように手動による再起動を要求している。
【０００９】
上記のように従来技術は、独自の規準による安全性判定を行っているが、ＩＳＯ１３８４９−１の安全カテゴリ及びＩＥＣ６０２０４−１の安全規格等への適合については判定することはできなかった。
【００１０】
本発明は、かかる問題点に鑑みてなされたものであって、安全制御プログラムが安全カテゴリ等の任意の安全規格に適合するかどうかを診断することが可能な安全性診断装置及び安全性診断方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明に係る安全制御プログラムの安全性診断装置は、安全制御装置をシーケンス制御するための安全制御プログラムの安全性を診断する安全性診断装置において、前記安全制御プログラムを記憶する安全制御プログラム記憶部と、安全制御に使用される入出力デバイスを含む各デバイスについて、少なくともその安全レベル情報を設定情報として含む入出力デバイス設定パラメータを記憶する入出力デバイス設定パラメータ記憶部と、前記安全制御プログラム中で使用されている各デバイスを安全デバイス管理テーブルに登録するとともに、前記各デバイスに対して前記入出力デバイス設定パラメータを参照し前記各デバイスごとにその安全レベルを前記安全デバイス管理テーブルに登録する安全デバイス解析部と、前記安全デバイス管理テーブルを記憶する安全デバイス管理テーブル記憶部と、前記安全デバイス管理テーブルを利用し、前記安全制御プログラム中で使用されている出力デバイスに対し、当該出力デバイスへの出力に関連付けられたデバイス群の安全レベルの中から最低安全レベルを抽出し前記デバイス群の接続関係を判定して、前記最低安全レベルと前記出力デバイスについて設定された安全レベルとの比較結果及び前記接続関係に基づいて前記出力デバイスの安全性診断を行う安全出力デバイス診断部と、を備えることを特徴とする。
【００１２】
上述した課題を解決し、目的を達成するために、本発明に係る安全制御プログラムの安全性診断方法は、安全制御装置をシーケンス制御するための安全制御プログラムの安全性を診断する安全性診断方法において、前記安全制御プログラム中で使用されている各デバイスを安全デバイス管理テーブルに登録するとともに、前記各デバイスについて少なくともその安全レベル情報を設定情報として含む入出力デバイス設定パラメータを参照して前記各デバイスごとにその安全レベルを前記安全デバイス管理テーブルに登録し、前記安全デバイス管理テーブルを利用し、前記安全制御プログラム中で使用されている出力デバイスに対し、当該出力デバイスへの出力に関連付けられたデバイス群の安全レベルの中から最低安全レベルを抽出し前記デバイス群の接続関係を判定して、前記最低安全レベルと前記出力デバイスについて設定された安全レベルとの比較結果及び前記接続関係に基づいて前記出力デバイスの安全性診断を行う、ことを特徴とする。
【発明の効果】
【００１３】
この発明によれば、安全制御プログラムが任意の安全規格に適合するか否かを診断することができる、という効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施の形態１に係る安全制御プログラムの安全性診断装置の概略構成を示すブロック図である。
【図２】図２は、実施の形態１おける安全ラダープログラムの一例を示す図である。
【図３】図３は、実施の形態１における安全デバイス管理テーブルの一例を示す図である。
【図４】図４は、実施の形態１における安全診断結果の表示例を示す図である。
【図５】図５は、実施の形態２における安全デバイス管理テーブルの一例を示す図である。
【図６】図６は、実施の形態３における安全デバイス管理テーブルの一例を示す図である。
【図７】図７は、実施の形態４における安全デバイス管理テーブルの一例を示す図である。
【図８】図８は、実施の形態４における安全診断結果の表示例を示す図である。
【図９】図９は、特許文献１に記載のシーケンスプログラム作成支援ソフトウェアによるプログラムの安全性判定結果の表示例を説明する図である。
【図１０】図１０は、実施の形態５における安全デバイス管理テーブルの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下に、本発明に係る安全制御プログラムの安全性診断方法及び安全性診断装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１６】
実施の形態１．
本実施の形態に係る安全制御プログラムの安全性診断装置は、機械及び装置等の安全制御に使用される安全ＰＬＣ（Programmable Logic Controller）又は安全シーケンサのためのシーケンスプログラムをラダー言語により作成・編集するプログラミングツールであり、以下に説明する安全性診断方法を適用することにより安全規格に適合した安全制御プログラムを作成するものである。なお、以下ではプログラミングツールにおける通常のプログラム作成・編集機能については説明を省略し、その安全性診断機能についてのみ説明する。
【００１７】
図１は、本実施の形態に係る安全制御プログラムの安全性診断装置の概略構成を示すブロック図である。図１に示すように、安全制御プログラムの安全性診断装置１は、安全デバイス管理テーブル１１を保存する安全デバイス管理テーブル記憶部２０と、安全デバイス解析部１２と、安全出力デバイス診断部１３と、安全性診断結果等を表示する表示部１５と、安全入出力デバイス設定パラメータ１６を記憶する安全入出力デバイス設定パラメータ記憶部２１と、安全ラダープログラム１７を記憶する安全ラダープログラム記憶部２２と、を備えている。また、安全制御プログラムの安全性診断装置１は図示しない安全ＰＬＣと接続され、この安全ＰＬＣは安全シーケンスプログラム（安全制御プログラム）に基づき、安全ＰＬＣに接続された入出力機器等の安全制御を行う。
【００１８】
安全デバイス解析部１２は安全ラダープログラム記憶部２２に保存された安全ラダープログラム１７を読み込み、この安全ラダープログラム１７中で使用されている各デバイスを安全デバイス管理テーブル１１に登録する。安全ラダープログラム１７は、ユーザによりラダー言語で作成・編集されたプログラムである。
【００１９】
また、安全デバイス解析部１２は、安全入出力デバイス設定パラメータ記憶部２１に記憶された安全入出力デバイス設定パラメータ１６を調べ、安全デバイス管理テーブル１１に登録された各デバイスに関する安全レベル（例えば、ＩＳＯ１３８４９−１の安全カテゴリ２〜４）を調べ、得られた結果を各デバイスごとに安全デバイス管理テーブル１１に登録する。例えば、安全入出力デバイスは、一重化設定ならば安全カテゴリ２、二重化設定ならば安全カテゴリ３、二重化に加えて診断設定があれば安全カテゴリ４であり、内部デバイスは安全カテゴリ４となる。すなわち、安全デバイス解析部１２は安全入出力デバイス設定パラメータ１６の安全入出力デバイスと内部デバイスの設定情報のみを参照して、安全デバイス管理テーブル１１を生成する。
【００２０】
安全出力デバイス診断部１３は、安全ラダープログラム１７内の安全出力デバイス又は特定のデバイス（安全ラダープログラム１７の命令行の右端（終端）に位置する内部デバイス）について、その出力に関連付けられかつ当該命令行で使用されているデバイスの安全レベルを安全デバイス管理テーブル１１より調べ、関連するデバイス群の安全レベルのうち最低の安全レベルを当該命令行に関する安全出力デバイス又は特定のデバイスの「安全カテゴリ診断」とする。さらに、前記デバイス群のシーケンスロジックにＯＲがある場合、当該命令行に関する安全出力デバイス又は特定のデバイスの接続関係を「ＯＲ」とし、「ＯＲ」がなければ「ＡＮＤ」とする。
【００２１】
さらに、安全出力デバイス診断部１３は、安全出力デバイスについて、後述する安全カテゴリ診断及び論理結合（「ＡＮＤ」又は「ＯＲ」）を抽出した後、設定安全カテゴリ（カテゴリ２〜４）、安全カテゴリ診断及び論理結合（「ＡＮＤ」又は「ＯＲ」）を表示部１５に送り、表示部１５は安全出力デバイスに対しそれらを安全性診断結果として表示する。
【００２２】
なお、安全デバイス解析部１２、安全出力デバイス診断部１３はプログラミングツールのＣＰＵの機能により実現され、安全デバイス管理テーブル記憶部２０、安全入出力デバイス設定パラメータ記憶部２１、安全ラダープログラム記憶部２２はメモリ等の記憶装置により実現される。
【００２３】
次に、安全ラダープログラム１７の一例について説明する。図２は、安全ラダープログラム１７の一例を示す図である。図２において、Ｘ１００はＸ１０１（図示せず）とペアとなる安全カテゴリ「３」の安全入力デバイス、Ｘ１０２はＸ１０３（図示せず）とペアとなる安全カテゴリ「３」の安全入力デバイス、Ｙ１００はＹ１０１（図示せず）とペアとなる安全カテゴリ「４」の安全出力デバイスである。また、非常停止ＳＷ（スイッチ）１はＸ１００に接続される安全機器、安全プラグ１はＸ１０２に接続される安全機器、コンタクタ１はＹ１００に接続される安全機器である。
【００２４】
ＩＳＯ１３８４９−１の定義によれば、安全カテゴリ「２」は一重化で定期診断あり、安全カテゴリ「３」は二重化で診断不要、安全カテゴリ「４」は二重化で常時診断あり、と定義されている。安全入出力デバイスが安全カテゴリ「３」又は「４」の場合、安全ＰＬＣが二重化ペアに対する入出力の二重化照合を実施するため、プログラムではペアのどちらかのみを使用すればよい。このため、図２のプログラムには、ペアの片方（Ｘ１０１，Ｘ１０３，Ｙ１０１）は図示していない。
【００２５】
図２において、デバイスＭ１００が右端に位置する命令行では、安全入力デバイスＸ１００と安全入力デバイスＸ１０２とが直列に接続され、デバイスＭ１００の出力は、安全入力デバイスＸ１００及び安全入力デバイスＸ１０２によって制御される。デバイスＭ１００は安全ＰＬＣの内部変数（内部デバイス）であり、安全機器が正常で安全が維持できていることを示す「運転準備状態」を示すデバイスである。安全ＰＬＣ自体が安全カテゴリ「４」の場合、内部変数（内部デバイス）も安全カテゴリ「４」となる。
【００２６】
安全出力デバイスＹ１００の出力は、直列に接続された内部デバイスＭ１００とデバイスＸ２０１とによって制御されている。デバイスＸ２０１は動力の再起動スイッチ（再起動１）であり、内部デバイスＭ１００（運転準備状態）がＯＮの後でデバイスＸ２０１（再起動スイッチ）が立ち下がったときに、安全出力デバイスＹ１００がＯＮとなり制御対象の動力が再起動する。なお、デバイスＸ２０１（再起動スイッチ）は特に安全設定されていない（安全カテゴリ＝１）。
【００２７】
次に、本実施の形態の動作について図１〜図４を参照して説明する。図３は、安全デバイス管理テーブル１１の一例を示す図であり、図４は、安全診断結果の表示例を示す図である。なお、図３及び図４は、図２に示す安全ラダープログラム１７に対応した図である。
【００２８】
まず、安全デバイス解析部１２が安全ラダープログラム１７と安全入出力デバイス設定パラメータ１６を読み込み、安全ラダープログラム１７内で用いられている各デバイスについて指定されている安全レベルとしての「安全カテゴリ」を安全デバイス管理テーブル１１に登録する。図３に示すように、デバイスＸ１００／１０１の安全カテゴリは「３」、デバイスＸ１０２／１０３の安全カテゴリは「３」、デバイスＭ１００の安全カテゴリは「４」、デバイスＹ１００／１０１の安全カテゴリは「４」である。また、デバイスＸ２０１は特に安全設定されていないので、最低の安全カテゴリに属するという意味で「安全カテゴリ」＝「１」としている。
【００２９】
続いて、安全出力デバイス診断部１３は、図２の安全ラダープログラム１７の各命令行の右端（終端）に位置する内部デバイスＭ１００及び出力デバイスＹ１００のそれぞれについて、そのデバイス出力に関連するその命令行のデバイス群の安全カテゴリのうち最低の値を安全デバイス管理テーブル１１の「安全カテゴリ診断」にセットする。
【００３０】
例えば、内部デバイスＭ１００が右端に位置する命令行については、入力デバイスＸ１００／１０１の安全カテゴリが「３」、入力デバイスＸ１０２／１０３の安全カテゴリが「３」、内部デバイスＭ１００の安全カテゴリが「４」なので、内部デバイスＭ１００に対する「安全カテゴリ診断」は「３」となる。また、出力デバイスＹ１００／１０１が右端に位置する命令行については、内部デバイスＭ１００の安全カテゴリが「４」、デバイスＸ２０１の安全カテゴリが「１」、出力デバイスＹ１００／１０１の安全カテゴリが「４」なので、出力デバイスＹ１００／１０１に対する「安全カテゴリ診断」は「１」となる。
【００３１】
また、図３に示すように、安全出力デバイス診断部１３は、その命令行の接続関係からＯＲが存在すれば「ＯＲ」、ＯＲが存在しなければ「ＡＮＤ」を「論理結合」にセットする。例えば、内部デバイスＭ１００が右端に位置する命令行について、入力デバイスＸ１００と入力デバイスＸ１０２とがＡＮＤで接続され、ＯＲが存在しないので、内部デバイスＭ１００に対する「論理結合」は「ＡＮＤ」となる。同様に、出力デバイスＹ１００が右端に位置する命令行について、内部デバイスＭ１００とデバイスＸ２０１とがＡＮＤで接続され、ＯＲが存在しないので、出力デバイスＹ１００に対する「論理結合」は「ＡＮＤ」となる。なお、「ＡＮＤ」又は「ＯＲ」としてセットするフラグは文字列、シンボル、ビット等のいずれでも良い。
【００３２】
次に、安全出力デバイス診断部１３は、内部デバイスＭ１００の「安全カテゴリ診断」＝「３」と出力デバイスＹ１００／１０１の「安全カテゴリ診断」＝「１」とを比較し、最低の値である「１」を安全出力デバイスＹ１００／１０１に対する「診断結果」とする（図４参照）。また、安全出力デバイス診断部１３は、内部デバイスＭ１００の「論理結合」＝「ＡＮＤ」と出力デバイスＹ１００／１０１の「論理結合」＝「ＡＮＤ」とから、安全出力デバイスＹ１００／１０１に対する「安全デバイスの論理結合」が「ＡＮＤ接続」であると判断する（図４参照）。つまり、安全出力デバイス診断部１３は、安全出力デバイスＹ１００／１０１の出力に関連付けられたデバイス群の安全カテゴリのうち最低の値「１」を安全出力デバイスＹ１００／１０１の「安全カテゴリ診断」とし、さらに、その出力に関連付けられたデバイス群の接続関係を判定してその結果を「安全デバイスの論理結合」として抽出する。
【００３３】
そして、安全出力デバイス診断部１３は、表示部１５により、安全出力デバイスについて安全入出力デバイス設定パラメータ１６の設定安全カテゴリよりも「安全カテゴリ診断」の安全レベルが低いものについて、「安全カテゴリ不足／過剰の安全デバイス情報」の表示を行う。図４では、安全出力デバイスＹ１００／１０１の「設定安全カテゴリ」は「４」、「安全カテゴリ診断」は「１」であるため、安全性が不足した状態であることがわかる。また、「安全デバイスの論理結合」は「ＡＮＤ接続」と表示される。なお、図４の表示に限定されず、全ての安全デバイス、全ての安全出力デバイスなどの情報を表示してもよく、これらについて論理結合及びデバイスコメント等の情報を表示してもよい。
【００３４】
ここで、接続関係について説明する。一般に安全回路とは、すべての安全条件が揃ったときのみに安全出力が許される回路である。例えば、どの非常停止スイッチも押されておらず、かつ、すべての扉、ゲートが閉まっている状態であれば運転準備状態とみなし、機械の起動を許可する。安全回路は、すべての安全機器が安全状態を示しているときに安全出力が可能となるように構成するので、すべての安全機器がＡＮＤ接続になることが原則である。もし、安全機器のＯＲ接続があれば、そこは一部安全条件が欠けていても安全出力（＝機械の起動）が可能となってしまう。つまり、ＯＲ接続であれば、例えばそのＯＲ接続はいずれかの扉が開いていても起動が可能ということになり、一般に安全な回路とはいえなくなるからである。従って、ＯＲ接続があれば安全カテゴリを「１」として判定することにする。従って、図４において、安全出力デバイスＹ１００／１０１の「安全デバイスの論理結合」が「ＯＲ接続」であれば、「安全カテゴリ診断」を「１」と判定する。安全性の要件を満たすためには、「安全カテゴリ診断」が「設定安全カテゴリ」以上となり、かつ、「安全デバイスの論理結合」が「ＡＮＤ接続」となる必要がある。
【００３５】
以上説明したように、本実施の形態によれば、安全ラダープログラム１７が安全カテゴリ等の任意の安全規格に適合するか否かを診断することができる、という効果を奏する。また、安全規格に適合した安全ラダープログラム１７を作成することができる。このように、ユーザ又はプログラマは安全制御プログラムの安全性規格への適合を診断できるので、安全性の確認及び安全規格への適合認証取得が可能となる。
【００３６】
ところで、図９は、特許文献１に記載のシーケンスプログラム作成支援ソフトウェアによるプログラムの安全判定結果の表示例を説明する図である。この従来技術では、ユーザはシーケンスプログラム作成支援ソフトウェアを起動して、任意の入力機器を直列又は並列に組み合わせて構成したシーケンスプログラムを作成可能である。
【００３７】
図９の（Ｂ）は、ユーザが作成したシーケンスプログラム（シーケンス番号「００１」）の例であり、出力デバイスＭ００１は入力デバイスＩ００１と入力デバイスＩ００２の双方が導通状態となった場合、又は入力デバイスＩ００３が導通状態となった場合に、ＯＮ状態に制御される。また、入力デバイスＩ００１及び入力デバイスＩ００２には「Ｓ」記号が付与されており、これは安全が保証されていることを示す第１種類情報に対応するデバイスであることを示している。また、入力デバイスＩ００３には記号が何も付与されておらず、これは安全が保証されていないことを示す第２種類情報に対応するデバイスであることを示している。そして、シーケンスプログラムの出力部である出力デバイスＭ００１には、入力デバイスＩ００１，Ｉ００２，Ｉ００３の結合関係の帰結として、安全性が保障されているとは限らないことを示す第３種類情報を表す記号「Ｕ」が付与されている。図９の（Ａ）では、対象となるシーケンスプログラムの判定結果が「Ｕ」であるため、安全性が保証されていない旨を示す判定結果をユーザに表示している。
【００３８】
この従来技術では、第１種類情報、第２種類情報、及び第３種類情報の３種類の種類情報を導入し、安全出力デバイスに関連する入力デバイスの種類情報の合成ルールを定義することで、安全出力デバイスの安全性を判定している。従って、安全規格ＩＳＯ１３８４９−１の安全カテゴリに適合するか否かなど、他の安全規格への適合可否については判定することができなかった。しかしながら、本実施の形態によれば、安全規格ＩＳＯ１３８４９−１の安全カテゴリへの適合の可否に加え、その他任意の安全基準に対してその適合の可否を判定することができる。
【００３９】
実施の形態２．
本実施の形態に係る安全制御プログラムの安全性診断装置１の構成は図１と同様であるが、本実施の形態では、安全デバイス管理テーブル１１は、入出力デバイスの安全カテゴリと、そのデバイスに接続された安全機器の安全カテゴリ（「接続機器カテゴリ」）とを入出力デバイスごとに管理する。
【００４０】
すなわち、本実施の形態では、実施の形態１で説明した入出力デバイスの安全カテゴリ（ＰＬＣの入出力設定により指定）に加えて、入出力デバイスの安全カテゴリがそのデバイスに接続された安全機器の安全カテゴリでも指定される場合を考える。
【００４１】
図５は、本実施の形態における安全デバイス管理テーブル１１の一例を示す図である。なお、図５は、実施の形態１と同様に図２に示す安全ラダープログラム１７に対応した図である。本実施の形態では、安全デバイス解析部１２は、安全入出力デバイスに接続された接続機器の設定情報を含む安全入出力デバイス設定パラメータ１６を使用して、図５の安全デバイス管理テーブル１１における「安全カテゴリ」及び「接続機器カテゴリ」を作成する。このとき、安全入出力デバイス設定パラメータ１６は接続機器のメーカー名および型名ならびに設定情報を含んでいることが一般的である。図５に示すように、入力デバイスＸ１００／１０１に対しては「接続機器カテゴリ」は「４」、入力デバイスＸ１０２／１０３に対しては「接続機器カテゴリ」は「３」、出力デバイスＹ１００／１０１に対しては「接続機器カテゴリ」は「３」である。
【００４２】
安全出力デバイス診断部１３は、実施の形態１とは異なり、安全機器の設定安全カテゴリ（「接続機器カテゴリ」）と安全デバイスの設定安全カテゴリ（「安全カテゴリ」）から最低の値を安全デバイス管理テーブル１１の「安全カテゴリ診断」にセットする。すなわち、安全出力デバイス診断部１３は、デバイスＹ１００／１０１について、安全カテゴリの最低値である「１」を「安全カテゴリ診断」とする（図４参照）。安全出力デバイス診断部１３による安全性診断結果の表示部１５による表示内容は、図４と同様であるが、さらに、安全入出力機器の型名及び設定情報等を表示しても良い。
【００４３】
本実施の形態によれば、安全デバイスの安全カテゴリに加えて接続機器の安全カテゴリも含めて安全性診断を行うので、接続機器の安全性まで考慮して安全性の確認および安全規格への適合確認が可能になる。なお、その他の構成、動作、効果は、実施の形態１と同様である。
【００４４】
実施の形態３．
ＩＥＣ６０２０４−１では、安全状態が復旧して直ちに機械が再起動することを禁止しており、全ての安全条件が揃った運転準備状態でインタロックを設け、マニュアル操作による再起動を規定している。そこで、本実施の形態では、ユーザ又はプログラマが、安全ラダープログラム１７において運転準備状態を表すデバイスのデバイスコメントに予約語として「運転準備」と記述することで、そのデバイスを運転準備状態として識別できるようにする。すなわち、ユーザ又はプログラマは安全ラダープログラム１７中でデバイスをどのような目的で使いたいかをコメントに記述するのが一般的であるが、本実施の形態では、コメントに安全関連語句である予約語を記述するようにすることで、この予約語からデバイスの使用目的＝安全属性を得るようにする。なお、運転準備状態とは、すべての安全入力デバイスが安全状態にある状態を意味する。また、以下では、予約語が「運転準備」である場合について説明するが、その他の予約語がデバイスコメントに記述されている場合でも同様である。
【００４５】
図６は、本実施の形態における安全デバイス管理テーブルの一例を示す図である。安全デバイス解析部１２は、安全ラダープログラム１７中のデバイスコメントから予約語を抽出する。具体的には、デバイスＭ１００のデバイスコメントに「運転準備１」とあるので、安全デバイス管理テーブル１１におけるデバイスＭ１００の「予約語」に「運転準備」とセットする。セットするフラグは文字列、シンボル、又はビット等のいずれでも良い。続いて、安全出力デバイス診断部１３は、実施の形態１と同様にしてデバイスＭ１００及びデバイスＹ１００／１０１について「安全カテゴリ診断」及び「論理結合」を抽出する。そして、安全出力デバイス診断部１３は、表示部１５にて、出力デバイスＹ１００に加えて内部デバイスＭ１００についても予約語「運転準備」とともに安全性診断結果（「安全カテゴリ」、「安全カテゴリ診断」、及び「論理結合」）を表示する。
【００４６】
本実施の形態によれば、デバイスコメントから予約語を抽出し、この予約語を「安全カテゴリ」、「安全カテゴリ診断」および「論理結合」とともに表示することで、この予約語で表された使用目的のデバイスについての安全性診断を行うことができる。特に、デバイスコメントに予約語「運転準備」が記述された内部デバイスＭ１００の安全性を診断することができる。その他の構成、動作、効果は、実施の形態１と同様である。また、本実施の形態と実施の形態２を組み合わせることで、実施の形態２と同様の効果を得ることができる。
【００４７】
実施の形態４．
図７は、本実施の形態における安全デバイス管理テーブルの一例を示す図であり、図８は、本実施の形態における安全性診断結果の表示例を示す図である。
【００４８】
安全規格では、「予期せぬ再起動の禁止」のため、運転準備状態で直ちに機械を起動するのではなく、機械に対する始動命令＝マニュアルスイッチにより機械を起動するように定められている。本実施の形態では、「予期せぬ再起動の禁止」がプログラムされているか否かを確認するため、「運転準備」と「安全出力」との間に再起動スイッチがＡＮＤ接続されているか否かを確認する。運転準備状態のデバイスＭ１００と出力デバイスＹ１００との間のデバイスＸ２０１が再起動スイッチであるか否かの確認方法には、それが立上り／立下りデバイスであるか否かを確認する方法と、予約語「再起動」が使用されているか否かを確認する方法とがある。
【００４９】
そこで、まず、デバイスＸ２０１を立上り／立下りデバイスとしたときに、これを確認することで、デバイスＸ２０１が再起動スイッチであることが確認できる。ここで、立上りデバイスとは、割り付けられた信号がＯＦＦ→ＯＮのときにＯＮとなるデバイスであり、立下りデバイスとは、割り付けられた信号がＯＦＦ→ＯＮのときにＯＦＦとなるデバイスである。例えば、スイッチを押したときに、信号はＯＦＦ→ＯＮ→ＯＮ→ＯＦＦとなるが、その立上りデバイスはＯＦＦ→ＯＮ→ＯＦＦ→ＯＦＦ、その立下りデバイスはＯＦＦ→ＯＦＦ→ＯＮ→ＯＦＦとなる。なお、デバイスＸ２０１の安全カテゴリを４と設定する。
【００５０】
安全回路では、例えばスイッチを押しても信号が変わらない接点溶着故障が生じた場合でも安全動作が保障されなければならない。デバイスＸ２０１は、それ自体故障していても非常停止には影響を与えないスイッチであるが、もし接点溶着故障しているとすると、運転準備状態から直ちに機械が起動する事故が起こり得る。従って、デバイスＸ２０１として、ＯＮ／ＯＦＦ状態を表すデバイスではなく、スイッチ変化を表す立上り／立下りデバイスを使用することが必要となる。このように、再起動スイッチを立上り／立下りデバイスとすることで、スイッチ故障（常にＯＦＦ状態）でも、機械が間違って起動することがないので安全となる。
【００５１】
次に、予約語「再起動」が使用されているか否かを確認する方法について述べる。図２に示すように、安全ラダープログラム１７においてデバイスＸ２０１のデバイスコメントに「再起動１」とあるので、安全デバイス解析部１２は、図７の安全デバイス管理テーブル１１におけるデバイスＸ２０１の「予約語」に「再起動」とセットする。これにより、デバイスＸ２０１が再起動スイッチであることが確認できる。なお、セットするフラグは文字列、シンボル、ビット等のいずれでも良い。
【００５２】
このように、安全出力デバイス診断部１３は、デバイスＹ１００／１０１を診断する際に、「運転準備」が書かれたデバイスＭ１００とデバイスＹ１００／１０１との間に、「再起動」が書かれた一つ以上のデバイスが接続されているかを調べることで、再起動スイッチが接続かれているか否か確認できる。
【００５３】
次に、再起動スイッチの接続関係について説明する。安全出力デバイス診断部１３は、再起動スイッチがＡＮＤ接続されているか否かを調べ、再起動スイッチがＡＮＤ接続されていなければ（すなわち、ＯＲ接続があれば）安全カテゴリ診断を「１」とし、再起動スイッチがＡＮＤ接続されていれば、ＡＮＤ接続の最低の安全カテゴリを「安全カテゴリ診断」にセットする。つまり、再起動スイッチが複数のスイッチの接続からなる場合でも、運転準備状態とＡＮＤ接続で接続されている必要がある。よって、運転準備状態のデバイスＭ１００から出力デバイスＹ１００／１０１までの論理結合関係はＡＮＤ接続でなければならない。論理結合関係がＯＲ接続ということは、機械の再起動について複数のオプションがあることになるので、運転員によっては予期せぬ再起動が行なわれる懸念がある。そこで、運転準備から機械の再起動を行う安全出力にＯＲ接続がないことを安全回路の条件とし、もしＯＲ接続があれば安全カテゴリを最低の「１」とする。
【００５４】
安全出力デバイス診断部１３は、表示部１５により、安全デバイス情報として例えば図８の表示を行う。すなわち、図８では、「種別」が「運転準備」であるデバイスＭ１００と、「種別」が「安全出力」である出力デバイスＹ１００／１０１について「安全カテゴリ診断」と「論理結合」が表示されている。本実施の形態では、デバイスＭ１００から出力デバイスＹ１００／１０１までのデバイスＸ２０１の論理結合関係はＡＮＤ接続であり、出力デバイスＹ１００／１０１の「安全カテゴリ診断」は「３」となる。なお、図８は表示の一例で、実施の形態１のように、安全カテゴリと安全カテゴリ診断結果が不一致のデバイスのみ表示しても良い。
【００５５】
本実施の形態においては、デバイスコメントに例えば予約語「運転準備」が書かれたデバイスＭ１００と安全出力デバイスＹ１００／１０１との間に接続されたデバイスが、立上り／立下りデバイスであるか、または予約語「再起動」がデバイスコメントに書かれたデバイスであるかを調べ、さらにその接続関係を確認することで、安全出力デバイスＹ１００／１０１の安全性を診断することができる。これにより、安全ラダープログラム１７の予期せぬ再起動の禁止への適合と、安全システムの適合安全カテゴリを診断することができる。
【００５６】
実施の形態５．
ＩＳＯ１３８４９−１ではＰＬ（Performance Level）、ＩＥＣ６１５０８ではＳＩＬ（Safety Integrity Level）という安全レベルが定義されており、それぞれ安全システムの平均危険側故障間隔（ＭＴＴＦｄ：Mean Time To Dangerous Failure）と危険側故障率（ＰＦＨ：Probability of Failure per Hour）を計算することで、安全システムがどの安全レベルを満足しているかを判定することができる。そこで、本実施の形態では、安全制御プログラムおよび安全システムが、ＰＬ，ＳＩＬのどの安全レベルに相当するのかを、安全レベルの指標であるＭＴＴＦｄ，ＰＦＨを計算して評価する。なお、ＭＴＴＦｄはＰＦＨの逆数なので、以下ではＰＦＨに基づくＳＩＬ判定について説明する。
【００５７】
安全システムは、ライトカーテンや非常停止スイッチ等が動作した時に、そのセンサに結び付けられた危険源が停止するように構成する。安全システムのＰＦＨは、安全システムにおいて安全機能が機能しない故障確率を示し、安全スイッチが押された等の安全センサからの停止要求に対して、安全センサに結び付けられたロボットやドライブ等の危険源が停止するまでの構成要素のＰＦＨの合計となる。ここで、安全センサが、ある危険源の停止に対してＡＮＤ結合になっていても、ある安全センサの停止要求が他のセンサの故障によって影響を受けることはないので、ＰＦＨの計算対象となる安全システムはひとつひとつの安全センサから、その安全センサに結び付けられたすべての危険源までを考慮すればよい。
【００５８】
安全システムのＰＦＨ計算を行うためには、安全センサや安全リレー・コンタクタ等の安全デバイスのＰＦＨ、および安全入力装置／出力装置（安全Ｉ／Ｏ）と安全シーケンサのＰＦＨが必要であるので、安全デバイス管理テーブル１１を図１０のように拡張する。
【００５９】
ここで、安全デバイスのＰＦＨ値は各メーカーからの提供値を用いることができる。また、安全入出力デバイス設定パラメータ１６の一つとして安全入出力デバイスのＰＦＨ値を設定する。別途、安全機器ごとのＰＦＨを示した表を用意しておき、ユーザはその表からテーブルのＰＦＨを設定するか、あるいはメーカーから得た値を入力する。安全Ｉ／Ｏと安全シーケンサのＰＦＨの設定についても同様である。多くの場合、プログラム作成支援ツールはシーケンサメーカが提供しているので、安全Ｉ／Ｏおよび安全シーケンサのＰＦＨはあらかじめプログラム作成支援ツールに包含してユーザに提供される。
【００６０】
次に、安全デバイス解析部１２が、安全入出力デバイス設定パラメータ１６に基づき、安全デバイス管理テーブル１１の安全デバイス、安全Ｉ／Ｏ、安全シーケンサの各ＰＦＨ値を設定する。運転準備状態等の内部状態は、安全Ｉ／Ｏを持たず、安全シーケンサは安全入力デバイスと重複するので、各々に対応するＰＦＨの値は設定されない。また、安全出力デバイスは、安全Ｉ／ＯのＰＦＨの値は設定されるが、安全シーケンサは安全入力と重複するのでＰＦＨの値は設定されない。
【００６１】
また、実施の形態１〜４で示したように、安全デバイス解析部１２と安全出力デバイス診断部１３により、各安全入力デバイスと運転準備状態について、各安全入力デバイスに結合（関連付け）された運転準備状態または運転準備状態に結合（関連付け）された安全出力デバイスを探し出し、これを図１０の「結合された安全出力」の列に登録する。結合された安全出力が複数個ある場合は、「結合された安全出力」の列にすべての出力を記載する。さらに、もういちど安全デバイス管理テーブル１１を走査して、安全入力デバイスの「結合された安全出力」列の運転準備状態を、その運転準備状態の行の「結合された安全出力」デバイスに置き換えると、安全入力デバイスから安全出力デバイスまでの結合関係がこのテーブルに表される。
【００６２】
次に、安全入力デバイスごとの安全システムのＰＦＨを計算する。安全入力デバイスの行にある、安全入力デバイス、安全Ｉ／Ｏ（入力側）、安全シーケンサのＰＦＨ合計と、結合された安全出力デバイスの行にある安全出力デバイスおよび安全Ｉ／Ｏ（出力側）のＰＦＨ合計を足した値を安全システムのＰＦＨの列に記載する。例えば、安全入力デバイスＸ１００／１０１については、安全入力デバイス、安全Ｉ／Ｏ（入力側）、安全シーケンサのＰＦＨ合計は、（１．２＋０．５＋０．７）×１０-9＝２．４×１０-9であり、結合された安全出力デバイスであるＹ１００／１０１の行にある安全出力デバイスおよび安全Ｉ／Ｏ（出力側）のＰＦＨ合計は、（２．５＋０．５）×１０-9＝３．０×１０-9であるので、この場合の安全システムのＰＦＨは、５．４×１０-9である。そして、この値が、その安全センサが停止要求を出した時に、結合された安全出力が停止する安全システムのＰＦＨを示しているので、この値がＳＩＬの要求値を満足するかを判定し、ＳＩＬの列に記載する。図１０に示すように、この場合の安全システムのＰＦＨは、ＳＩＬ３の安全レベルの範囲にある。なお、ＳＩＬに関しては、安全レベルが４つのレベルに分類されている。安全デバイス管理テーブル１１の各安全入力デバイスのＳＩＬ判定結果は、表示部１５によりユーザに表示される。
【００６３】
なお、本実施の形態では、ＳＩＬについて記載したが、ＭＴＴＦｄはＰＦＨの逆数なので、安全入出力デバイス設定パラメータ１６で、安全デバイス、安全Ｉ／Ｏおよび安全シーケンサのＭＴＴＦｄを用意し、安全デバイス管理テーブル１１のＰＦＨ欄にＭＴＴＦｄの逆数を入力することで、ＳＩＬと同様に安全システムのＰＦＨを計算することができる。また、安全システムのＰＦＨの逆数を求め、この逆数が、ＰＬが定義するどの安全レベルの範囲にあるのかを判定し、その判定結果を表示部１５に表示することができる。なお、ＰＬに関しては、安全レベルが３つのレベルに分類されている。
【００６４】
以上のように、本実施の形態では、安全制御プログラム中で使用されている各デバイスを安全デバイス管理テーブル１１に登録するとともに、各デバイスに対して安全入出力デバイス設定パラメータ１６を参照してＰＦＨまたはＭＴＴＦｄを安全デバイス管理テーブル１１に登録し、安全入力デバイスごとに、関連付けされた安全出力デバイスまでの経路を構成する各デバイスまたは機器のＰＦＨまたはＭＴＴＦｄを計算し、その合計値が安全レベル（ＰＬ，ＳＩＬ）のどのレベルに相当するかを求めることで、安全入力デバイスから、関連付けされた出力デバイスまでの経路の安全レベルを判定する。
【００６５】
本実施の形態によれば、従来専用ツールで行っていたＰＦＨ，ＭＴＴＦｄの定量的指標に基づく安全レベルのＳＩＬ，ＰＬ判定が、安全シーケンサのプログラム作成支援ツールにおいて可能となり、安全システムの構築及び検証の工程数を短縮できる。
【産業上の利用可能性】
【００６６】
本発明は、安全ＰＬＣなどの安全制御装置用のラダー言語プログラムを作成・編集するプログラミングツールにおいて、作成した安全制御プログラムが安全カテゴリ及び予期せぬ再起動防止などの安全規格に適合するかどうかを診断する機能として有用である。
【符号の説明】
【００６７】
１  安全制御プログラムの安全性診断装置
１１  安全デバイス管理テーブル
１２  安全デバイス解析部
１３  安全出力デバイス診断部
１５  表示部
１６  安全入出力デバイス設定パラメータ
１７  安全ラダープログラム
２０  安全デバイス管理テーブル記憶部
２１  安全入出力デバイス設定パラメータ記憶部
２２  安全ラダープログラム記憶部
【図１】
2010191943.tif 000003
【図２】
2010191943.tif 000004
【図３】
2010191943.tif 000005
【図４】
2010191943.tif 000006
【図５】
2010191943.tif 000007
【図６】
2010191943.tif 000008
【図７】
2010191943.tif 000009
【図８】
2010191943.tif 000010
【図９】
2010191943.tif 000011
【図１０】
2010191943.tif 000012