JP2018151867A - 情報処理装置、情報処理方法、および情報処理プログラム - Google Patents

情報処理装置、情報処理方法、および情報処理プログラム Download PDF

Info

Publication number
JP2018151867A
JP2018151867A JP2017047659A JP2017047659A JP2018151867A JP 2018151867 A JP2018151867 A JP 2018151867A JP 2017047659 A JP2017047659 A JP 2017047659A JP 2017047659 A JP2017047659 A JP 2017047659A JP 2018151867 A JP2018151867 A JP 2018151867A
Authority
JP
Japan
Prior art keywords
function block
safety
information processing
error
program
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.)
Granted
Application number
JP2017047659A
Other languages
English (en)
Other versions
JP7005914B2 (ja
Inventor
亮輔 藤村
Ryosuke Fujimura
亮輔 藤村
伸行 田熊
Nobuyuki Taguma
伸行 田熊
拓 菅沼
Hiroshi Suganuma
拓 菅沼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2017047659A priority Critical patent/JP7005914B2/ja
Publication of JP2018151867A publication Critical patent/JP2018151867A/ja
Priority to JP2021204827A priority patent/JP7287445B2/ja
Application granted granted Critical
Publication of JP7005914B2 publication Critical patent/JP7005914B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)

Abstract

【課題】安全プログラムのシミュレーション時における手間を軽減することができる情報処理装置を提供する。【解決手段】情報処理装置は、予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に安全プログラムを生成するための生成部を備える。ファンクションブロック257は、入力信号を受けるための入力部270と、入力信号が変化したことに基づいて、対象機器の動作状態を変化させる制御信号を出力するための出力部272と、対象機器の動作状態を示すフィードバック信号を受けるための入力部274と、制御信号が変化してから所定時間が経過するまでの間においてフィードバック信号が変化しない場合に、エラーを出力するための出力部276とを有する。情報処理装置は、安全プログラムにファンクションブロック257が含まれているときに、出力部276によるエラーの出力を無効にする。【選択図】図5

Description

本開示は、安全プログラムの動作をシミュレーションするための技術に関する。
多くの製造現場で使用される機械を安全に使用するためには、国際規格に従う安全機器(安全コンポーネント)を使用しなければならばない。この安全機器は、ロボットなどの自動的に動く装置によって人の安全が脅かされることの防止を目的としている。このような安全機器は、安全プログラムを実行する安全コントローラをはじめとして、人の存在や侵入を検知する検知機器、非常時の操作を受付ける入力機器、実際に機器を停止させる出力機器などを含む。
製造現場での安全を確保する技術の一つとして、たとえば、特開2014−137621号公報(特許文献1)は、安全コントローラのユーザプログラムの設計を容易にすることが可能な安全コントローラのユーザプログラムの設計を支援する方法を開示する。
特開2014−137621号公報(特許文献1)は、安全コントローラと安全I/Oターミナルとがバス型ネットワークを介して接続され、安全コントローラでは、安全I/Oターミナルに接続される安全入力機器からの入力信号に基づいて、安全I/Oターミナルに接続される安全出力機器に対して安全動作を行うための指令を出力する構成を開示する。
特開2014−137621号公報
安全プログラムは、予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に生成される。安全プログラムは、安全機器からの入力信号に基づいて、対象機器を制御する。ファンクションブロックの1つとして、EDM(External Device Monitoring)ファンクションブロックがある。EDMファンクションブロックは、ロボットのモータなどの対象機器が意図した通りに動作しているか否かを監視するための機能モジュールである。EDMファンクションブロックは、対象機器の動作状態を示すフィードバック信号の入力を受けて、対象機器が意図した通りに動作しているか否かを判断する。対象機器が意図した通りに動作していないと判断した場合には、EDMファンクションブロックは、エラーを出力し、対象機器を強制的に停止させる。
安全コントローラで実行される安全プログラムは、意図する通りに動作する必要がある。そのため、設計者は、安全コントローラで安全プログラムを実行する前に、PC(Personal Computer)などの情報処理装置上で、作成した安全プログラムの動作をシミュレーションする。設計者は、安全プログラムが正常に動作していることをシミュレーション上で確認し、その後、安全プログラムを安全コントローラに送信する。
シミュレーションでは、対象機器が接続されていないため、フィードバック信号が対象機器から得られない。そのため、EDMファンクションブロックが安全プログラムに含まれている場合には、安全プログラムのシミュレーション時にエラーが出力されてしまう。このエラーを回避するために、設計者は、シミュレーション時においてはEDMファンクションブロックを敢えて削除している。したがって、安全プログラムのシミュレーション時における手間を軽減することが可能な技術が望まれている。
ある局面に従うと、予め定められた条件が成立すると安全が保たれるように対象機器を動作させる安全プログラムの評価を行うための情報処理装置は、予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に上記安全プログラムを生成するための生成部を備える。上記複数種類のファンクションブロックは、上記対象機器の動作を監視するための監視ファンクションブロックを含む。上記監視ファンクションブロックは、第1入力信号を受けるための第1入力部と、上記第1入力信号が変化したことに基づいて、上記対象機器の動作状態を変化させる制御信号を出力するための第1出力部と、上記対象機器の動作状態を示す第2入力信号を受けるための第2入力部と、上記制御信号が変化してから所定時間が経過するまでの間において上記第2入力信号が変化しない場合に、エラーを出力するための第2出力部とを有する。上記情報処理装置は、上記安全プログラムの動作をシミュレーションするための実行部をさらに備える。上記実行部は、上記安全プログラムの生成元のファンクションブロックに上記監視ファンクションブロックが含まれているときに、上記第2出力部による上記エラーの出力を無効にする。
好ましくは、上記情報処理装置は、上記対象機器の動作状態を模擬的に表した模擬信号を生成するためのエミュレータをさらに備える。上記実行部による上記安全プログラムの実行モードは、第1シミュレーションモードと、第2シミュレーションモードとを含む。上記実行部は、上記実行モードが上記第1シミュレーションモードである場合、上記第2出力部による上記エラーの出力を無効にし、上記実行モードが上記第2シミュレーションモードである場合、上記模擬信号を上記第2入力部に入力する。
好ましくは、上記実行部は、上記実行モードが上記第2シミュレーションモードである場合、上記制御信号が変化してから上記所定時間が経過するまでの間に上記模擬信号を変化させる。
好ましくは、上記実行部は、上記安全プログラムの生成元のファンクションブロックに上記監視ファンクションブロックが複数含まれている場合に、当該複数の監視ファンクションブロックのすべてについて上記エラーの出力を無効にする。
好ましくは、上記情報処理装置は、上記安全プログラムを設計するためのユーザインターフェイスを提供する提供部と、上記複数種類のファンクションブロックの任意のファンクションブロックを上記ユーザインターフェイスに配置する操作を受けるための操作受付部とをさらに備える。上記ユーザインターフェイスは、当該ユーザインターフェイスに上記監視ファンクションブロックが含まれている場合において、上記エラーの出力が無効に設定されているときに、上記エラーの出力が無効であることを示す予め定められた態様で上記監視ファンクションブロックを表示する。
好ましくは、上記態様で上記監視ファンクションブロックを表示することは、上記ユーザインターフェイスにおいて上記監視ファンクションブロックを他のファンクションブロックとは異なる態様で表示することを含む。
他の局面に従うと、予め定められた条件が成立すると安全が保たれるように対象機器を動作させる安全プログラムを評価するための情報処理方法は、予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に上記安全プログラムを生成するステップを備える。上記複数種類のファンクションブロックは、上記対象機器の動作を監視するための監視ファンクションブロックを含む。上記監視ファンクションブロックによって実行される処理は、第1入力信号を受けるステップと、上記第1入力信号が変化したことに基づいて、上記対象機器の動作状態を変化させる制御信号を出力するステップと、上記対象機器の動作状態を示す第2入力信号を受けるステップと、上記制御信号が変化してから所定時間が経過するまでの間において上記第2入力信号が変化しない場合に、エラーを出力するステップとを有する。上記情報処理方法は、上記安全プログラムの動作をシミュレーションするステップをさらに備える。上記シミュレーションするステップは、上記安全プログラムの生成元のファンクションブロックに上記監視ファンクションブロックが含まれているときに、上記エラーを出力するステップにおける上記エラーの出力を無効にするステップを含む。
他の局面に従うと、予め定められた条件が成立すると安全が保たれるように対象機器を動作させる安全プログラムを評価するための情報処理プログラムは、コンピュータに、予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に上記安全プログラムを生成するステップを実行させる。上記複数種類のファンクションブロックは、上記対象機器の動作を監視するための監視ファンクションブロックを含む。上記監視ファンクションブロックによって実行される処理は、第1入力信号を受けるステップと、上記第1入力信号が変化したことに基づいて、上記対象機器の動作状態を変化させる制御信号を出力するステップと、上記対象機器の動作状態を示す第2入力信号を受けるステップと、上記制御信号が変化してから所定時間が経過するまでの間において上記第2入力信号が変化しない場合に、エラーを出力するステップとを有する。上記情報処理プログラムは、コンピュータに、さらに、上記安全プログラムの動作をシミュレーションするステップをさらに実行させる。上記シミュレーションするステップは、上記安全プログラムの生成元のファンクションブロックに上記監視ファンクションブロックが含まれているときに、上記エラーを出力するステップにおける上記エラーの出力を無効にするステップを含む。
ある局面において、安全プログラムのシミュレーション時における手間を軽減することができる。
実施の形態に従う安全システムの概略構成の一例を示す模式図である。 実施の形態に従う安全コントローラの装置構成の一例を示す模式図である。 実施の形態に従う情報処理装置の装置構成の一例を示す模式図である。 実施の形態に従う安全プログラムの設計画面の一例であるユーザインターフェイスを示す図である。 EDMファンクションブロックの一例であるファンクションブロックを示す図である。 実施の形態に従う情報処理装置の機能構成の一例を示す図である。 EDMエラーの出力の無効化時におけるEDMファンクションブロックの表示態様の一例を示す図である。 模擬信号がEDMファンクションブロックであるファンクションブロックに出力されている様子を示す図である。 模擬信号の生成ルールを設定するための設定画面を示す図である。 ディスプレイに表示されているシミュレーション結果画面を示す図である。 第1シミュレーションモードで安全プログラムを実行したときの信号状態を示す図である。 実機モードで安全プログラムを実行したときの信号状態を示す図である。 シミュレーション時における安全プログラムの実行フローを示す図である。
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
<A.安全システム1の概要>
まず、本実施の形態に従う安全システム1の構成について説明する。図1は、本実施の形態に従う安全システム1の概略構成の一例を示す模式図である。
図1を参照して、安全システム1は、主として、設備や機械などを制御する制御装置300と、安全コントローラ100とを含む。
制御装置300は、典型的には、PLC(プログラマブルコントローラ)などで構成され、制御対象から取得された入力データに関して、予め定められたユーザプログラムを実行し、それによって算出される出力データに応じて制御対象に指令を与える。図1に示す制御対象として、モータ10およびモータ10を駆動するドライバ12を例示する。制御装置300は、ユーザプログラムに従って、ある駆動開始条件が成立するとモータ10を回転駆動させるために、ドライバ12に駆動指令を出力する。また、ある駆動停止条件が成立するとモータ10の回転駆動を停止させるために、ドライバ12への駆動指令の出力を停止する。
このような制御装置300での制御対象の制御に加えて、典型的には、制御対象に関連する作業者などの安全を確保するなどのために、安全コントローラ100がさらに配置される。安全コントローラ100は、セーフティ入力コンポーネント(セーフティセンサ、セーフティドアスイッチ、セーフティリミットスイッチ、非常停止スイッチ、セーフティスイッチなど)からの入力信号などの関連付けられる、予め定められた条件(安全条件)が成立すると、安全動作を遂行する。
図1に示す例では、ドライバ12への電力供給ライン上にセーフティリレー14が配置されている。セーフティリレー14は、たとえば、電路の遮断するためのコンタクタである。また、モータ10により駆動される装置の周辺に危険エリアが設定されており、その危険エリアの周辺に安全機器16が配置されている。安全機器16は、たとえば、人の存在や侵入を検知する検知機器、非常時の操作を受付ける入力機器、実際に機器を停止させる出力機器などを含む。セーフティリレー14は、安全機器16からの入力信号を受けることで駆動する。
一例として、非常停止スイッチとしての安全機器16が作業者による非常停止操作を受けると、安全コントローラ100は、非常停止スイッチからの停止信号に応答して、セーフティリレー14に制御信号を出力する。セーフティリレー14は、安全コントローラ100からの制御信号に応答して動作し、モータ10を駆動するドライバ12への電力供給を遮断する。その結果、モータ10が強制的に停止される。このようなモータ10の強制的な停止によって、作業者の安全を確保することができる。
他の例として、セーフティセンサとしての安全機器16は、作業者が危険エリアへ進入したことを検知する。作業者が危険エリアへ進入すると、セーフティセンサによりその作業者の進入が検知される。安全コントローラ100は、セーフティセンサからの検知信号に応答して、セーフティリレー14に制御信号を出力する。セーフティリレー14は、安全コントローラ100からの制御信号に応答して動作し、モータ10を駆動するドライバ12への電力供給を遮断する。その結果、モータ10が強制的に停止される。このようなモータ10の強制的な停止によって、危険エリアへ進入した作業者の安全を確保することができる。
図1に示す構成例においては、安全コントローラ100および制御装置300は、制御系ネットワーク20を介して接続されており、互いが内部的に保持するデータを遣り取りすることができる。また、安全コントローラ100および制御装置300は、情報系ネットワーク22を介して、情報処理装置200と接続されている。
情報処理装置200は、安全コントローラ100または制御装置300で実行されるプログラムの開発、プログラムの実行状態の確認、プログラムの変更などの機能を提供するためのサポートツールである。情報処理装置200は、たとえば、PC(Personal Computer)、タブレット端末、スマートフォン、または、その他の通信端末である。
<B.装置構成>
次に、本実施の形態に従う安全システム1を構成する各装置の装置構成について説明する。
(b1:安全コントローラ100)
図2は、本実施の形態に従う安全コントローラ100の装置構成の一例を示す模式図である。図2を参照して、安全コントローラ100は、プロセッサ102と、主メモリ104と、フラッシュメモリ106とを含む演算処理部108、および、各種インターフェイスからなる。
演算処理部108において、プロセッサ102は、フラッシュメモリ106に格納されているシステムプログラムおよび安全プログラムなどを主メモリ104に展開して実行することで、制御対象に応じた機能安全を実現する。
本明細書において、「安全プログラム」は、予め定められた条件(安全条件)が成立すると対象機器を安全が保たれるように動作させるためのプログラムであり、安全コントローラの処理を定義する命令群を意味する。より具体的には、安全プログラムは、1または複数の入力信号に対して、1または複数の出力信号の値を決定するための命令の組み合わせを含む。
安全プログラムは、安全コントローラの処理を定義するものであれば、どのような実体であってもよい。すなわち、安全プログラムは、1または複数のソースコードとして存在してもよいし、1または複数のオブジェクトコードとして存在してもよいし、安全コントローラのプロセッサで実行可能な形式(実行形式)であってもよい。
また、安全プログラムは、ファンクションブロックダイアグラム(FBD:Function Block Diagram)を用いて記述されていてもよい。あるいは、ラダーダイアグラム(LD:Ladder Diagram)、命令リスト(IL:Instruction List)、構造化テキスト(ST:Structured Text)、および、シーケンシャルファンクションチャート(SFC:Sequential Function Chart)のいずれか、あるいは、これらの組み合わせで記述されてもよい。あるいは、JavaScript(登録商標)やC言語のような汎用的なプログラミング言語で記述されていてもよい。
以下の説明では、変数プログラムとして記述された安全プログラムについて例示する。そのため、実際に安全コントローラと安全コンポーネントなどとの間で遣り取りされる信号(典型的には、入力信号および出力信号)を安全プログラム内では、それぞれ「変数」として取り扱うことになる。これらの現実の信号と安全プログラム内の対応する変数とは本質的に同じものであるため、以下の説明では、これらを「信号」と総称することもある。すなわち、本明細書において、「信号」は、現実に遣り取りされる電気信号に加えて、安全コントローラ上でその電気信号に割り当てられた値を参照する変数を含み得る。
安全コントローラ100は、インターフェイスとして、制御系ネットワークインターフェイス110と、情報系ネットワークインターフェイス112と、フィールドバスインターフェイス114と、メモリカードインターフェイス116と、ローカル通信インターフェイス120と、内部バスインターフェイス122とを含む。
制御系ネットワークインターフェイス110は、制御系ネットワーク20を介して他の装置との通信を仲介する。制御系ネットワーク20としては、たとえば、EtherCAT(登録商標)などの定時性が保証されるネットワークプロトコルが好ましい。
情報系ネットワークインターフェイス112は、情報系ネットワーク22を介して他の装置との通信を仲介する。情報系ネットワーク22としては、たとえば、EtherNet/IP(登録商標)などの定時性が保証されるネットワークプロトコルが好ましい。
フィールドバスインターフェイス114は、図示しないフィールドバスを介して接続される入出力ユニットとの通信を仲介する。フィールドバスとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などの定時性が保証されるネットワークプロトコルが好ましい。
メモリカードインターフェイス116は、メモリカード118を装着可能に構成されており、メモリカード118からのデータ読出しおよびメモリカード118へのデータ書込みを行う。
ローカル通信インターフェイス120は、情報処理装置200または他の装置と直接接続するインターフェイスであり、たとえば、USB(Universal Serial Bus)などが用いられる。
内部バスインターフェイス122は、内部バスを介して安全コントローラ100に直接装着される入出力ユニットとの間の通信を仲介する。
(b2:情報処理装置200)
本実施の形態に従う情報処理装置200は、典型的には、汎用コンピュータ上でサポートプログラムが実行されることで実現される。
図3は、本実施の形態に従う情報処理装置200の装置構成の一例を示す模式図である。図3を参照して、情報処理装置200は、主たるコンポーネントとして、オペレーティングシステム(OS:Operating System)および後述するような各種プログラムを実行するプロセッサ202と、プロセッサ202でのプログラム実行に必要なデータを格納するための作業領域を提供する主メモリ204と、キーボードやマウスなどのユーザ操作を受付ける操作ユニット206(操作受付部)と、ディスプレイ、各種インジケータ、プリンタなどの処理結果を出力する出力ユニット208と、情報系ネットワークに接続される情報系ネットワークインターフェイス210と、光学ドライブ212と、安全コントローラ100などと通信するローカル通信インターフェイス216と、補助記憶装置220とを含む。これらのコンポーネントは、内部バス218などを介してデータ通信可能に接続される。
情報処理装置200は、光学ドライブ212を有しており、コンピュータ読取可能なプログラムを非一過的に格納する光学記録媒体(たとえば、DVD(Digital Versatile Disc)など)のコンピュータ読取可能な記録媒体214から、各種プログラムを読取って補助記憶装置220などにインストールする。
情報処理装置200で実行される各種プログラムは、コンピュータ読取可能な記録媒体214を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従う機能安全の評価に係るプログラムは、OSが提供するモジュールの一部を利用する形で実現される場合もある。
補助記憶装置220は、たとえば、HDD(Hard Disk Drive)やSSD(Flash Solid State Drive)などで構成され、プロセッサ202で実行されるプログラムを格納する。具体的には、補助記憶装置220は、後述するような処理を提供するプログラムとして、安全プログラム228(ソースプログラム)からプロセッサ202で実行可能なコード(実行モジュール)を生成する実行プログラム222と、予め用意されている複数のファンクションブロック224とを含む。補助記憶装置220には、安全プログラム228に関連付けられた各種設定226が格納される。
図3には、汎用コンピュータ上でサポートプログラムを実行することで、本実施の形態に従う情報処理装置200に係る機能を実現するが、このような構成に代えて、その全部または一部をハードワイヤード回路で実装してもよい。たとえば、プロセッサ202が上述の各種プログラムを実行することで提供される機能をASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)を用いて実装してもよい。
(b3:制御装置300)
本実施の形態に従う制御装置300は、図2に示す安全コントローラ100と同様の装置構成を有しているので、詳細な説明は繰り返さない。なお、安全コントローラ100は、プロセッサなどの二重化やセーフティ用のモジュールが採用されているが、一般的には、制御装置300にはそのような構成は採用されていない。また、制御装置300では、上述の安全プログラムではなく、ユーザプログラムが実行される。
<C.安全プログラムの設計ツール>
次に、安全プログラムの設計ツールについて説明する。当該設計ツールは、情報処理装置200によって予めインストールされているアプリケーションによって提供される。当該アプリケーションが起動されると、安全プログラムの設計画面が情報処理装置200に表示される。図4は、安全プログラムの設計画面の一例であるユーザインターフェイス250を示す図である。
ユーザインターフェイス250は、たとえば、上述の出力ユニット208(図3参照)に表示される。設計者は、ユーザインターフェイス250上で任意のファンクションブロックを組み合わせることで任意の安全プログラムを設計することができる。より具体的には、設計者は、予め用意されている複数種類のファンクションブロックの内から任意のファンクションブロックをユーザインターフェイス250に配置し、配置した各ファンクションブロック間の入出力関係を規定する。このような操作は、たとえば、上述の操作ユニット206(図3参照)に対して行われる。
図4の例では、ファンクションブロック251がユーザインターフェイス250上に配置されている。ファンクションブロック251は、安全機器16(図1参照)の一例である非常停止スイッチの動作状態を監視するための機能モジュールである。図4の例では、非常停止スイッチの接点は、安全性を確保するために二重化されている。非常停止スイッチは、押下されると、押下状態を維持し、解除操作(たとえば、回転操作など)が行われると押下状態を解除する。非常停止スイッチが押下されると、非常停止スイッチに割り当てられている変数VA1,VA2が変化する。非常停止スイッチは、押下時には非導通状態になり、非押下時(解除時)には導通状態となる(所謂「b接点」)。すなわち、非常停止スイッチの押下時には変数VA1,VA2が共に「0」(FALSE)となり、非常停止スイッチの非押下時には変数VA1,VA2が共に「1」(TRUE)となる。
変数VA1,VA2が「0」(FALSE)である場合、ファンクションブロック251は、「0」(FALSE)を示す信号SG1を出力する。変数VA1,VA2が「1」(TRUE)である場合、ファンクションブロック251は、「1」(TRUE)を示す信号SG1を出力する。
ファンクションブロック255は、安全機器16(図1参照)の一例であるリセットボタンの状態を監視するための機能モジュールである。リセットボタンが押下されると、リセットボタンに割り当てられている変数VA3が変化する。リセットボタンは、押下時には導通状態になり、非押下時には非導通状態となる(所謂「a接点」)。すなわち、リセットボタンの押下時には変数VA3が「1」(TRUE)となり、リセットボタンの非押下時には変数VA3が「0」(FALSE)となる。
ファンクションブロック255は、非常停止スイッチが押下された場合(すなわち、信号SG1の値が「0」(FALSE)である場合)、信号SG5の値を「1」(TRUE)から「0」(FALSE)に変化させる。ファンクションブロック255は、非常停止スイッチの押下が解除された状態でリセットボタンが押下された場合(信号SG1および変数VA3の値が「1」(TRUE)である場合)、信号SG5の値を「0」(FALSE)から「1」(TRUE)に変化させる。
ファンクションブロック257は、EDMファンクションブロックであり、セーフティリレー14(図1参照)などの対象機器の動作を監視するための機能モジュールである。信号SG5の値が「0」(FALSE)を示す場合、ファンクションブロック257は、セーフティリレー14の一例であるコンタクタをオフ状態にする。すなわち、コンタクタへの制御信号SG6を「0」(FALSE)に設定する。これにより、モータ10(図1参照)が強制的に停止される。信号SG5の値が「1」(TRUE)を示す場合、ファンクションブロック257は、コンタクタをオン状態する。すなわち、コンタクタへの制御信号SG6を「1」(TRUE)に設定する。これにより、モータ10(図1参照)の駆動が開始される。
コンタクタの接点が溶着した場合には、コンタクタは正常に動作しない。この場合、非常停止スイッチからの停止信号がコンタクタに出力さているにも関わらず、モータ10の動作は停止しない。このことを防止するために、ファンクションブロック257は、コンタクタの接点の状態を示すフィードバック信号SG7に基づいて、コンタクタが正常に動作しているか否かを監視する。
より具体的には、コンタクタは、通常時には導通状態(オン状態)を維持し、緊急停止時には非導通状態(オフ状態)を維持する(所謂「b接点」)。コンタクタの状態は、フィードバック信号SG7に反映される。コンタクタの状態が導通状態である場合、フィードバック信号SG7の値は「0」(FALSE)となる。コンタクタの状態が非導通状態である場合、フィードバック信号SG7の値は「1」(TRUE)となる。ファンクションブロック257は、制御信号SG6の値を変化させてから所定時間が経過するまでの間に、フィードバック信号SG7の値が変化しない場合に、コンタクタが正常に動作していないと判断する。
より具体的には、ファンクションブロック257は、制御信号SG6の値を「0」(FALSE)から「1」(TRUE)に変化させてから所定時間が経過するまでの間に、フィードバック信号SG7の値が「1」(TRUE)から「0」(FALSE)に変化した場合、コンタクタが正常に動作していると判断する。一方で、フィードバック信号SG7が当該所定時間の間に変化しない場合、ファンクションブロック257は、コンタクタが正常に動作していないと判断する。
同様に、ファンクションブロック257は、制御信号SG6の値を「1」(TRUE)から「0」(FALSE)に変化させてから所定時間が経過するまでの間に、フィードバック信号SG7の値が「0」(FALSE)から「1」(TRUE)に変化した場合、コンタクタが正常に動作していると判断する。一方で、フィードバック信号SG7が当該所定時間の間に変化しない場合、ファンクションブロック257は、コンタクタが正常に動作していないと判断する。
ファンクションブロック257は、セーフティリレー14(図1参照)などの対象機器が正常に動作していないと判断した場合、エラー(以下、「EDMエラー」ともいう。)を出力する。設計者は、EDMエラーをトリガー(入力)として緊急停止を行うための処理を安全プログラムにさらに規定することもできる。
<D.EDMエラーの無効化>
設計者は、設計した安全プログラムを安全コントローラに設定する前に、情報処理装置200上で安全プログラムの動作をシミュレーションする。設計者は、安全プログラムが意図した通りに動作していることを確認した後、安全プログラムを安全コントローラに設定する。
図4で説明したように、EDMファンクションブロックは、対象機器の動作状態を表わすフィードバック信号を監視することで、対象機器が正常に動作しているか否かを判断する。しかしながら、安全プログラムのシミュレーション段階では、対象機器が接続されていないため、対象機器からのフィードバック信号が取得され得ない。そのため、EDMファンクションブロックが含まれている状態でシミュレーションが実行されると、EDMエラーが出力されてしまう。そこで、情報処理装置200は、安全プログラムにEDMファンクションブロックが含まれる場合には、EDMエラーの出力を無効にする。
図5を参照して、EDMエラーの無効化処理について説明する。図5は、EDMファンクションブロックの一例であるファンクションブロック257を示す図である。
ファンクションブロック257は、入力部270,274と、出力部272,276とを含む。
入力部270(第1入力部)は、セーフティリレー14(図1参照)などの対象機器の状態を表わす入力信号(第1入力信号)を受ける。当該入力信号は、図4に示される信号SG5に相当する。
出力部272(第1出力部)は、信号SG5の値に基づいて、対象機器に制御信号を出力する。すなわち、出力部272は、信号SG5が変化したことに基づいて、対象機器の動作状態を変化させるための制御信号を出力する。一例として、出力部272は、信号SG5の値が「1」(TRUE)から「0」(FALSE)に変化した場合、制御信号として緊急停止指令を対象機器に出力する。一方で、出力部272は、信号SG5の値が「0」(FALSE)から「1」(TRUE)に変化した場合、制御信号として駆動開始指令を対象機器に出力する。
入力部274(第2入力部)は、対象機器の動作状態を示すフィードバック信号(第2入力信号)を受ける。すなわち、フィードバック信号は、対象機器の動作状態と連動して変化する。
出力部276(第2出力部)は、対象機器への制御信号が出力されてから所定時間が経過するまでの間においてフィードバック信号が変化しない場合、EDMエラーを出力する。より具体的には、信号SG5の値が「0」(FALSE)から「1」(TRUE)に変化してから所定時間が経過するまでの間に、フィードバック信号SG7の値が「1」(TRUE)から「0」(FALSE)に変化しない場合、出力部276(第2出力部)は、EDMエラーを出力する。そうでない場合には、出力部276は、正常状態を示す信号を出力する。同様に、信号SG5の値が「1」(TRUE)から「0」(FALSE)に変化してから所定時間が経過するまでの間に、フィードバック信号SG7の値が「0」(FALSE)から「1」(TRUE)に変化しない場合、出力部276は、EDMエラーを出力する。そうでない場合には、出力部276は、正常状態を示す信号を出力する。
情報処理装置200は、安全プログラムの動作をシミュレーションする場合であって、安全プログラムの生成元のファンクションブロックにEDMファンクションブロック(監視ファンクションブロック)が含まれているときに、出力部276によるEDMエラーの出力を無効にする。これにより、設計者は、シミュレーション時においてEDMファンクションブロックを削除するなどの余計な操作を行う必要がなくなり、安全プログラムの設計効率が改善される。
好ましくは、情報処理装置200は、安全プログラムの生成元のファンクションブロックにEDMファンクションブロックが複数含まれている場合に、当該複数のEDMファンクションブロックのすべてについてEDMエラーの出力を無効にする。これにより、安全プログラムの設計効率がさらに改善される。
<E.情報処理装置200の機能構成>
図6〜図10を参照して、情報処理装置200の機能について説明する。図6は、情報処理装置200の機能構成の一例を示す図である。
図6に示されるように、情報処理装置200は、主要なハードウェア構成として、プロセッサ202と、出力ユニット208の一例であるディスプレイ208Aと、補助記憶装置220とを含む。プロセッサ202は、機能構成として、提供部282と、生成部284と、実行部286と、エミュレータ288と、評価部290とを含む。以下では、これらの機能構成について順に説明する。
(E1.提供部282)
提供部282は、設計ツールのアプリケーションが起動されたことに基づいて、上述のユーザインターフェイス250(図4参照)をディスプレイ208Aに表示する。
設計者は、予め用意されている複数種類のファンクションブロック224の内から任意のファンクションブロックをユーザインターフェイス250に配置し、ユーザインターフェイス250上において各ファンクションブロック間の入出力関係を規定することができる。このような操作は、たとえば、上述の操作ユニット206(図3参照)に対して行われる。
図4で説明したように、安全プログラムの動作のシミュレーション時には、EDMエラーの出力が無効化される。この場合、ユーザインターフェイス250は、EDMエラーの出力が無効であることを示す予め定められた態様でEDMファンクションブロックを表示する。
図7は、EDMエラーの出力の無効化時におけるEDMファンクションブロックの表示態様の一例を示す図である。図7に示されるように、EDMエラーの出力の無効化時には、EDMファンクションブロックであるファンクションブロック257は、他の種類のファンクションブロック251,255とは異なる態様で表示される。一例として、ファンクションブロック257は、他の種類のファンクションブロック251,255とは異なる色で表示される。あるいは、ファンクションブロック257は、点滅表示されてもよい。あるいは、EDMエラーの出力が無効化されていることを示す印(図7の例では、×印)が表示されてもよい。EDMファンクションブロックの表示態様が変えられることで、設計者は、EDMエラーの出力が無効化されていることを容易に把握することができる。
(E2.生成部284)
生成部284は、予め用意されている複数種類のファンクションブロック224から組み合わされた1つ以上のファンクションブロックを元に安全プログラム228を生成する。生成された安全プログラム228は、補助記憶装置220に記憶される。典型的には、ファンクションブロックの種類および各ファンクションブロック間の入出力関係などが補助記憶装置220に記憶される。
(E3.実行部286)
実行部286は、安全プログラム228の実行モード226Aに基づいて、安全プログラム228から実行モジュールを生成する。典型的には、実行部286は、コンパイラ、アセンブラ、リンカなどの機能を含む。
安全プログラム228の実行モード226Aは、上述の各種設定226(図3参照)に予め規定されている。一例として、安全プログラム228の実行モード226Aは、第1シミュレーションモードと、第2シミュレーションモードとを含む。実行モード226Aは、予め設定されていてもよいし、設計者などによって任意に設定されてもよい。
実行モード226Aが第1シミュレーションモードである場合、実行部286は、EDMファンクションブロックによるEDMエラーの出力を無効にする。より具体的には、実行部286は、EDMエラーの出力部分をスキップするように実行形式プログラムを生成する。これにより、EDMファンクションブロックによるEDMエラーの出力が無効化される。
実行モード226Aが第2シミュレーションモードである場合、実行部286は、対象機器の動作状態を模擬的に表した模擬信号を後述のエミュレータ288から取得し、当該模擬信号をフィードバック信号S7(図5参照)としてEDMファンクションブロックの第2入力部(図5参照)に入力する。これにより、EDMファンクションブロックは、対象機器が仮想的に正常に動作していると判断し、EDMエラーの出力が無効化される。
(E4.エミュレータ288)
エミュレータ288は、安全コントローラ100に接続され得る各種機器(たとえば、安全機器や監視対象機器など)の状態を模擬的に表わした模擬信号を生成し、当該模擬信号を、安全プログラム228を構成する各ファンクションブロックに出力する。これにより、設計者は、情報処理装置200を安全コントローラ100に接続することなしに、情報処理装置200上で安全プログラム228の動作をシミュレーションすることができる。
一例として、エミュレータ288は、EDMファンクションブロックへのフィードバック信号を模擬信号として生成する。図8は、模擬信号がEDMファンクションブロックであるファンクションブロック257に出力されている様子を示す図である。
典型的には、エミュレータ288は、EDMファンクションブロックの出力部272から監視対象機器へ出力される制御信号を元に模擬信号SG9を生成する。図8の例では、エミュレータ288は、当該制御信号を反転させた模擬信号SG9を生成している。生成された模擬信号SG9は、ファンクションブロック257の入力部274に入力される。
好ましくは、実行モード226Aが上述の第2シミュレーションモードである場合、ファンクションブロック257の出力部272からの制御信号が変化してから所定時間が経過するまでの間に、模擬信号が入力部274に入力される。このように、模擬信号がフィードバック信号として入力部274に入力されることで、ファンクションブロック257の出力部276は、正常を示す信号を常に出力し、EDMエラーの出力が無効化される。
典型的には、模擬信号の生成ルールは、設計者によって予め設定される。図9は、模擬信号の生成ルールを設定するための設定画面260を示す図である。設定画面260は、設定覧40と、登録一覧50とを含む。設定覧40は、プルダウンメニュー41,42と、時間設定領域44と、チェックボックス45とを含む。
以下では、模擬信号を生成するための基準となる信号を「基準信号」ともいう。すなわち、エミュレータ288は、基準信号から模擬信号を生成する。
設計者は、プルダウンメニュー41において模擬信号の入力先を指定する。当該入力先の指定は、変数の指定によって行われる。典型的には、EDMファンクションブロックの入力部274(図5参照)が指定される。
設計者は、基準信号の出力元をプルダウンメニュー42において指定する。当該出力先の指定は、変数の指定によって行われる。典型的には、EDMファンクションブロックの出力部272(図5参照)が指定される。
設計者は、時間設定領域44にディレイ時間を設定する。設計者は、たとえば、50ms〜1000msの間でディレイ時間を設定することができる。EDMファンクションブロックは、基準信号の値が変化してから、設定されたディレイ時間が経過した時点で、模擬信号の値を変化させる。
設計者は、チェックボックス45において模擬信号の生成ルールを設定する。チェックボックス45にチェックが入れられている場合、エミュレータ288は、基準信号を反転させた信号を模擬信号として生成する。チェックボックス45にチェックが入れられていない場合、エミュレータ288は、基準信号を模擬信号として生成する。
追加ボタン47が押下されると、設定覧40における設定内容が登録一覧50に反映される。登録一覧50に登録された項目は、選択可能に構成されている。一例として、項目52が選択された状態で、削除ボタン54が押下されると、選択された項目52は、登録一覧50から削除される。
OKボタン62が押下されると、登録一覧50にされた登録された設定内容がフィードバック設定として上述の各種設定226(図3参照)に書き込まれる。キャンセルボタン64が押下されると、登録一覧50にされた登録された設定内容が反映されずに、設定画面260が閉じられる。
なお、上述では、エミュレータ288がセーフティリレー14の動作状態を模擬的に表した模擬信号を生成し、当該模擬信号をフィードバック信号としてEDMファンクションブロックに入力する例について説明を行ったが、エミュレータ288は、安全機器などのその他の機器の動作状態を表わした模擬信号を生成することもできる。エミュレータ288は、予め定められたテストパターンに従って安全機器の動作状態を表わした模擬信号を生成し、当該模擬信号を安全プログラム228に入力することで、安全プログラム228の動作をシミュレーションすることができる。
(E5.評価部290)
評価部290は、エミュレータ288からの入力値を安全プログラム228に与えることで算出される出力値と、当該入力値に対応する出力期待値とを比較し、その比較結果をシミュレーション結果として出力する。安全プログラム228への入力値に対する出力期待値は、設計者によって予め設定されている。
評価部290によるシミュレーション結果は、たとえば、ディスプレイ208Aに表示される。図10は、ディスプレイ208Aに表示されているシミュレーション結果画面291を示す図である。
図10を参照して、シミュレーション結果画面291は、安全プログラム228における入力信号の変数名を表示する変数名表示欄292Aと、対応する入力信号についてのコメントを表示するコメント表示欄292Bと、対応する入力信号についてのリセット種別を表示するリセット種別表示欄292Cと、対応する入力信号についての出力期待値(出力信号)の組み合わせを表示する期待値設定欄292Dと、シミュレーション結果を示す結果表示欄292Eと、シミュレーション結果に対応するコメントを表示する結果コメント表示欄292Fと、評価実行日時を示す日時表示欄292Gとを含む。
結果表示欄292Eには、合格したものについては「Passed」が表示され、何らかのエラーが生じたものについては「Failed」が表示される。さらに、何らかのエラーが生じた場合には、期待値設定欄292Dにおいて、そのエラーが生じた出力変数の表示態様が異なったものとされる。結果コメント表示欄292Fには、そのエラーに対応するエラーメッセージが表示される。すなわち、いずれのフェーズにおいて異常であると判断されたのかを特定する情報が判断結果に含められる。また、異常であると判断されたフェーズに応じたコメントが判断結果に含められる。また、EDMエラーの出力が無効にされた状態でシミュレーションが行われた場合には、そのことが結果コメント表示欄292Fに表示される。
<F.タイミングチャート>
上述のように、安全プログラムの実行モードは、EDMエラーを無効化する第1シミュレーションモードと、対象機器の動作状態を表わす模擬信号をEDMファンクションブロックにフィードバックする第2シミュレーションモードと、対象機器が接続された状態で安全プログラムを実行する実機モードとを含む。典型的には、第1,第2シミュレーションモードにおいては、安全プログラムは、情報処理装置200上で実行される。実機モードにおいては、安全プログラムは、安全コントローラ100上で実行される。
以下では、図11および図12を参照して、第1シミュレーションおよび実機モードのそれぞれで安全プログラムが実行された場合における各安全機器の動作態様について説明する。
まず、図11を参照して、第1シミュレーションモードにおける安全プログラムの実行態様について説明する。図11は、第1シミュレーションモードで安全プログラムを実行したときの信号状態を示す図である。当該安全プログラムは、図4に示されるファンクションブロックの組み合わせで構成されているとする。
情報処理装置200は、シミュレーション時においては、各安全機器の動作状態を取得することができないので、各安全機器の動作状態を仮想的に変化させた模擬信号を生成し、当該模擬信号を安全プログラムに入力する。
時刻T1において、安全プログラムは、非常停止スイッチを押下されたことを示す模擬信号を生成し、当該模擬信号を安全プログラムに入力する。これにより、安全プログラムは、非常停止スイッチが押下されたと判断する。これに伴って、安全プログラムは、第1,第2コンタクタをオフ状態にするための制御信号を出力する。通常、当該制御信号が出力されてから所定時間Δthの間にフィードバック信号SG7が変化しない場合、安全プログラムは、EDMエラーを出力する。しかしながら、第1シミュレーションモードにおいては、EDMエラーの出力が無効化されている。そのため、図11の例では、フィードバック信号SG7が所定時間Δthの間に変化していないにも関わらず、EDMエラーは出力されない。
時刻T2において、安全プログラムは、非常停止スイッチの停止状態が解除されたことを示す模擬信号を生成し、当該模擬信号を安全プログラムに入力する。これにより、安全プログラムは、非常停止スイッチが解除されたと判断する。
時刻T3において、安全プログラムは、非常停止スイッチが押下されたことを示す模擬信号を生成し、当該模擬信号を安全プログラムに入力する。これにより、安全プログラムは、非常停止スイッチが押下されたと判断する。これに伴って、安全プログラムは、第1,第2コンタクタをオン状態にするための制御信号を出力する。通常、当該制御信号が出力されてから所定時間Δthの間にフィードバック信号SG7が変化しない場合、安全プログラムは、EDMエラーを出力する。しかしながら、第1シミュレーションモードにおいては、EDMエラーの出力が無効化されている。その結果、図11の例では、フィードバック信号SG7が所定時間Δthの間に変化していないにも関わらず、EDMエラーが出力されない。
次に、図12を参照して、実機モードにおける安全プログラムの実行態様について説明する。図12は、実機モードで安全プログラムを実行したときの信号状態を示す図である。当該安全プログラムは、図4に示されるファンクションブロックの組み合わせで構成されているとする。
時刻T1において、非常停止スイッチが押下されたとする。これに伴って、「0」(FALSE)を示す制御信号が第1,第2コンタクタに出力される。当該制御信号が出力されてから所定時間Δthが経過するまでの間に、第1,第2コンタクタの動作状態を表わすフィードバック信号SG7が変化しない場合、安全プログラムは、EDMエラーを出力する。図12の例では、EDMエラーは出力されない。すなわち、第1,第2コンタクタの接点が正常に開状態に駆動されたことを意味する。
時刻T2において、非常停止スイッチが解除されたとする。非常停止スイッチが解除されたことでは、コンタクタの接点は、閉状態にならない。
時刻T3において、リセットボタンが押下されたとする。これに伴って、「1」(TRUE)を示す制御信号が第1,第2コンタクタに出力される。当該制御信号が出力されてから所定時間Δthが経過するまでの間に、第1,第2コンタクタの動作状態を表わすフィードバック信号SG7が変化しない場合、安全プログラムは、EDMエラーを出力する。図12の例では、EDMエラーは出力されない。すなわち、第1,第2コンタクタの接点が正常に閉状態に駆動されたことを意味する。
<G.情報処理装置200の制御構造>
図13を参照して、情報処理装置200の制御構造について説明する。図13は、シミュレーション時における安全プログラムの実行フローを示す図である。図13の処理は、情報処理装置200のプロセッサ202がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
ステップS110において、プロセッサ202は、安全プログラムの実行操作を受けたか否かを判断する。プロセッサ202は、安全プログラムの実行操作を受けたと判断した場合(ステップS110においてYES)、制御をステップS112に切り替える。そうでない場合には(ステップS110においてNO)、プロセッサ202は、ステップS110の処理を再び実行する。
ステップS112において、プロセッサ202は、実行対象のファンクションブロックを安全プログラムから読み込む。実行対象のファンクションブロックは、たとえば、予め定められたテストパターンに従って決定される。
ステップS120において、プロセッサ202は、実行対象のファンクションブロックがEDMファンクションブロックであるか否かを判断する。プロセッサ202は、実行対象のファンクションブロックがEDMファンクションブロックであると判断した場合(ステップS120においてYES)、制御をステップS130に切り替える。そうでない場合には(ステップS120においてNO)、プロセッサ202は、制御をステップS150に切り替える。
ステップS130において、プロセッサ202は、安全プログラムの実行モードが第1シミュレーションモードに設定されているか否かを判断する。プロセッサ202は、安全プログラムの実行モードが第1シミュレーションモードに設定されていると判断した場合(ステップS130においてYES)、制御をステップS132に切り替える。そうでない場合には(ステップS130においてNO)、プロセッサ202は、安全プログラムの実行モードが第2シミュレーションモードであると判断し、制御をステップS142に切り替える。
ステップS132において、プロセッサ202は、実行対象のファンクションブロック(EDMファンクションブロック)に関連付けられている命令を実行する。
ステップS134において、プロセッサ202は、EDMエラーの判定処理をスキップする。これにより、EDMエラーの出力が無効化される。
ステップS142において、プロセッサ202は、実行対象のファンクションブロック(EDMファンクションブロック)に関連付けられている命令を実行する。
ステップS144において、プロセッサ202は、上述の設定画面260(図9参照)において設定されたフィードバック設定に従って、監視対象機器からのフィードバック信号を模倣的に表した模倣信号を生成し、当該模倣信号をフィードバック信号としてEDMファンクションブロックに入力する。
ステップS146において、プロセッサ202は、EDMエラー判定を行う。より具体的には、プロセッサ202は、対象機器への制御信号が変化してから所定時間の間に模擬信号が変化しない場合に、EDMエラーを出力する。そうでない場合には、プロセッサ202は、正常を示す判定結果を出力する。
ステップS150において、プロセッサ202は、プロセッサ202は、実行対象のファンクションブロックに関連付けられている命令を実行する。
ステップS160において、プロセッサ202は、次に実行すべきファンクションブロックが存在するか否かを判断する。典型的には、プロセッサ202は、すべてのテストパターンについて安全プログラムの動作のシミュレーションが終了していない場合に、次に実行すべきファンクションブロックが存在すると判断する。プロセッサ202は、次に実行すべきファンクションブロックが存在すると判断した場合(ステップS160においてYES)、制御をステップS162に切り替える。そうでない場合には(ステップS160においてNO)、プロセッサ202は、図13に示される処理を終了する。
ステップS162において、プロセッサ202は、次の実行対象のファンクションブロックを安全プログラムから読み込む。一例として、次の実行対象のファンクションブロックは、予め定められたテストパターンに従って決定される。
<H.まとめ>
以上のようにして、情報処理装置200は、安全プログラムの動作をシミュレーションする場合であって、安全プログラムの生成元のファンクションブロックにEDMファンクションブロックが含まれているときに、EDMエラーの出力を無効にする。これにより、設計者は、安全プログラムのシミュレーション時にEDMファンクションブロックを削除するなどの余計な操作を行う必要がなくなり、安全プログラムの設計効率が改善される。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 安全システム、10 モータ、12 ドライバ、14 セーフティリレー、16 安全機器、20 制御系ネットワーク、22 情報系ネットワーク、40 設定覧、41,42 プルダウンメニュー、44 時間設定領域、45 チェックボックス、47 追加ボタン、50 登録一覧、52 項目、54 削除ボタン、62 OKボタン、64 キャンセルボタン、100 安全コントローラ、102,202 プロセッサ、104,204 主メモリ、106 フラッシュメモリ、108 演算処理部、110 制御系ネットワークインターフェイス、112,210 情報系ネットワークインターフェイス、114 フィールドバスインターフェイス、116 メモリカードインターフェイス、118 メモリカード、120,216 ローカル通信インターフェイス、122 内部バスインターフェイス、200 情報処理装置、206 操作ユニット、208 出力ユニット、208A ディスプレイ、212 光学ドライブ、214 記録媒体、218 内部バス、220 補助記憶装置、222 実行プログラム、224,251,255,257 ファンクションブロック、226 各種設定、226A 実行モード、228 安全プログラム、250 ユーザインターフェイス、260 設定画面、270,274 入力部、272,276 出力部、282 提供部、284 生成部、286 実行部、288 エミュレータ、290 評価部、291 シミュレーション結果画面、292A 変数名表示欄、292B コメント表示欄、292C リセット種別表示欄、292D 期待値設定欄、292E 結果表示欄、292F 結果コメント表示欄、292G 日時表示欄、300 制御装置。

Claims (8)

  1. 予め定められた条件が成立すると安全が保たれるように対象機器を動作させる安全プログラムの評価を行うための情報処理装置であって、
    予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に前記安全プログラムを生成するための生成部を備え、
    前記複数種類のファンクションブロックは、前記対象機器の動作を監視するための監視ファンクションブロックを含み、
    前記監視ファンクションブロックは、
    第1入力信号を受けるための第1入力部と、
    前記第1入力信号が変化したことに基づいて、前記対象機器の動作状態を変化させる制御信号を出力するための第1出力部と、
    前記対象機器の動作状態を示す第2入力信号を受けるための第2入力部と、
    前記制御信号が変化してから所定時間が経過するまでの間において前記第2入力信号が変化しない場合に、エラーを出力するための第2出力部とを有し、
    前記情報処理装置は、前記安全プログラムの動作をシミュレーションするための実行部をさらに備え、
    前記実行部は、前記安全プログラムの生成元のファンクションブロックに前記監視ファンクションブロックが含まれているときに、前記第2出力部による前記エラーの出力を無効にする、情報処理装置。
  2. 前記情報処理装置は、前記対象機器の動作状態を模擬的に表した模擬信号を生成するためのエミュレータをさらに備え、
    前記実行部による前記安全プログラムの実行モードは、第1シミュレーションモードと、第2シミュレーションモードとを含み、
    前記実行部は、
    前記実行モードが前記第1シミュレーションモードである場合、前記第2出力部による前記エラーの出力を無効にし、
    前記実行モードが前記第2シミュレーションモードである場合、前記模擬信号を前記第2入力部に入力する、請求項1に記載の情報処理装置。
  3. 前記実行部は、前記実行モードが前記第2シミュレーションモードである場合、前記制御信号が変化してから前記所定時間が経過するまでの間に前記模擬信号を変化させる、請求項2に記載の情報処理装置。
  4. 前記実行部は、前記安全プログラムの生成元のファンクションブロックに前記監視ファンクションブロックが複数含まれている場合に、当該複数の監視ファンクションブロックのすべてについて前記エラーの出力を無効にする、請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記情報処理装置は、
    前記安全プログラムを設計するためのユーザインターフェイスを提供する提供部と、
    前記複数種類のファンクションブロックの任意のファンクションブロックを前記ユーザインターフェイスに配置する操作を受けるための操作受付部とをさらに備え、
    前記ユーザインターフェイスは、当該ユーザインターフェイスに前記監視ファンクションブロックが含まれている場合において、前記エラーの出力が無効に設定されているときに、前記エラーの出力が無効であることを示す予め定められた態様で前記監視ファンクションブロックを表示する、請求項1〜4のいずれか1項に記載の情報処理装置。
  6. 前記態様で前記監視ファンクションブロックを表示することは、前記ユーザインターフェイスにおいて前記監視ファンクションブロックを他のファンクションブロックとは異なる態様で表示することを含む、請求項5に記載の情報処理装置。
  7. 予め定められた条件が成立すると安全が保たれるように対象機器を動作させる安全プログラムを評価するための情報処理方法であって、
    予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に前記安全プログラムを生成するステップを備え、
    前記複数種類のファンクションブロックは、前記対象機器の動作を監視するための監視ファンクションブロックを含み、
    前記監視ファンクションブロックによって実行される処理は、
    第1入力信号を受けるステップと、
    前記第1入力信号が変化したことに基づいて、前記対象機器の動作状態を変化させる制御信号を出力するステップと、
    前記対象機器の動作状態を示す第2入力信号を受けるステップと、
    前記制御信号が変化してから所定時間が経過するまでの間において前記第2入力信号が変化しない場合に、エラーを出力するステップとを有し、
    前記情報処理方法は、前記安全プログラムの動作をシミュレーションするステップをさらに備え、
    前記シミュレーションするステップは、前記安全プログラムの生成元のファンクションブロックに前記監視ファンクションブロックが含まれているときに、前記エラーを出力するステップにおける前記エラーの出力を無効にするステップを含む、情報処理方法。
  8. 予め定められた条件が成立すると安全が保たれるように対象機器を動作させる安全プログラムを評価するための情報処理プログラムであって、
    前記情報処理プログラムは、コンピュータに、
    予め用意されている複数種類のファンクションブロックから組み合わされた1つ以上のファンクションブロックを元に前記安全プログラムを生成するステップを実行させ、
    前記複数種類のファンクションブロックは、前記対象機器の動作を監視するための監視ファンクションブロックを含み、
    前記監視ファンクションブロックによって実行される処理は、
    第1入力信号を受けるステップと、
    前記第1入力信号が変化したことに基づいて、前記対象機器の動作状態を変化させる制御信号を出力するステップと、
    前記対象機器の動作状態を示す第2入力信号を受けるステップと、
    前記制御信号が変化してから所定時間が経過するまでの間において前記第2入力信号が変化しない場合に、エラーを出力するステップとを有し、
    前記情報処理プログラムは、コンピュータに、さらに、前記安全プログラムの動作をシミュレーションするステップをさらに実行させ、
    前記シミュレーションするステップは、前記安全プログラムの生成元のファンクションブロックに前記監視ファンクションブロックが含まれているときに、前記エラーを出力するステップにおける前記エラーの出力を無効にするステップを含む、情報処理プログラム。
JP2017047659A 2017-03-13 2017-03-13 情報処理装置、情報処理方法、および情報処理プログラム Active JP7005914B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017047659A JP7005914B2 (ja) 2017-03-13 2017-03-13 情報処理装置、情報処理方法、および情報処理プログラム
JP2021204827A JP7287445B2 (ja) 2017-03-13 2021-12-17 情報処理装置、情報処理方法、および情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017047659A JP7005914B2 (ja) 2017-03-13 2017-03-13 情報処理装置、情報処理方法、および情報処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021204827A Division JP7287445B2 (ja) 2017-03-13 2021-12-17 情報処理装置、情報処理方法、および情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2018151867A true JP2018151867A (ja) 2018-09-27
JP7005914B2 JP7005914B2 (ja) 2022-01-24

Family

ID=63681733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017047659A Active JP7005914B2 (ja) 2017-03-13 2017-03-13 情報処理装置、情報処理方法、および情報処理プログラム

Country Status (1)

Country Link
JP (1) JP7005914B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113646719A (zh) * 2019-03-28 2021-11-12 日立造船株式会社 信息处理装置、信息处理方法、信息处理程序、和垃圾焚烧工厂
CN114144735A (zh) * 2019-05-20 2022-03-04 马库斯·格鲁伯 用于控制和/或调节技术过程的可执行控制程序的计算机辅助生成的计算机实现的方法
JP7398856B2 (ja) 2019-11-19 2023-12-15 株式会社キーエンス プログラム作成支援装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178561A (ja) * 2002-10-21 2004-06-24 Fisher Rosemount Syst Inc シミュレーションシステムを作成する方法、シミュレーションシステムのスナップショットを取得する方法、及び、シミュレーション作成システム
JP2008027156A (ja) * 2006-07-20 2008-02-07 Omron Corp シミュレーション装置
JP2010198562A (ja) * 2009-02-27 2010-09-09 Yamatake Corp 制御プログラム作成方法および作成装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178561A (ja) * 2002-10-21 2004-06-24 Fisher Rosemount Syst Inc シミュレーションシステムを作成する方法、シミュレーションシステムのスナップショットを取得する方法、及び、シミュレーション作成システム
JP2008027156A (ja) * 2006-07-20 2008-02-07 Omron Corp シミュレーション装置
JP2010198562A (ja) * 2009-02-27 2010-09-09 Yamatake Corp 制御プログラム作成方法および作成装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113646719A (zh) * 2019-03-28 2021-11-12 日立造船株式会社 信息处理装置、信息处理方法、信息处理程序、和垃圾焚烧工厂
CN114144735A (zh) * 2019-05-20 2022-03-04 马库斯·格鲁伯 用于控制和/或调节技术过程的可执行控制程序的计算机辅助生成的计算机实现的方法
JP7398856B2 (ja) 2019-11-19 2023-12-15 株式会社キーエンス プログラム作成支援装置

Also Published As

Publication number Publication date
JP7005914B2 (ja) 2022-01-24

Similar Documents

Publication Publication Date Title
JP5436660B2 (ja) 安全関連制御ユニット用アプリケーションプログラムの生成方法および装置
JP7005914B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
US10545471B2 (en) Evaluation system, safety controller, computer readable storage medium, and evaluation method
JP6520772B2 (ja) 評価システム、評価プログラムおよび評価方法
JP5714835B2 (ja) 自動化設備の工業用コントローラをプログラムする方法および装置
JP4900607B2 (ja) セーフティ・コントロール・システム
JP6747104B2 (ja) セーフティシステム、プログラム、および方法
JP6458754B2 (ja) プログラム開発支援装置、プログラム開発支援プログラムおよびプログラム開発支援方法
CN108572611B (zh) 信息处理装置、信息处理方法及计算机可读取记录媒体
JP6481267B2 (ja) プログラマブル表示器
JP2014137621A (ja) 安全コントローラのユーザプログラムの設計を支援する方法、装置およびプログラム
JP5891891B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP4849261B2 (ja) 安全アプリケーション作成支援装置
JP7000703B2 (ja) 情報処理装置、情報処理方法、および、情報処理プログラム
JP2008027156A (ja) シミュレーション装置
JP6540561B2 (ja) 評価システム、評価プログラムおよび評価方法
JP7287445B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP5212508B2 (ja) デバッグ装置
JP2007304939A (ja) プログラマブルコントローラおよびモニタ
JP2017045141A (ja) 設備動作解析装置
JP2008310536A (ja) 安全リモートi/oターミナル
JP4491165B2 (ja) 検証パターン生成装置及び方法、並びに検証パターン生成プログラム
JP7398856B2 (ja) プログラム作成支援装置
JP2002366206A (ja) シミュレーション方法及びその装置
JP2009080738A (ja) シーケンスプログラムのシミュレーション方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210701

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: 20211207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211220

R150 Certificate of patent or registration of utility model

Ref document number: 7005914

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150