(57)【特許請求の範囲】
【請求項１】
安全システムの安全応答時間を要求に従って調整可能なプログラミングツールであって、
ユーザの要求である設定安全応答時間を含む入力情報及び出力情報を処理するユーザ処理受付部と、
前記安全システム内の機器入出力遅延情報と、前記安全システム内のネットワーク通信遅延情報と、前記安全システム内のプログラム実行遅延情報と含む前記安全システム内の遅延情報を管理する遅延管理部と、
前記ユーザ処理受付部と情報の送受信を行い、前記安全応答時間の調整処理を行う安全応答時間調整部と、
前記安全応答時間の計算を行う安全応答時間計算部と、
前記安全応答時間計算部の計算結果が前記設定安全応答時間を超えている場合には、前記遅延管理部から取得した前記機器入出力遅延情報、前記ネットワーク通信遅延情報および前記プログラム実行遅延情報に基づいて、前記計算結果を前記設定安全応答時間以下に変更するための、機器入出力遅延調整方法、プログラム実行遅延調整方法およびプログラム実行遅延調整方法を含む安全応答時間調整方法を提示する安全応答時間調整方法提示部と、
前記提示された安全応答時間調整方法のなかから前記ユーザが選択した安全応答時間調整方法を蓄積するユーザ入力記憶データベースと、を備え、
前記安全応答時間調整方法提示部は、前記ユーザ入力記憶データベースを参照して、前記機器入出力遅延調整方法、プログラム実行遅延調整方法およびプログラム実行遅延調整方法を含む安全応答時間調整方法を、前記ユーザによって選択された頻度の高い調整方法から順に表示画面の上位に表示する
ことを特徴とするプログラミングツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、安全システムに適用されるプログラミングツールに関する。
【背景技術】
【０００２】
安全システムでは、セーフティセンサによって非常停止信号が発信されてから、非常停止指示が出力されて機器が止まるまでの時間である安全応答時間から安全距離が決定される。なお、安全距離とは、人体が検出領域に侵入し、危険区域に到達する前に機器が停止するために必要な最小距離をいう。セーフティセンサから機器までの安全距離により、工場のレイアウトが変更されるため、確保可能な安全距離に応じた安全応答時間を設定する必要がある。ところで、安全応答時間は、通信遅延、プログラムのスキャンタイム、機器の応答時間の合計値を含む。そして、安全距離は、安全応答時間と規格で決められた情報から算出される。
【０００３】
このような安全システムの安全応答時間及び安全距離を算出する従来技術の一例である特許文献１には、「実際のシステムに使用される各機器の仕様等を理解していなくても、安全ネットワークを構築するための各種パラメータを設定できる安全条件設定支援装置を提供すること」を課題とし、「ネットワーク５に接続される安全入力機器６，安全出力機器７を含む安全機器の内部処理時間に関する情報を部品データベース１３ｄに格納」し、「接続される安全機器同士の送信間隔と、安全入力機器から制御対象装置までの安全距離の少なくとも一方と、安全機器間の接続関係を示す接続情報を取得し、その取得した情報と、前記内部処理時間に基づいて安全条件（未入力の条件の決定等）を求める」安全条件設定支援装置及びプログラム製品が開示されている。算出された安全応答時間が要求安全応答時間を超える場合には、通信遅延を減らし、プログラムを修正するといった手段を講じて安全応答時間を調整する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２６３２０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術によれば、安全応答時間が要求された安全応答時間を超えている場合には、仕様書を参照しつつ試行錯誤によって修正する必要がある。そのため、修正作業が煩雑である、という問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、安全応答時間が、要求された設定安全応答時間を超えている場合の修正作業を簡素化可能なプログラミングツールを得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、安全システムの安全応答時間を要求に従って調整可能なプログラミングツールであって、ユーザの要求である設定安全応答時間を含む入力情報及び出力情報を処理するユーザ処理受付部と、前記安全システム内の機器入出力遅延情報と、前記安全システム内のネットワーク通信遅延情報と、前記安全システム内のプログラム実行遅延情報と含む前記安全システム内の遅延情報を管理する遅延管理部と、前記ユーザ処理受付部と情報の送受信を行い、前記安全応答時間の調整処理を行う安全応答時間調整部と、前記安全応答時間の計算を行う安全応答時間計算部と、前記安全応答時間計算部の計算結果が前記設定安全応答時間を超えている場合には、前記遅延管理部から取得した前記機器入出力遅延情報、前記ネットワーク通信遅延情報および前記プログラム実行遅延情報に基づいて、前記計算結果を前記設定安全応答時間以下に変更するための、機器入出力遅延調整方法、プログラム実行遅延調整方法およびプログラム実行遅延調整方法を含む安全応答時間調整方法を提示する安全応答時間調整方法提示部と、前記提示された安全応答時間調整方法のなかから前記ユーザが選択した安全応答時間調整方法を蓄積するユーザ入力記憶データベースと、を備えることを特徴とする。前記安全応答時間調整方法提示部は、前記ユーザ入力記憶データベースを参照して、前記機器入出力遅延調整方法、プログラム実行遅延調整方法およびプログラム実行遅延調整方法を含む安全応答時間調整方法を、前記ユーザによって選択された頻度の高い調整方法から順に表示画面の上位に表示する。
【発明の効果】
【０００８】
本発明によれば、安全応答時間が、要求された設定安全応答時間を超えている場合の修正作業を簡素化可能なプログラミングツールを得ることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るプログラミングツールが適用されるコンピュータを含むハードウェア構成例を示すブロック図
【図２】実施の形態１に係るプログラミングツールが適用されるコンピュータの構成例を示すブロック図
【図３】実施の形態１に係るプログラミングツールの動作例を示すフローチャート
【図４】安全応答時間調整の初期画面例を示す図
【図５】計算された安全応答時間が提示された安全応答時間調整の画面例を示す図
【図６】安全応答時間調整方法提示処理の動作例を示すフローチャート
【図７】安全応答時間調整方法が提示された安全応答時間調整の画面例を示す図
【図８】安全応答時間調整方法を提示する安全応答時間調整中の第１段階の画面例を示す図
【図９】安全応答時間調整方法を提示する安全応答時間調整中の第２段階の画面例を示す図
【図１０】実施の形態２に係るプログラミングツールが適用されるコンピュータの構成例を示すブロック図
【図１１】実施の形態１，２に係るプログラミングツールが適用されるコンピュータのハードウェア構成例を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態に係るプログラミングツールを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、本発明の実施の形態１に係るプログラミングツールが適用されるコンピュータを含む安全システムのハードウェア構成例を示すブロック図である。図１に示す安全システム１０は、本実施の形態１に係るプログラミングツールが適用されるコンピュータ１１と、コンピュータ１１と情報の送受信を行うコントローラ１２と、コントローラ１２と情報の送受信を行う通信機器１３と、通信機器１３と情報の送受信を行う通信機器１４，１６と、通信機器１４に接続されて情報が入力される安全入力機器１５と、通信機器１６に接続されて出力情報が出力される安全出力機器１７とにより構成されている。安全入力機器１５にはセンサを例示することができ、安全出力機器１７にはロボットを例示することができる。安全入力機器１５に入力データが発生すると、通信機器１３，１４を介してコントローラ１２に当該入力データが送信される。入力データを受信したコントローラ１２は、当該入力データに対応したプログラムを実行し、通信機器１３，１６を介して安全出力機器１７に出力データを送信する。安全出力機器１７は、当該出力データに対応した動作を行う。なおコンピュータ１１は、コントローラ１２が実行するプログラムに対する調整又は変更を行うプログラミングツールを含む。
【００１２】
図２は、本実施の形態１に係るプログラミングツールが適用されるコンピュータの構成例を示すブロック図である。このプログラミングツールは、安全システムの安全応答時間を要求に従って調整可能なプログラミングツールである。図２に示すコンピュータ１１は、ユーザの入力操作が行われて入力情報を生成する入力部２２と、ユーザに対して出力情報を表示する表示部２４と、入力部２２及び表示部２４に接続されて、ユーザの要求である設定安全応答時間を含む入力情報及び出力情報を処理するユーザ処理受付部２３と、機器入出力遅延情報を管理する機器入出力遅延管理部２１と、ネットワーク通信遅延情報を管理するネットワーク通信遅延管理部２８と、プログラム実行遅延情報を管理するプログラム実行遅延管理部２９と、ユーザ処理受付部２３と情報の送受信を行い、安全応答時間の調整処理を行う安全応答時間調整部２５と、安全応答時間の計算を行う安全応答時間計算部２６と、安全応答時間計算部２６の計算結果が設定安全応答時間を超えている場合には、計算結果が設定安全応答時間以下になるまで安全応答時間の調整方法を提示する安全応答時間調整方法提示部２７と、を備え、安全応答時間がユーザの要求を満たすように調整を行う。また、機器入出力遅延管理部２１と、ネットワーク通信遅延管理部２８と、プログラム実行遅延管理部２９とをまとめて、遅延管理部３０とする。遅延管理部３０は、安全システム内の各種遅延情報を管理する。なお、図１においては遅延管理部３０は、機器入出力遅延管理部２１と、ネットワーク通信遅延管理部２８と、プログラム実行遅延管理部２９とを備えるが、遅延管理部３０が管理する遅延情報はこれらに限定されず、他の遅延管理部を備えていてもよい。
【００１３】
入力部２２においてユーザによる入力操作が行われると、入力部２２は入力情報を生成し、ユーザ処理受付部２３は、当該入力情報の処理を行う。ユーザ処理受付部２３は、入力部２２からの入力情報及び安全応答時間調整部２５から入力される安全応答時間に従って、出力情報を処理して表示部２４に出力する。安全応答時間調整部２５は、ユーザ処理受付部２３から入力された入力情報に従って安全応答時間の調整処理を行う。安全応答時間計算部２６は、ネットワーク通信遅延管理部２８からネットワークの通信遅延情報を取得し、プログラム実行遅延管理部２９からプログラムの実行遅延情報を取得し、機器入出力遅延管理部２１から機器の入出力遅延情報を取得し、ネットワークの通信遅延情報、プログラムの実行遅延情報及び機器の入出力遅延情報から安全応答時間の計算を行う。安全応答時間調整方法提示部２７は、安全応答時間をユーザの要求する設定安全応答時間に変更するための安全応答時間調整方法を提示する。ネットワーク通信遅延管理部２８は、現在の設定に応じたネットワークの通信遅延情報を管理する。プログラム実行遅延管理部２９は、現在の設定に応じたプログラムの実行遅延情報を保持する。
【００１４】
図３は、本実施の形態１に係るプログラミングツールの動作例を示すフローチャートである。まず、処理をスタートし、ユーザが入力部２２を操作することによって安全応答時間の調整を要求する（Ｓ１１）。当該要求はコンピュータ１１内のユーザ処理受付部２３に送信され、ユーザ処理受付部２３は、安全応答時間調整画面を表示部２４に表示する（Ｓ１２）。
【００１５】
図４は、安全応答時間調整の初期画面例を示す図である。図４に示す安全応答時間調整画面において、ユーザが「設定安全応答時間」と「ｍｓ」との間のテキストボックスに設定安全応答時間を数値入力すると（Ｓ１３）、コンピュータ１１内の安全応答時間計算部２６は安全応答時間を計算してユーザ処理受付部２３に送信し、ユーザ処理受付部２３は計算結果を提示する（Ｓ１４）。
【００１６】
図５は、計算された安全応答時間が提示された安全応答時間調整の画面例を示す図である。図５に示す安全応答時間調整画面では、安全応答時間は「７８ｍｓ」と表示されている。ここで、安全応答時間は、ネットワーク通信遅延情報、プログラム実行遅延情報及び機器入出力遅延情報に各々記載される遅延時間を積算するが、構成によってはこれらの情報の一部を削除し、又は追加してもよい。
【００１７】
次に、コンピュータ１１内のユーザ処理受付部２３は、計算した安全応答時間が、ユーザから要求された設定安全応答時間を超えているか判定する（Ｓ１５）。計算した安全応答時間が設定安全応答時間以下である場合には（Ｓ１５：Ｎｏ）、処理をエンドする。すなわち、ユーザの要求を満たした場合には処理を終了する。計算した安全応答時間が設定安全応答時間を超えている場合には（Ｓ１５：Ｙｅｓ）、安全応答時間調整方法提示部２７は、安全応答時間調整方法提示処理を実行する（Ｓ１６）。ユーザは、提示された安全応答時間調整方法の入力処理を行う（Ｓ１７）。
【００１８】
図６は、安全応答時間調整方法提示処理の動作例を示すフローチャートである。すなわち、安全応答時間調整方法提示部２７の動作を示すフローチャートである。まず、処理をスタートし、安全応答時間調整方法提示部２７は、ネットワーク通信遅延管理部２８からネットワーク通信遅延調整方法を取得し（Ｓ２１）、プログラム実行遅延管理部２９からプログラム実行遅延調整方法を取得し（Ｓ２２）、機器入出力遅延管理部２１から機器入出力遅延調整方法を取得する（Ｓ２３）。その後、各調整方法を用いて設定安全応答時間を安全応答時間として実現するために必要な調整方法を計算し、安全応答時間調整方法をユーザに提示し、処理をエンドする。ネットワーク通信遅延調整方法は、ネットワーク通信遅延を低減することで安全応答時間を小さくする方法である。プログラム実行遅延調整方法は、プログラム実行遅延を低減することで安全応答時間を小さくする方法である。機器入出力遅延調整方法は、機器入出力遅延を低減することで安全応答時間を小さくする方法である。設定安全応答時間を安全応答時間として実現するために必要な調整方法としては、ネットワーク通信遅延を調整することにより設定安全応答時間を安全応答時間として実現する場合には、ネットワーク遅延を小さくするために減らす必要があるスレーブ局の局数を計算してユーザに提示する調整方法を例示することができる。
【００１９】
図７は、安全応答時間調整方法が提示された安全応答時間調整の画面例を示す図である。図７においては、図５と同様に、設定安全応答時間は７０ｍｓと表示され、安全応答時間は７８ｍｓと表示され、ネットワーク通信遅延調整方法として、ネットワークのスレーブ局数を減らすべき旨及び設定安全応答時間を安全応答時間として実現するために減らすべきスレーブ局数が表示され、また、プログラム実行遅延調整方法として、プログラムのステップ方法を減らすべき旨及び設定安全応答時間を安全応答時間として実現するために減らすべきステップ数が表示され、さらには、機器入出力遅延調整方法として、入力遅延の少ない機器に変更するべき旨及び設定安全応答時間を安全応答時間として実現するために変更して接続すべき入力機器の型番が表示されている。図７に示す画面例では、減らすべきスレーブ局数は３局と表示され、減らすべきステップ数は４２ステップと表示され、接続すべき入力機器の型番は型番Ａと表示されている。なお、この画面例では、安全応答時間調整方法として、ネットワーク通信遅延調整方法、プログラム実行遅延調整方法及び機器入出力遅延調整方法を提示しているが、本発明はこれらに限定されるものではなく、他の遅延調整方法が提示されていてもよい。
【００２０】
Ｓ１７において、ユーザは、図７に示すように提示された安全応答時間調整方法に従って入力処理を行う。ここで、減らすべきスレーブ局数は３局と表示されているが、ユーザが入力するスレーブ局数はこれに限定されず、減らすスレーブ局数は１局と入力してもよいし、２局としてもよいし、３局以上としてもよい。すなわち、減らすべきスレーブ局数は限定されるものではない。入力内容に応じて安全応答時間計算部２６が再計算を行って変更された安全応答時間を提示する（Ｓ１４）。
【００２１】
図８は、安全応答時間調整方法を提示する安全応答時間調整中の第１段階の画面例を示す図である。図８において、減らすスレーブ局数はユーザによって１局と入力され、この入力操作により安全応答時間計算部２６において再計算が行われ、安全応答時間は図５における７８ｍｓから７５ｍｓに減じている。しかしながら、安全応答時間７５ｍｓは設定安全応答時間７０ｍｓを超えているため、Ｓ１５の判定においてＹｅｓに分岐し、再度、安全応答時間調整方法提示処理を実行する（Ｓ１６）。
【００２２】
図９は、安全応答時間調整方法を提示する安全応答時間調整中の第２段階の画面例を示す図である。図９においては、図８において減らすスレーブ局数が１局と入力された後に、減らすべきステップ数がユーザによって３０ステップと入力され、この入力操作により安全応答時間計算部２６において再計算が行われ、安全応答時間は図８における７５ｍｓから７０ｍｓに減じている。ここで、安全応答時間は設定安全応答時間以下であるため、Ｓ１５の判定においてＮｏに分岐し、処理をエンドする。
【００２３】
本実施の形態においては、図８，９に示すように、安全応答時間調整方法提示部２７は、安全応答時間が設定安全応答時間以下となるまで安全応答時間調整方法を繰り返し提示し続けるように動作する。なお、図７，８，９に示す画面例は、安全応答時間調整方法提示部２７によって作成処理が行われることを注記する。
【００２４】
従来のプログラミングツールにおいて安全応答時間を調整する際には、システム開発者が仕様書を参照しつつ調査及び検討して修正方法を確認していたが、本実施の形態にて説明したように、対話型の調整画面を表示させて処理を行うことで、安全応答時間を調整する際の、調査及び検討の工数を削減可能であり、調整作業を簡素化できる。
【００２５】
なお、図４，５，７，８，９に示すように、本実施の形態の画面例の右上には、「閉じるボタン」が示されている。本実施の形態においては、安全応答時間調整方法提示部２７は、安全応答時間が設定安全応答時間以下となるまで繰り返し安全応答時間調整方法を提示し続けるので、作業途中にて安全応答時間調整処理をキャンセルしたい場合には、当該「閉じるボタン」によって画面を閉じればよい。
【００２６】
実施の形態２．
本実施の形態２においては、実施の形態１とは異なるコンピュータ１１ａを用いる形態を説明する。なお、本実施の形態２に係るプログラミングツールのハードウェア構成は図１と同様であり、コンピュータ１１に代えてコンピュータ１１ａを有する点が異なる。
【００２７】
図１０は、本実施の形態２に係るプログラミングツールが適用されるコンピュータの構成の一例を示すブロック図である。すなわち、図１０はコンピュータ１１ａの構成を示すブロック図である。図１０に示すコンピュータ１１ａは、図２に示すコンピュータ１１に、データベースであるユーザ入力記憶ＤＢ３１が追加され、安全応答時間調整方法提示部２７に代えて安全応答時間調整方法提示部２７ａを備える構成である。本実施の形態においては、図３のＳ１７における入力処理に際して、安全応答時間調整方法提示部２７ａは、入力結果である入力された調整方法の情報をユーザ入力記憶ＤＢ３１に蓄積する。ここで、入力された調整方法の情報は、ユーザ情報と関連付けて保存されることが好ましい。そして、その後に安全応答時間調整方法提示部２７ａが安全応答時間調整方法を提示する際には、ユーザ入力記憶ＤＢ３１に蓄積された情報を参照して、入力された頻度の高い調整方法から順に表示画面の上位に表示する。ユーザ入力記憶ＤＢ３１は、情報を蓄積していくため不揮発性メモリにより実現する。
【００２８】
本実施の形態２によれば、ユーザが入力する頻度の高い調整方法が上位に表示されるため、作業性を向上させることができる。
【００２９】
なお、以上説明した実施の形態１，２において、コンピュータ１１，１１ａは、少なくともプロセッサとメモリを備え、ユーザ処理受付部２３、安全応答時間調整部２５、安全応答時間計算部２６、安全応答時間調整方法提示部２７，２７ａ及び遅延管理部３０の動作はソフトウェアにより実現することができる。図１１は、これらの各装置を実現するハードウェアの一般的な構成を示す図である。図１１に示す装置は、プロセッサ４０及びメモリ４１を備え、プロセッサ４０は入力されたデータを用いてソフトウェアによる演算及び制御を行い、メモリ４１は入力されたデータ又はプロセッサ４０が演算及び制御を行うに際して必要なデータの記憶を行う。なお、プロセッサ４０及びメモリ４１は各々複数設けられていてもよい。
【００３０】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００３１】
１０  安全システム、１１，１１ａ  コンピュータ、１２  コントローラ、１３，１４，１６  通信機器、１５  安全入力機器、１７  安全出力機器、２１  機器入出力遅延管理部、２２  入力部、２３  ユーザ処理受付部、２４  表示部、２５  安全応答時間調整部、２６  安全応答時間計算部、２７，２７ａ  安全応答時間調整方法提示部、２８  ネットワーク通信遅延管理部、２９  プログラム実行遅延管理部、３０  遅延管理部、３１  ユーザ入力記憶ＤＢ、４０  プロセッサ、４１  メモリ。
【図１】
0006482419.tif 000002
【図２】
0006482419.tif 000003
【図３】
0006482419.tif 000004
【図４】
0006482419.tif 000005
【図５】
0006482419.tif 000006
【図６】
0006482419.tif 000007
【図７】
0006482419.tif 000008
【図８】
0006482419.tif 000009
【図９】
0006482419.tif 000010
【図１０】
0006482419.tif 000011
【図１１】
0006482419.tif 000012