(57)【要約】【課題】安全設計技術に対する熟練度の程度に関係なく、所望の安全度の安全システムを設計することができる設計支援装置を提供すること【解決手段】機器情報が格納されている機器情報データベース１４と、機器が対応している安全カテゴリを含む安全関連情報，機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベース１５を備える。回路を構成する入力機器及び出力機器の種類と、それら入力機器及び出力機器に関連づけた制御の動作仕様と、達成すべき安全カテゴリを取得すると、ＭＰＵ１３は、取得した各種の条件に従って各データベースをアクセスし、条件に合致する機器を抽出するとともに、抽出した機器を設計ルールに従って各機器の配置並びに配線を行い、安全回路を生成する。生成した安全回路の回路図は、ＣＲＴ２３に出力するとともに、記憶装置２５に格納する。【選択図】　　　　図１
2004126816.tif 000002
【特許請求の範囲】
【請求項１】
機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースと、
回路を構成する入力機器及び出力機器の種類と、それら入力機器及び出力機器に関連づけた制御の動作仕様と、達成すべき安全カテゴリを取得する条件取得手段と、
前記条件取得手段で取得した各種の条件に従って前記安全カテゴリデータベースをアクセスし、条件に合致する機器を抽出するとともに、抽出した機器を前記設計ルールに従って各機器の配置並びに配線を行って安全回路を生成する回路生成手段とを備えたことを特徴とする設計支援装置。
【請求項２】
機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースと、
設計された安全回路の構成情報を取得する回路構成情報取得手段と、
達成すべき安全カテゴリを取得する条件取得手段と、
取得した前記構成情報に従って前記安全カテゴリデータベースをアクセスし、前記安全回路を構成する機器並びに回路構成が、安全カテゴリを満足するものであるか否かを判定し、その判定結果を出力する判定手段とを備えたことを特徴とする設計支援装置。
【請求項３】
安全回路を構成する機器が故障した場合の影響を、故障の種類と関連づけた故障情報を格納した故障情報データベースと、
設計された安全回路の構成情報を取得する回路構成情報取得手段と、
取得した前記構成情報に従って、前記安全回路構成する所定の機器のうち、故障する機器を選択し、その選択した機器についての故障情報を前記故障情報データベースから抽出し、前記安全回路へ与える影響を求める故障診断手段とを備えたことを特徴とする設計支援装置。
【請求項４】
機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースを備えた設計支援ツールにおける設計支援方法であって、
回路を構成する入力機器及び出力機器の種類と、それら入力機器及び出力機器に関連づけた制御の動作仕様と、達成すべき安全カテゴリを取得し、
前記取得した各種の条件に従って前記安全カテゴリデータベースをアクセスし、条件に合致する機器を抽出し、
その抽出した機器を設計ルールに従って各機器の配置並びに配線を行って安全回路を生成する処理を実行することを特徴とする設計支援方法。
【請求項５】
機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースを備えた設計支援装置における設計支援方法であって、
既に設計された安全回路の構成情報と、達成すべき安全カテゴリを取得し、
次いで、取得した前記構成情報に従って前記安全カテゴリデータベースをアクセスし、前記安全回路を構成する機器並びに回路構成が、安全カテゴリを満足するものであるか否かを判定し、
その判定結果を出力手段に向けて出力することを特徴とする設計支援方法。
【請求項６】
安全回路を構成する機器が故障した場合の影響を、故障の種類と関連づけた故障情報を格納した故障情報データベースを備えた設計支援装置における設計支援方法であって、
設計された安全回路の構成情報を取得し、
取得した前記構成情報に従って、前記安全回路構成する所定の機器のうち、故障する機器を選択し、その選択した機器についての故障情報を前記故障情報データベースから抽出し、前記安全回路へ与える影響を求めることを特徴とする設計支援方法。
【請求項７】
機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースを備えた設計支援ツールにおける設計支援方法であって、
回路を構成する入力機器及び出力機器の種類と、それら入力機器及び出力機器に関連づけた制御の動作仕様と、達成すべき安全カテゴリを取得する処理と、
機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースに対しアクセスし、前記取得した各種の条件に合致する機器を抽出する処理、
その抽出した機器を設計ルールに従って各機器の配置並びに配線を行って安全回路を生成する処理を実行するプログラム部分を持つことを特徴とするプログラム製品。
【請求項８】
既に設計された安全回路の構成情報と、達成すべき安全カテゴリを取得する処理、
機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースに対し、取得した前記構成情報に従って前記安全カテゴリデータベースをアクセスし、前記安全回路を構成する機器並びに回路構成が、安全カテゴリを満足するものであるか否かを判定する処理、
その判定結果を出力手段に向けて出力する処理を実行するプログラム部分を持つことを特徴とするプログラム製品。
【請求項９】
設計された安全回路の構成情報を取得する処理、
前記取得した前記構成情報に従って、前記安全回路を構成する所定の機器のうち、故障する機器を選択する処理、
前記安全回路を構成する機器が故障した場合の影響を、故障の種類と関連づけた故障情報を格納した故障情報データベースにアクセスし、前記選択した機器についての故障情報を前記故障情報データベースから抽出し、前記安全回路へ与える影響を求める処理を実行するプログラム部分を持つことを特徴とするプログラム製品。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、設計支援装置及び設計支援方法並びにプログラム製品に関するものである。
【０００２】
【従来の技術】
ＦＡ（ファクトリーオートメーション）で用いられるプログラマブルコントローラ（ＰＬＣ）は、スイッチやセンサなどの入力機器のＯＮ／ＯＦＦ情報を入力し、ラダー言語などで書かれたシーケンスプログラム（ユーザプログラム）に沿って論理演算を実行する。そして、ＰＬＣは、得られた演算結果にしたがって、リレー，バルブ，アクチュエータなどの出力機器に対し、ＯＮ／ＯＦＦ情報の信号を出力することで制御が実行される。
【０００３】
ところで、ＰＬＣと、入力機器並びに出力機器との接続形態は、ＰＬＣに直接接続する場合もあれば、ネットワークを介して接続する場合もある。係るネットワークで接続されたネットワークシステムを構築した場合、上記ＯＮ／ＯＦＦ情報の送受をネットワークを経由して行うことになる。このとき、通常、ＰＬＣ側がマスタとなり、機器側がスレーブとなるマスタスレーブ方式で情報の伝送が行われる。
【０００４】
一方、最近ではＰＬＣによる制御においても、フェイルセーフ（安全）システムが導入されつつある。つまり、ＰＬＣや各機器自体はもちろん、それらを接続するネットワークも安全機能を組み込まれたもので構成される。ここで安全機能とは、例えばＣＰＵその他の各処理部等を二重化して、正しい出力をするようにしたり、ネットワーク異常（正常な通信ができない）の場合や、緊急停止スイッチが押下されたり、ライトカーテンなどのセンサが人（身体の一部）の進入を検出した場合等のネットワークシステムが危険状態になった場合には、フェイルセーフが働き、システムが安全側になって、動作が停止するようにするものである。
【０００５】
上記した安全機能を備えたネットワークシステム（安全ネットワークシステム）の場合、ネットワークに接続される機器（ＰＬＣ，スレーブ並びにスレーブに接続される機器等）は全て安全機能を備えたものを用いる必要があった。これは、１つでも安全機能のない機器が組み込まれていると、その機器或いはその機器との連携，データ通信にフェイルセーフを実行できず、システム全体の安全を保証できないためである。
【０００６】
そこで、安全ネットワークシステムを構築すべく回路設計をする場合は、使用しようとする機器が安全機能を備えた安全機器であるか否かを確認したり、複数の機器を接続する場合に、安全機能を発揮することのできる組み合わせであるか否かを確認したりする必要がある。さらに、単に安全機器を用いただけでは安全ネットワークシステムを構築することはできず、配線のレイアウトを正しく行う必要がある。なお、この種の設計支援を行う設定ツールとしては、従来特許文献１に開示されたものがある。
【０００７】
【特許文献１】
特開２０００−２７６５０８号公報
【０００８】
【発明が解決しようとする課題】
安全機器を使用した回路設計においては、通常の電機設計技術だけでなく、安全設計技術も必要となる。しかし、国際規格に準じた安全設計技術に関する設計ルールの理解が難しく、また安全設計技術の普及にも時間がかかっており、ユーザ等が独自に設計するのは困難であった。そのため、現在では各安全機器ベンダや認証機関に問い合わせをしながら回路設計を行っている。
【０００９】
従って、回路設計する作業が非常に煩雑で時間もかかってしまう。そのため、安全設計部分はアウトソーシングし、本業に注力したいと要望するユーザや装置ベンダも増えている。
【００１０】
また、回路設計がされたシステムに対しては、検証（デバッグ）を行う必要がある。そして、特に安全ネットワークの場合には、各部品が正常に動作している場合に安全レベルを達成していることは重要であるが、それだけでは不十分で、例えば、ある部品が故障等した場合でもシステムの安全が保証される必要がある。しかし、実際に故障時の動作まで検証するのは困難である。
【００１１】
この発明は、設計工数の削減と設計品質を得ることができ、設計者によるばらつきなどを無くすことができるとともに、安全設計技術に対する熟練度があまり無い設計者であっても、所望の安全度の安全システムを設計することができ、さらに、設計した成果をプローブンテクノロジとして活用することができ、さらには、回路設計して作成されたシステムに対する故障診断を行うことができる設計支援装置及び設計支援方法並びにプログラム製品を提供することを目的とする。
【００１２】
【課題を解決するための手段】
この発明による設計支援装置では、機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースと、回路を構成する入力機器及び出力機器の種類と、それら入力機器及び出力機器に関連づけた制御の動作仕様と、達成すべき安全カテゴリを取得する条件取得手段と、前記条件取得手段で取得した各種の条件に従って前記安全カテゴリデータベースをアクセスし、条件に合致する機器を抽出するとともに、抽出した機器を前記設計ルールに従って各機器の配置並びに配線を行って安全回路を生成する回路生成手段とを備えて構成した。
【００１３】
また、係る装置に対応する本発明に係る設計支援方法は、機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースを備えた設計支援ツールにおける設計支援方法であって、回路を構成する入力機器及び出力機器の種類と、それら入力機器及び出力機器に関連づけた制御の動作仕様と、達成すべき安全カテゴリを取得し、前記取得した各種の条件に従って前記安全カテゴリデータベースをアクセスし、条件に合致する機器を抽出し、その抽出した機器を設計ルールに従って各機器の配置並びに配線を行って安全回路を生成する処理を実行するようにした。
【００１４】
さらに、本発明に係るプログラム製品は、機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースを備えた設計支援ツールにおける設計支援方法であって、回路を構成する入力機器及び出力機器の種類と、それら入力機器及び出力機器に関連づけた制御の動作仕様と、達成すべき安全カテゴリを取得する処理と、機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースに対しアクセスし、前記取得した各種の条件に合致する機器を抽出する処理と、その抽出した機器を設計ルールに従って各機器の配置並びに配線を行って安全回路を生成する処理を実行するプログラム部分を持つものである。
【００１５】
本発明によれば、希望する安全カテゴリを実現するために必要な機器の安全関連情報と安全回路の設計ルールをデータベース化したため、入出力機器と動作仕様を定義することにより回路図・ソフトウェアを自動生成することができる。
【００１６】
よって、設計者は、安全設計技術についての習熟度が高くなくても、目的の安全カテゴリを有する回路を設計することができる。そして、生成される回路の品質も、設計者間でばらつきの少ないものとなる。
【００１７】
また、本発明に係る設計支援装置の別の解決手段としては、機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースと、設計された安全回路の構成情報を取得する回路構成情報取得手段と、達成すべき安全カテゴリを取得する条件取得手段と、取得した前記構成情報に従って前記安全カテゴリデータベースをアクセスし、前記安全回路を構成する機器並びに回路構成が、安全カテゴリを満足するものであるか否かを判定し、その判定結果を出力する判定手段とを備えて構成した。
【００１８】
また、本発明に係る設計支援方法で、機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースを備えた設計支援装置における設計支援方法であって、既に設計された安全回路の構成情報と、達成すべき安全カテゴリを取得し、次いで、取得した前記構成情報に従って前記安全カテゴリデータベースをアクセスし、前記安全回路を構成する機器並びに回路構成が、安全カテゴリを満足するものであるか否かを判定し、その判定結果を出力手段に向けて出力するようにした。
【００１９】
また、本発明に係るプログラム製品は、既に設計された安全回路の構成情報と、達成すべき安全カテゴリを取得する処理と、機器が対応している安全カテゴリを含む安全関連情報と、前記機器を用いて構成される安全回路の設計ルールを格納した安全カテゴリデータベースに対し、取得した前記構成情報に従って前記安全カテゴリデータベースをアクセスし、前記安全回路を構成する機器並びに回路構成が、安全カテゴリを満足するものであるか否かを判定する処理と、その判定結果を出力手段に向けて出力する処理を実行するプログラム部分を持つようにした。
【００２０】
本発明によれば、入力された回路図が希望する安全カテゴリを満足するかチェックすることができる。ここでチェック対象の回路図は、上記した自動生成機能により作成した回路であってもよいし、別途作成したものでも良い。
【００２１】
さらにまた、本発明に係る設計支援装置の別の解決手段としては、安全回路を構成する機器が故障した場合の影響を、故障の種類と関連づけた故障情報を格納した故障情報データベースと、設計された安全回路の構成情報を取得する回路構成情報取得手段と、取得した前記構成情報に従って、前記安全回路を構成する所定の機器のうち、故障する機器を選択し、その選択した機器についての故障情報を前記故障情報データベースから抽出し、前記安全回路へ与える影響を求める故障診断手段とを備えて構成することである。
【００２２】
また、本発明に係る設計支援方法は、安全回路を構成する機器が故障した場合の影響を、故障の種類と関連づけた故障情報を格納した故障情報データベースを備えた設計支援装置における設計支援方法であって、設計された安全回路の構成情報を取得し、取得した前記構成情報に従って、前記安全回路構成する所定の機器のうち、故障する機器を選択し、その選択した機器についての故障情報を前記故障情報データベースから抽出し、前記安全回路へ与える影響を求めるようにした。
【００２３】
また、本発明に係るプログラム製品は、設計された安全回路の構成情報を取得する処理と、前記取得した前記構成情報に従って、前記安全回路構成する所定の機器のうち、故障する機器を選択する処理と、次いで、安全回路を構成する機器が故障した場合の影響を、故障の種類と関連づけた故障情報を格納した故障情報データベースにアクセスし、前記選択した機器についての故障情報を前記故障情報データベースから抽出し、前記安全回路へ与える影響を求める処理を実行するプログラム部分を持つようにした。
【００２４】
この発明によれば、データベースに、機器の持つ故障モードと故障時の動作の定義を含めたことにより、過去に作成した回路図に対して希望するＦＭＥＡ等を自動実行し、診断結果を出力することができる。よって、故障した際に安全か否かを確認することができる。
【００２５】
また、上記した各発明は、それぞれ単独で実施することもできるし、適宜組み合わせて実施することもできる。そして、評価や故障診断の対象となる回路図は、自動生成して作成したものでも良いし、それ以外の方法で作成したものでも良い。
【００２６】
【発明の実施の形態】
図１は、本発明の好適な一実施の形態を示している。図１に示すように、設計支援ツール１０は、外部機器とデータの送受を行うための入力インタフェース１１並びに出力インタフェース１２と、設計支援処理を行うＭＰＵ１３と、そのＭＰＵ１３が設計支援処理を行うのに必要なデータを備えた機器情報データベース１４，安全カテゴリデータベース１５並びに故障情報データベース１６を備えている。もちろん、この設計支援ツール１０は、実際にはパソコンその他のコンピュータにより実現できるため、図示省略するが、コンピュータを動作させるためのプログラムが格納されたシステムＲＯＭや、ＭＰＵ１３で実行するプログラム（設計支援プログラム）を格納するユーザメモリや、ＭＰＵ１３の実行中に使用するワークメモリなどを備えている。
【００２７】
一方、外部機器としては、入力インタフェース１１に接続されるキーボード２０並びにマウス２１を備えている。また、出力インタフェース１２には、外部機器としてＣＲＴ２３，プリンタ２４並びに記憶装置２５を備えている。
次に各部について詳述する。機器情報データベース１４は、機器ごとのプロファイル情報をライブラリ化して格納するもので、その機器を特定するデバイス名，ベンダ名，形式，認定規格情報，コスト，機器をあらわす図記号，対応可能な安全カテゴリ，機能定義，端子機能情報（端子Ｎｏ．，名前，プロパティ），入出力インタフェースの電気的特性，時間特性（応答時間），故障モードと動作等が登録される。
【００２８】
安全カテゴリデータベース１５は、安全ネットワークを構築するための情報が格納されており、具体的には、各安全カテゴリごとに要求される機能定義と配線ルールを備えた設計ルールと、安全機器／ソフトウェア機能モジュールと安全カテゴリを対応づけた安全カテゴリテーブルと、安全機器／ソフトウェア機能モジュールと安全機能を対応づけた安全機能テーブルと、安全機器と電気的インタフェースを対応付けたインタフェース対応テーブルと、安全機器と応答時間を対応づけた応答時間対応テーブル等がある。各テーブルのデータは、機器情報データベース１４に格納された各機器についてのプロファイル情報から必要なものを抽出し格納することにより構築できる。
【００２９】
そして、設計ルールには、各機器（ファンクション）ごとにカテゴリに応じた配線パターンが登録される。図２に示すような具体的な回路構成と、その回路構成で達成される安全カテゴリ（図３参照）が関連付けられて登録される。図２に示す回路は、「非常停止用機器の安全カテゴリ４」の配線パターン例である。ユニットの内部回路や端子には属性があり、係る属性が予め登録されている。従って、その属性に基づいて接続される機器は絞り込まれる。すなわち、ユニットＵＮのＡ１，Ａ２端子は電源端子であるため、所定の電源に接続され、Ｔ１１，Ｔ１２は接点端子であるため所定のスイッチＳＷが接続されている。スイッチＳＷは、所望の安全カテゴリを得ることのできる部品・機器を用い、２重化して冗長性を持たせている。このように、ユニットＵＮに接続される各機器は、安全カテゴリが決まるとある程度使用可能な範囲が定まるので、雛形として回路構成を作成し、登録しておく。また、図において枠Ｗで囲まれた機器は、ユーザの選択や設定などにより変更可能な部分である。さらに、ＩＣの内部回路は、回路設計の上では必須ではないが、回路構成の中身を理解させやすくするために、表示用に記載している。
【００３０】
また、図３に示すテーブルは、回路構成により達成する安全カテゴリを示している。つまり、安全カテゴリは、国際規格によって、どのような条件を満たす場合にどの安全カテゴリ（レベル，安全度）になるかが定められている。そして、安全カテゴリは、数値の大きいものほど安全の程度が高いことを意味し、安全カテゴリ「Ｂ」は、安全対策を施していない一般の機器のレベルを示す。図３から明らかなように、この回路を使用すれば、入力部や出力部の冗長性については、安全カテゴリ３や４の安全ネットワークを構成することができる。そして、上位のより高い安全カテゴリを満足するからと言って、それよりも下位の低い安全カテゴリに対応しているとは限らない。よって、設計者は、係るテーブルから、自己が希望する安全カテゴリを満足するものか否かを容易に判断することができる。
【００３１】
また、安全機器／ソフトウェア機能モジュールと安全カテゴリを対応づけた安全カテゴリテーブルのデータ構造の一例としては、図４に示すようになっている。各機器に対して、機器名，型式，ベンダ，操作電圧，接点構成，リセット機能に加え、安全カテゴリも関連付けたテーブルとなっている。上記各データは、機器情報データベース１４にアクセスして取得することができる。この例では、安全レベルが４の安全ネットワークシステムを構築しようとする、使用できるリレーユニットは、Ａ社製の型式が「形ＡＡＡＡＡ」に限定されてしまうことになる。もちろん、図４では、リレーユニットに対してのみ具体例を記述しているが、実際には他の機器についても同様の各項目の内容が登録される。
【００３２】
また、安全機器／ソフトウェア機能モジュールと安全機能を対応づけた安全機能テーブルは、図５に示すように、「非常停止」や「２ハンド」などの機能を実現することのできる安全機器が対応づけられて格納される。該当するものが複数ある場合は、それらを併記して登録する。これにより、ユーザは、代替え品を容易に検出することができる。なお、機能に対応するのがソフトウェアの場合は、機器ごとに提供されるアプリケーションプログラムのモジュールやファンクションブロックが登録される。なお、ここで言う安全機能は、制御機器の場合はその制御機器が有する安全機能であり、入出力機器は接続されるべき安全機能である。
【００３３】
次に、ＭＰＵ１３の機能の１つである安全ネットワークを構成する安全回路の自動生成機能を説明する。この機能は、図６，図７に示すフローチャートを実行するものである。すなわち、まず、機器情報データベース１４並びに安全カテゴリデータベース１５を読み込みスタンバイ状態になる（ＳＴ１からＳＴ３）。ここまでが、データベース読み込みフェーズである。
【００３４】
次に、ステップ４から８の条件入力フェーズを実行する。具体的には、まず制御グループ毎に入出力機器の登録を行う（ＳＴ４）。この入出力機器の登録処理は、具体的には以下のように行う。
【００３５】
すなわち、まず、例えば図８に示すような入力画面、つまり、使用可能な部品（ファンクションブロック）の一覧を表示する部品ツリー欄と、実際の回路を組むための作業領域画面Ｇとを備えた入力画面をＣＲＴ２３に出力表示する。作業領域画面Ｇには、入力機器配置領域Ｒ１と制御部配置領域Ｒ２と出力機器配置領域Ｒ３が用意されている。
【００３６】
この入力画面において、設計者は、マウス２１を操作して部品ツリー欄に表示された所望の部品をドラッグ＆ドロップすることにより、作業領域画面Ｇ中の何れかの領域Ｒ１からＲ３に配置することにより、入出力機器の登録を行うことができる。なお、制御部には、仮想の制御ＢＯＸを配置する。
例えば、設計条件として、以下の（１）から（３）を満たす回路を設計することを想定する。
【００３７】
（１）「非常停止Ａ」と「非常停止Ｂ」と「非常停止Ｃ」のモニタを行い、安全状態で負荷Ａ用電源を「コンタクタＡ」により閉路、安全でない状態では遮断させる。
（２）モニタ機能のスタートおよびリスタートは、「手動スイッチ入力」による。
（３）上記の機能をＥＮ９５４−１／ＩＳＯ１３８４９−１などで定められた「安全カテゴリ３」で実現する。
【００３８】
すると、ドラッグ＆ドロップにより、３つの非常押しボタンを入力機器配置領域Ｒ１に配置するとともに、コンタクタを出力機器配置領域Ｒ３に配置する。なお、上記したように制御部配置領域Ｒ２には、仮想の制御ＢＯＸを配置するが、これはすくなくとも１個は必ず設置するものであるので、自動的に配置するようにしても良いし、他の入出力機器と同様に、部品リスト欄に用意された制御ボックスをドラッグ＆ドロップすることにより配置するようにしても良い。そして、各領域Ｒ１からＲ３に部品を配置すると自動的に各部品にＩＤ　Ｎｏが割り付けられる。このＩＤ　Ｎｏの割付は、例えば、制御ＢＯＸに＃００を割り付け、入力機器を先頭から順番に昇順方式で割付け、次いで、入力機器の最後のＩＤ　Ｎｏ次の番号から出力機器の先頭から順番に昇順方式で割り付ける。これにより、入力画面は、図９に示すように各部品が配置された状態となる。
【００３９】
なお、部品ツリー欄に表示される各部品は、実際の製品と対応づけられている。つまり、同じ「非常停止押しボタン」であっても、各製品用のものが用意されている。そこで、設計者は、目的とする安全レベルに適合する製品についての部品アイコンを選択し、ドラッグ＆ドロップする。従って、作業領域画面Ｇに各部品を配置した状態では、図９では単に部品のアイコンのみ表示しているが、各部品はそれぞれ実際の製品と関連づけられている。
【００４０】
すなわち、図９において例えばＩＤ　Ｎｏが＃０１の非常停止押しボタンは、「デバイス名：Ｅ−ＳＴＯＰ押しボタン，形式：ＡＡＡＡＡ，ベンダ：Ａ社，属性：φ２２、プッシュロック」であり、＃０１の非常停止押しボタンは、「デバイス名：Ｅ−ＳＴＯＰ押しボタン，形式：ＢＢＢＢＢ，ベンダ：Ａ社，属性：φ１６、プッシュプル」であり、＃０１のコンタクタは、「デバイス名：コンタクタ，形式：ＣＣＣＣＣ，ベンダ：Ｂ社，容量：２００Ｖ　３．７ＫＷ，入力：ＡＣ１００Ｖ」である。このような各機器についての機器情報も紐付けられている。よって、例えば、部品をダブルクリックなどして指定することにより、当該機機情報を表示できるようにすると好ましい。
【００４１】
なお、上記した例では、部品ツリー欄には全ての部品が表示されるようにしているが、例えば制御ＢＯＸの機能に応じて選択できる部品はある程度絞り込まれる。従って、設計支援ツール１０側で選択可能な部品を抽出し、その抽出した部品のみを部品ツリー欄に表示する機能を持たせると、より利便性があがるとともに、誤選択する可能性が抑制できる。
【００４２】
次に、各構成部品の関連付けを行う。すなわち、構成部品（入出力機器）の関連付けと登録およびユーザコメントの入力を行う。まず関連付けは、図１０に示すように、入力機器並びに出力機器を制御ＢＯＸへドラッグ＆ドロップすることにより行う。すなわち、各部品の座標位置を認識しているため、例えばマウス２１を操作し、非常停止押しボタン＃０１をドラッグして制御ボックス＃００の位置まで移動し、そこでドロップすると、ツールのＭＰＵ１３側では、非常停止押しボタン＃０１が制御ボックス＃００の上に重なった状態でドロップされたことを認識する。そこで、それら重なった非常停止押しボタン＃０１と制御ボックス＃００を関連付ける。これにより、ツール側では、非常停止押しボタン＃０１からの信号を制御ボックス＃００に入力するように回路設計する必要があることを認識できる。
【００４３】
この関連付けに伴い、制御機器の関連を示すテーブルを作成する。このテーブルがコンパイルの最小単位となる。一例を示すと、図１１に示すようなテーブルを作成する。登録する各項目のタイトルを見ると明らかなように、多くの場合、機器情報データベース１４に格納されているので、該当するデータをテーブルの所定位置に格納する。さらに、このテーブルを出力表示し、各機器のネーミング（ドアＡ，ペンダントＡ等）や、各種コメントをテーブル内の所定領域に登録することができる。
【００４４】
さらに、本実施の形態では、レイアウト情報の入力も行えるようになっている。すなわち、機器の設置エリアがそれぞれ離れている場合を想定し、機器のグループ化を行う機能を持つ。具体的には、図１２に示すように、ある制御ＢＯＸの出力を他の制御ＢＯＸの入力として使用することにより実現し、係る連携を、「ネットワーク」，「中継端子台」を部品として活用することにより行う。
【００４５】
それら「ネットワーク」や「中継端子台」を部品として利用するため、通常の入力機器や出力機器と同様に、部品ツリーリストに配置してある「ネットワーク」等をドラッグ＆ドロップにより入力機器配置領域Ｒ１や出力機器配置領域Ｒ３に配置するとともに、それら配置した部品を制御ＢＯＸに関連付けることにより、上記したレイアウト情報の入力が行える。なお、「ネットワーク」はスレーブのアドレスなどを割り振る必要がある。
【００４６】
上記のようにして入出力機器の登録処理が完了したならば、制御ＢＯＸの動作仕様（回路動作）の入力処理を行う（ＳＴ５）。つまり、安全機能の選択処理であり、具体的には、入力機器，出力機器の登録が終了した制御ＢＯＸをクリックする。
【００４７】
これに伴い、ＣＲＴ２３の表示画面に図１３に示すような動作仕様入力画面を表示する。この動作仕様入力画面は、左側に、制御ファンクションの一覧がリスト表示される領域を設定し、右側に処理対象の制御ＢＯＸについての入力領域が設定される。そして、出力機器の欄には、その制御ＢＯＸに登録された出力機器を配置し、制御条件１の欄には、その制御ＢＯＸに登録された入力機器を配置する。係る配置は、ステップ４の実行によって得られた情報に基づき自動的に行い、表示する。また、制御条件２は、安全制御特有の設定情報を登録するエリアである。
【００４８】
そして、上記した動作仕様入力画面を用い、表示された制御ファンクションを出力すべき機器の制御条件１エリアに割り当てるとともに、入力機器のＩＤを割り当てる。また、安全制御特有の設定情報も制御条件２に設定する。これらの割り当て，設定も、用意された制御ファンクションを所定位置にドラッグ＆ドロップすることにより実行できる。
【００４９】
上記処理を具体例を挙げて説明すると、以下のようになる。図１３に示す動作仕様入力画面を利用して、例えば図１０に示す制御ＢＯＸ（＃００）」に対し、以下のような内容が設定できるようになっている。
【００５０】
（１）入力条件（制御条件１としている）
制御ＢＯＸ＃００の入力条件で、出力機器コンタクタ＃０４をアクティブにするための条件を設定する。この場合の入力機器は、図１２に示すように非常停止押しボタンが３個（３個のいずれもが押されていないことを条件に動作する）であるので、非常停止がされたかどうかのモニタを３つそれぞれに独立して行うことになるため、「非常停止モニタ」が３つ配置される。
【００５１】
（２）出力条件（図中「出力機器」）
この欄は、出力機器の諸条件を設定する欄である。例えば、オフディレーで遮断する場合には、制御ＦＢ欄の一番下にある「ＯＦＦディレー」をドラッグ＆ドロップにより選択するとともに、制御オフディレー値（たとえば３０秒）などを設定する。
【００５２】
（３）再起動条件（図中「制御条件２」）
入力条件が満たさなくなって、いったんフェールセーフがかかって出力がＯＦＦ状態になった後で、出力がＯＮする（起動させる）際のリスタート（リセット）条件を設定する。システムの復帰条件，再起動条件とも言える。これも、制御ＦＢ欄から所定のものをドラッグ＆ドロップなどにより選択することにより設定する。
【００５３】
なお、図に示す「マニュアルリセット」は、非常停止押しボタンとは別の手動リセットボタンが押されることでリセットされるように設定するためのものである。また、他に図示していないが、制御条件２に登録するものとしては、「オートリセット」もある。これは入力条件が満たされると自動的にリセットされるように設定するもので、非常停止押しボタンがＯＮ→ＯＦＦになれば、システムが再起動するようにできる。
【００５４】
次いで、達成すべき安全カテゴリの入力処理を行う（ＳＴ６）。具体的には、図１４に示すように、動作仕様入力画面の上に「安全カテゴリ入力画面」を重ねて表示し、安全カテゴリの欄に数値を入力させることにより行う。図１４の例では、設計仕様が「安全カテゴリ＝３」であったため、キーボード２０を操作して「３」を入力したが、ここで入力する値は、「Ｂ，１，２，３，４」と決まっている（図３等参照）ため、予め係る数値を用意しておき、プルダウン方式のメニューから選択するようにしても良い。
【００５５】
次に、コンパイル条件の入力処理を行う（ＳＴ７）。具体的には、図１５に示すように、動作仕様入力画面の上に「コンパイル条件入力画面」を重ねて表示し、要求するコンパイル条件を受け付ける。設計者は、そのコンパイル条件入力画面に対し、キーボード２０を介して具体的な条件を入力したり、マウス２１を操作して該当するものをクリックして選択することにより、コンパイル条件を入力する。なお、応答時間は安全距離とすることもできる。また、「コスト」とは見積もりの有無を入力する欄である。そして、「コンパイルしますか？（Ｙ／Ｎ）」に対してＹを入力して「エンターキー」を押すことにより、入力された内容が確定され、次の処理に移行する。
【００５６】
まず、実際のコンパイル処理をするに先立ち、入力された情報をもとに機器情報データベース１４をアクセスし、入力されたコンパイル条件にあった機器を選択する。そして、安全カテゴリデータベース１５に格納されたカテゴリ対応テーブルを読み出し、上記選択した機器が正しいか否かの照合チェックを行う（ＳＴ８）。すなわち、カテゴリと機器の不一致などの選択ミスがないかをチックする。そして、エラーがあると、ステップ４に戻り、再度入力処理を行う。このとき、エラー通知をすると良い。
【００５７】
そして、照合チェックの結果、機器の選択が正しい場合には、回路生成フェーズに移行する。すなわち、コンパイル処理を実行する（ＳＴ９）。つまり、安全カテゴリデータベース１５に格納された情報から、対応する機器同士を接続する外部結線図を呼び出し、選択した機器間の入出力インタフェースを確認しながら生成する。
【００５８】
そして、コンパイル実行後に、設計ルールの照合チェックを行う（ＳＴ１０）。すなわち、文法エラーなどがないかや、論理圧縮できるところはないか？等が判断される。
【００５９】
文法エラーの例としては、非常停止押しボタンが、２ハンドＳＷモニタＦＢと結線されていたり、入出力インタフェースが機器間で不整合であったり、選択した機器が要望する安全カテゴリを満足しない場合などがある。それらのエラーの例をデータベースに登録しておき、対応するエラーメッセージを出力するようにすることもできる。また、論理圧縮の適否は、冗長な回路構成がないかなどを判断するもので、従来から公知の技術であるのでその詳細な説明を省略する。
【００６０】
そして、照合チェックの結果、不適であって回路図が生成できない場合は、エラー通知および原因通知を行った後、ステップ４に戻り再度入出力機器の登録から行う。
【００６１】
また、照合チェックした結果、ＯＫとなった場合にはステップ１１に進み、論理圧縮できる場合には簡単化する（ＳＴ１１）。なお、この処理までは、安全機能と入出力機器との関係でチェックされる。
【００６２】
その後、マッピングを行う（ＳＴ１２）。すなわち、安全機能をライブラリに登録された機器やソフトウェアに変換する。そして、マッピングが正しく行われたならば、各機器を配置するとともに配線を行い（ＳＴ１４）、生成された回路図・部品表を出力して処理を修理要する（ＳＴ１５）。なお、上記した簡略化，マッピング，配置・配線，回路図・部品表出力の各処理ステップは、基本的に、安全機能に対応していない従来の一般的な回路設計をする場合の支援ツールに用いられる機能を利用できるので、その詳細な説明を省略する。
【００６３】
なお、自動生成完了後に出力される回路図の一例としては、図１６に示すようになり、部品表の一例としては、図１７に示すようになる。また、係る回路図は、ＣＲＴ２３に出力表示したり、プリンタ２４にてプリントアウトすることができる。また、それら回路図や部品表は、ファイルとして記憶装置２５に格納するようにしても良い。
【００６４】
次に、ＭＰＵ１３の第２の機能である回路チェック機能を説明する。上記した自動生成機能では、新たに回路を作成する場合に使用するが、この回路チェック機能は、上記した自動生成機能やその他の手法により作成した回路を評価するものである。そして、具体的には図１８に示すフローチャートを実行する機能を有する。
【００６５】
すなわち、まず、機器情報データベース１４並びに安全カテゴリデータベース１５を読み込みスタンバイ状態になる（ＳＴ１からＳＴ３）。ここまでが、データベース読み込みフェーズである。
【００６６】
ついで、記憶装置２５に格納されたチェック対象の回路図を読み込む（ＳＴ２０）。これにより、例えば図１６に示すような回路図が表示される。そして、達成すべき安全カテゴリを入力する（ＳＴ２１）。この入力は、具体的な図示は省略するが、例えば図１４に示した安全カテゴリ入力画面を図１６の上に重ねて表示し、その状態で設計者に安全カテゴリを入力させればよい。
【００６７】
次いで、安全カテゴリデータベース１５に格納されたカテゴリ対応テーブルを読み出し、読み出した回路図を構成する機器が、安全カテゴリとの関係で正しいか否かの照合チェックを行う（ＳＴ２２）。すなわち、安全カテゴリと機器の不一致などの選択ミスがないかをチックする。そして、選択ミスがない場合には、ステップ２３に進み、文法エラーなどがないかの設計ルールの照合チェックを行う。
【００６８】
一方、ステップ２２，２３で、照合チェック結果がエラーとすると、異常通知（ＳＴ２５）を経て、ステップ２６に進み、ミスのあった部分の回路編集を行った後、ステップ２０に進み再度チェックを行う。そして、照合チェックした結果ＯＫの場合には、その旨の結果通知（ＳＴ２４）をした後処理を終了する。
【００６９】
次に、ＭＰＵ１３が持つ、故障診断機能を説明する。まず、故障情報データベース１６には、予め「ＦＭＥＡルール」や、「故障モードと出力動作，システムへの影響テーブル」などが格納される。ここでＦＭＥＡは、Ｆａｉｌｕｒｅ　ｍｏｄｅ　ａｎｄ　ｅｆｆｅｃｔ　ａｎａｌｙｓｉｓと呼ばれ、ＦＭＥＡルールは、故障解析手法の１つであり、回路を構成するある部品が故障した場合に、回路全体（システム）に与える影響を調べるものである。同一部品であっても、故障の種類（故障モード）が異なれば、与える影響が異なる場合もある。
【００７０】
安全システムでは、回路設計した後で選択ミスや設計ルール不合格がないかを確認するとともに、もし異常が起きた場合にシステムにどのような影響が起きるか（出力機器がどうなるか）を把握してチェックする必要がある。そのために、ある機器・部品がどういう故障モードや自己診断機能などを持っていて、故障したときに外部にどういう影響を与えるかの情報をデータベース化したのが「故障情報データベース１６である。
【００７１】
そして、係る故障情報データベース１６に格納される「故障モードと出力動作，システムへの影響テーブル」は、機器情報データベース１４に格納された各機器毎に、故障モードとその時の動作（ふるまい）を定義したテーブルである。具体的なデータ構造の一例を示すと、図１９や図２０に示すようなものがある。
【００７２】
なお、図１９，図２０中「等級」は、Ａは「機器が故障を検出可能」，Ｂは「検出不可能だが、累積故障が安全機能を損なわない」，Ｃは「検出不可能だが、単一の故障が直接安全機能を損なわない」，Ｄは「単独の故障が、直接安全機能を損なう」である。
【００７３】
そして、ＭＰＵ１３は、記憶装置２５に格納された作成済みの回路図（回路構成）を読み出し、ＦＭＥＡを実行する。具体的には、図２１，図２２のフローチャートを実行する機能を有する。
【００７４】
まず、機器情報データベース１４並びに故障情報データベース１６を読み込みスタンバイ状態になる（ＳＴ１，ＳＴ２′，ＳＴ３）。ここまでが、データベース読み込みフェーズである。
【００７５】
ついで、記憶装置２５に格納されたチェック対象の回路図を読み込む（ＳＴ２０）。これにより、例えば図１６に示すような回路図が表示される。読み出された回路図が目的のものであれば、ＦＭＥＡ条件の入力処理を行う（ＳＴ２１）。具体的には、例えば図２３に示すようなＦＭＥＡ条件入力画面を、前工程で読み出してきた回路図の上に重ねて表示し、その状態で設計者にＦＥＭＡ条件を入力させればよい。ここで、ＦＥＭＡ条件は、１つの部品が故障した場合の影響を調べる単一故障解析なのか、複数の部品が故障した場合の影響を調べる累積故障解析なのかを選択させ、累積故障解析の場合には、さらに累積する故障の数を入力させるようにする。解析の種別は、何れかをクリックすることにより選択でき、故障の数は具体的な数値を入力することにより行う。
【００７６】
そして、上記した条件入力が完了したならば、その条件に従ってＦＭＥＡを実行する（ＳＴ２８，ＳＴ２９）。このＦＭＥＡの実行処理の一例を示すと、各部品と、その部品についての故障モードに番号を付与し、図２０に示すフローチャートのように、その番号に従って、部品を１番から順に選択し、その選択した部品について用意された故障モードが発生した場合の影響を、故障情報データベース１６から取得した情報に基づいて逐次検証する。つまり、検証中の故障モードの時のその部品の動作をした場合に回路（システム）全体がどのような動作を行い、安全であるか否かなどを判断する。なお、累積モードの場合には、ステップ３３を実行してある部品のある故障モードを特定した後、すぐにＦＭＥＡを実行するのではなく、さらにステップ３２から３８（ステップ３４を除く）と同様の処理を行って別の故障した部品の故障モードを特定する処理を、累積数に応じて所定数繰り返し実行することにより、ある１組の事象を特定し、ＦＭＥＡを実行する。
【００７７】
そして、全ての故障のケースについてＦＭＥＡを実行したならば、その結果を出力する（ＳＴ３０）。実行結果の表示リストの一例を示すと、図２４のようになる。ここで、判定結果がＯＫとは、安全である、つまりフェイルセーフが働き、安全システムが保証されることを意味する。
【００７８】
このように、上記した実施の形態の設計ツールを使用することにより、安全設計技術に対する熟練度の程度にかかわらず、安全カテゴリを入力するとともに、入出力機器を登録することにより、目的とする安全カテゴリを満足する安全回路を設計することができる。また、既に作成済みの回路に対し、所望の安全カテゴリを満足しているか否かのチェックや、ＦＥＭＡによる部品が故障した場合でも安全かなどの故障診断を行うことができる。
【００７９】
【発明の効果】
以上のように、この発明では、安全設計技術に対する熟練度があまり無い設計者であっても、所望の安全度の安全システムを設計することができるとともに、設計者によるばらつきが無く、設計工数の削減と設計品質を得ることができる
【図面の簡単な説明】
【図１】本発明の好適な一実施の形態を示すブロック図である。
【図２】安全カテゴリデータベースに格納される設計ルールの一例を示す図である。
【図３】安全カテゴリデータベースに格納される回路構成で達成される安全カテゴリ情報のデータ構造の一例を示す図である。
【図４】安全カテゴリデータベースに格納される安全カテゴリテーブルのデータ構造の一例を示す図である。
【図５】安全カテゴリデータベースに格納される安全機能テーブルのデータ構造の一例を示す図である。
【図６】安全回路の自動生成機能を示すフローチャートの一部である。
【図７】安全回路の自動生成機能を示すフローチャートの一部である。
【図８】安全回路の自動生成機能を実行中にＣＲＴに表示される画面の一例を示す図である。
【図９】安全回路の自動生成機能を実行中にＣＲＴに表示される画面の一例を示す図である。
【図１０】安全回路の自動生成機能を実行中にＣＲＴに表示される画面の一例を示す図である。
【図１１】安全回路の自動生成機能を実行中にＣＲＴに表示される画面の一例を示す図である。
【図１２】安全回路の自動生成機能を実行中にＣＲＴに表示される画面の一例を示す図である。
【図１３】安全回路の自動生成機能を実行中にＣＲＴに表示される画面の一例を示す図である。
【図１４】安全回路の自動生成機能を実行中にＣＲＴに表示される画面の一例を示す図である。
【図１５】安全回路の自動生成機能を実行中にＣＲＴに表示される画面の一例を示す図である。
【図１６】安全回路の自動生成機能を実行中にＣＲＴに表示される画面の一例を示す図である。
【図１７】安全回路の自動生成機能を実行中にＣＲＴに表示される画面の一例を示す図である。
【図１８】回路チェック機能を示すフローチャートの一部である。
【図１９】故障情報データベースに格納される故障モードと出力動作，システムへの影響テーブルの一例を示す図である。
【図２０】故障情報データベースに格納される故障モードと出力動作，システムへの影響テーブルの一例を示す図である。
【図２１】故障診断機能（ＦＭＥＡ）を示すフローチャートの一部である。
【図２２】故障診断機能（ＦＭＥＡ）を示すフローチャートの一部である。
【図２３】故障診断機能を実行中にＣＲＴに表示される画面の一例を示す図である。
【図２４】故障診断機能を実行して得られたＣＲＴに表示される実行結果画面の一例を示す図である。
【符号の説明】
１０　設計支援ツール
１１　入力インタフェース
１２　出力インタフェース
１３　ＭＰＵ
１４　機器情報データベース
１５　安全カテゴリデータベース
１６　故障情報データベース
２０　キーボード
２１　マウス
２３　ＣＲＴ
２４　プリンタ
２５　記憶装置
【図１】
2004126816.tif 000003
【図２】
2004126816.tif 000004
【図３】
2004126816.tif 000005
【図４】
2004126816.tif 000006
【図５】
2004126816.tif 000007
【図６】
2004126816.tif 000008
【図７】
2004126816.tif 000009
【図８】
2004126816.tif 000010
【図９】
2004126816.tif 000011
【図１０】
2004126816.tif 000012
【図１１】
2004126816.tif 000013
【図１２】
2004126816.tif 000014
【図１３】
2004126816.tif 000015
【図１４】
2004126816.tif 000016
【図１５】
2004126816.tif 000017
【図１６】
2004126816.tif 000018
【図１７】
2004126816.tif 000019
【図１８】
2004126816.tif 000020
【図１９】
2004126816.tif 000021
【図２０】
2004126816.tif 000022
【図２１】
2004126816.tif 000023
【図２２】
2004126816.tif 000024
【図２３】
2004126816.tif 000025
【図２４】
2004126816.tif 000026