(57)【要約】  モニタ支援装置（２０）は、プログラマブルロジックコントローラ（ＰＬＣ１０）に実行させる制御プログラムに含まれる複数の命令のそれぞれが実行される毎に、命令が実行された結果が記憶される記憶領域に記憶されている値をモニタデータとして、命令と対応づけて取得するデータ取得部（５）と、制御プログラムに含まれる複数の命令と、データ取得部によって取得されたモニタデータとを画面上に表示する表示制御部（７）と、を備えることを特徴とする。
2019207679.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルロジックコントローラに実行させる制御プログラムに含まれる複数の命令のそれぞれが実行される毎に、前記命令が実行された結果が記憶される記憶領域に記憶されている値をモニタデータとして、前記命令と対応づけて取得するデータ取得部と、
前記制御プログラムに含まれる複数の命令と、前記データ取得部によって取得された前記モニタデータとを画面上に表示する表示制御部と、
を備えることを特徴とするモニタ支援装置。
【請求項２】
前記データ取得部は、前記制御プログラム内の前記モニタデータを取得する範囲を指定する範囲指定部を有し、指定された範囲に含まれる前記命令が実行された結果が記憶される記憶領域に記憶されている値を前記モニタデータとして取得することを特徴とする請求項１に記載のモニタ支援装置。
【請求項３】
前記データ取得部は、前記モニタデータを当該モニタデータが取得された時刻と対応づけて取得し、
前記命令と、前記命令と対応づけて取得されたモニタデータと、当該モニタデータが取得された時刻とを対応づけて記憶する表示データ記憶部、
をさらに備えることを特徴とする請求項１または２に記載のモニタ支援装置。
【請求項４】
前記表示制御部は、前記表示データ記憶部に記憶されたモニタデータを用いて、前記画面上に表示されたモニタデータの履歴を前記命令毎に前記画面上に表示する履歴表示部を有することを特徴とする請求項３に記載のモニタ支援装置。
【請求項５】
前記表示制御部は、前記制御プログラムを前記画面上に表示し、表示した前記制御プログラムに重畳して、前記モニタデータの履歴を前記画面上に表示することを特徴とする請求項４に記載のモニタ支援装置。
【請求項６】
前記履歴表示部は、前記画面上に表示された複数のモニタデータのうち、選択されたモニタデータの履歴を、前記選択されたモニタデータに重畳して表示することを特徴とする請求項５に記載のモニタ支援装置。
【請求項７】
前記表示制御部は、前記画面上に表示された複数のモニタデータを、当該モニタデータが取得された時刻に従って、順番に強調表示する強調表示部をさらに有することを特徴とする請求項３に記載のモニタ支援装置。
【請求項８】
前記表示制御部は、前記制御プログラムを前記画面上に表示し、表示した前記制御プログラムに重畳して前記モニタデータを前記画面上に表示し、
前記強調表示部は、前記画面上に表示された複数の前記モニタデータのうち強調表示するモニタデータを順次変化させることを特徴とする請求項７に記載のモニタ支援装置。
【請求項９】
前記表示制御部は、前記表示データ記憶部に記憶されたモニタデータの中から、命令毎の最新値を前記画面上に表示することを特徴とする請求項３に記載のモニタ支援装置。
【請求項１０】
前記表示制御部は、表示した前記制御プログラムに重畳して前記最新値を表示することを特徴とする請求項９に記載のモニタ支援装置。
【請求項１１】
前記データ取得部は、前記命令を実行するか否かを判断するために参照した記憶領域の値を前記命令と対応づけて前記モニタデータとして取得することを特徴とする請求項１から１０のいずれか１項に記載のモニタ支援装置。
【請求項１２】
制御プログラムを実行するプログラム実行部と、
記憶するデータの種類が割り当てられた複数の記憶領域を有する記憶部と、
前記プログラム実行部が前記制御プログラムに含まれる命令を実行する毎に、前記命令が実行された結果が記憶される前記記憶領域に記憶されている値をモニタデータとして取得し、前記モニタデータを表示するモニタ支援装置に前記モニタデータと前記命令とを対応づけて送信するモニタデータ管理部と、
を備えることを特徴とするプログラマブルロジックコントローラ。
【請求項１３】
前記モニタデータ管理部は、取得する対象のモニタデータを指定するモニタ対象情報を前記モニタ支援装置から受信し、受信した前記モニタ対象情報に基づいて、前記モニタデータを取得することを特徴とする請求項１２に記載のプログラマブルロジックコントローラ。
【請求項１４】
記憶するデータの種類が割り当てられた複数の記憶領域を有するプログラマブルロジックコントローラと、当該プログラマブルロジックコントローラの前記記憶領域に記憶されている値をモニタするモニタ支援装置とを備えるモニタ支援システムにおいて、
前記プログラマブルロジックコントローラが実行する制御プログラムに含まれる複数の命令のそれぞれを、前記プログラマブルロジックコントローラが実行する毎に、前記命令が実行された結果が記憶される記憶領域に記憶されている値をモニタデータとして、前記命令と対応づけて取得するステップと、
前記プログラマブルロジックコントローラが、実行された命令を特定するための情報と、当該命令に対応づけられた前記モニタデータとを前記モニタ支援装置に送信するステップと、
前記モニタ支援装置が、前記実行された命令を特定するための情報と、当該命令に対応づけられた前記モニタデータとを受信するステップと、
前記モニタ支援装置が、前記制御プログラムに含まれる複数の命令のそれぞれと、前記複数の命令のそれぞれに対応づけられた前記モニタデータとを画面上に表示するステップと、
を含むことを特徴とするモニタ支援方法。
【請求項１５】
プログラマブルロジックコントローラに実行させる制御プログラムに含まれる複数の命令のそれぞれが実行される毎に、前記命令が実行された結果が記憶される記憶領域に記憶されている値をモニタデータとして、前記命令と対応づけて取得するステップと、
前記制御プログラムに含まれる複数の命令と、前記複数の命令のそれぞれに対応づけらえた前記モニタデータとを画面上に表示するステップと、
をコンピュータに実行させることを特徴とするモニタ支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックコントローラ（Programmable  Logic  Controller：ＰＬＣ）の状態をモニタする機能を有するモニタ支援装置、プログラマブルロジックコントローラ、モニタ支援方法およびモニタ支援プログラムに関する。
【背景技術】
【０００２】
工場の生産設備の制御には、一般的にＰＬＣと呼ばれる産業用コントローラが用いられている。ＰＬＣの記憶領域には、外部からＰＬＣへ入力されるデータ、ＰＬＣから外部へ出力するデータ、制御プログラムの実行時に使用するデータなどの値が記憶される。それぞれのデータを記憶する記憶領域を予め割り当てておき、この記憶領域のアドレスを使用することで、ＰＬＣが実行する制御プログラムは、それぞれの記憶領域に記憶されたデータを使用することができる。制御プログラムが期待した通りに動作するかを検証するために、ユーザは、記憶領域に記憶された値を確認することがある。【０００３】
特許文献１には、制御プログラムの修正作業を効率化するために、制御プログラムと並べて、記憶領域に記憶されている値の履歴をグラフ表示する技術が開示されている。この技術では、各記憶領域に記憶された値を定期的に収集して、収集時刻と対応づけて履歴情報を生成している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１４／１６７７２６号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の技術では、各記憶領域に記憶されている値を一定の周期で収集しているため、収集した値は、各命令が実行されたときの値とは限らない。このため、制御プログラムの各命令と、記憶領域に記憶されている値との関係を把握することが困難であり、ユーザが制御プログラムの動作を確認することが困難であるという問題があった。【０００６】
本発明は、上記に鑑みてなされたものであって、制御プログラムの動作を容易に確認することが可能なモニタ支援装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかるモニタ支援装置は、プログラマブルロジックコントローラに実行させる制御プログラムに含まれる複数の命令のそれぞれが実行される毎に、命令が実行された結果が記憶される記憶領域に記憶されている値をモニタデータとして、命令と対応づけて取得するデータ取得部と、制御プログラムに含まれる複数の命令と、データ取得部によって取得されたモニタデータとを画面上に表示する表示制御部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明にかかるモニタ支援装置は、制御プログラムの動作を容易に確認することが可能になるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１にかかるモニタ支援システムの構成を示す図
【図２】図１に示すＰＬＣが使用する制御プログラムの一例を示す図
【図３】図１に示す範囲指定部が画面上に表示するモニタ範囲指定画面を示す図
【図４】図１に示すモニタ対象情報特定部が特定するモニタ対象情報を示す図
【図５】図１に示す表示データ記憶部へ記憶される表示データを示す図
【図６】図１に示すプログラム表示部が表示した制御プログラムにモニタデータ更新部がモニタデータを重畳して表示した画面を示す図
【図７】図１に示す履歴表示部が表示する履歴情報を示す図
【図８】図１に示す強調表示部の動作を説明するための図
【図９】図１に示すデータ取得部の動作を示すフローチャート
【図１０】図１に示す表示制御部の動作を示すフローチャート
【図１１】図１に示すモニタデータ管理部の動作を示すフローチャート
【図１２】図１に示すＰＬＣおよびモニタ支援装置の機能をソフトウェアを用いて実現するための構成を示す図
【図１３】図１に示すＰＬＣおよびモニタ支援装置の機能を実現するための専用のハードウェアの構成を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態にかかるモニタ支援装置、プログラマブルロジックコントローラ、モニタ支援方法およびモニタ支援プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、本発明の実施の形態１にかかるモニタ支援システム１００の構成を示す図である。モニタ支援システム１００は、ＰＬＣ１０と、モニタ支援装置２０とを有する。
【００１２】
ＰＬＣ１０は、工場などの生産設備を制御するために用いられる制御装置であり、制御プログラムを実行することにより、図示しない工作機械などを制御することができる。モニタ支援装置２０は、ＰＬＣ１０が実行する制御プログラムを作成するプログラム作成装置であり、ＰＬＣ１０の状態をモニタする機能を有する。
【００１３】
ＰＬＣ１０は、プログラム実行部１と、記憶部２と、モニタデータ管理部３と、モニタデータ記憶部４とを有する。プログラム実行部１は、制御プログラムを実行して、工作機械などを制御する。プログラム実行部１は、制御プログラムを実行する際に、記憶部２の記憶領域に記憶されている値を更新することができる。プログラム実行部１は、制御プログラムに含まれる命令を実行する毎に、実行した命令を特定するための情報をモニタデータ管理部３に通知する。
【００１４】
記憶部２は、格納するデータの種類が予め割り当てられた複数の記憶領域を有する。プログラム実行部１は、記憶部２のアドレスを使用することで、記憶部２の各記憶領域にデータを書き込んだり、各記憶領域からデータを読み出したりすることができる。この記憶領域は、ＰＬＣ１０の外部からも書き込んだり読み出したりすることができるようになっており、これにより、ＰＬＣ１０の外部とのデータの送受信が可能になっている。また、記憶部２は、プログラム実行部１が制御プログラムを実行しているときに使用するデータの値を格納することもできる。記憶部２の記憶領域は、データ種別を示す文字と、アドレスとを用いて表記することができる。例えば、入力データを示す文字はＸ、出力データを示す文字はＹ、内部的に使用するビットデータを示す文字はＭ、ワードデータを示す文字はＤなどと定められている。この場合、入力データを格納する記憶領域のアドレス０のものは「Ｘ０」と表記される。
【００１５】
図２は、図１に示すＰＬＣ１０が使用する制御プログラムの一例を示す図である。ＰＬＣ１０が使用する制御プログラムは、シーケンスプログラムとも呼ばれ、変数、記憶部２の記憶領域のアドレス、数値、命令などを用いて記述される。制御プログラムには、複数の命令が含まれている。図２に示す制御プログラムの１行目は、記憶領域Ｍ０の値が「ＯＮ」の場合、記憶領域Ｄ０に値「１」をコピーするという動作を示している。制御プログラムの２行目は、記憶領域Ｍ１の値が「ＯＮ」の場合、記憶領域Ｄ０に値「２」をコピーするという動作を示している。制御プログラムの３行目は、記憶領域Ｍ２の値が「ＯＮ」の場合、記憶領域Ｄ０に値「３」をコピーするという動作を示している。制御プログラムの４行目は、記憶領域Ｍ３の値が「ＯＮ」の場合、記憶領域Ｄ１に格納された値に「１」を加算するという動作を示している。制御プログラムの５行目は、記憶領域Ｍ０の値が「ＯＮ」の場合、記憶領域Ｄ０に値「１」をコピーするという動作を示している。制御プログラムの６行目は、記憶領域Ｍ１の値が「ＯＮ」の場合、記憶領域Ｄ０に値「２」をコピーするという動作を示している。
【００１６】
図２に示す制御プログラムは、複数の命令と、各命令の実行条件と、命令により更新される記憶領域のアドレスとを含んでいる。命令は、ＰＬＣ１０に制御させたい内容の最小単位を示している。例えば上記制御プログラムの４行目の例では、命令は「加算する」であり、命令の実行条件は「記憶領域Ｍ３の値がＯＮであること」であり、命令により更新される記憶領域のアドレスは記憶領域Ｄ１である。
【００１７】
図１の説明に戻る。モニタデータ管理部３は、モニタ支援装置２０からの指示に従って、制御プログラムに含まれる命令が実行されたときのモニタ対象の記憶領域に記憶されている値であるモニタデータを生成する。モニタ対象の記憶領域は、命令が使用する記憶領域であり、具体的には、命令が実行された結果が記憶される記憶領域と、命令を実行するか否かを判断するために参照する記憶領域とを含む。モニタデータ管理部３は、生成したモニタデータを、モニタデータ記憶部４に記憶させると共に、モニタ支援装置２０に送信する。モニタデータ管理部３は、プログラム実行部１から、実行された命令を特定するための情報が通知されたタイミングに合わせて記憶部２の記憶領域に記憶されている値を取得することで、制御プログラムに含まれる命令が実行されたタイミングに合わせて、モニタデータを生成することができる。モニタデータ管理部３は、実行された命令と、当該命令が使用した記憶領域に記憶されている値であるモニタデータとを対応づけて、モニタデータ記憶部４に記憶させると共に、モニタ支援装置２０に送信する。モニタデータ管理部３は、モニタデータを、モニタデータが取得された時刻情報と対応づけることもできる。
【００１８】
モニタデータ記憶部４は、モニタデータ管理部３から入力されるモニタデータを、命令を特定するための情報と、モニタデータが取得された時刻と対応づけて記憶する。記憶部２の記憶領域に記憶されている値は、命令の実行やＰＬＣ１０の外部からの入力データなどによって書換えられるため、経時的に変化するのに対して、モニタデータ記憶部４には、制御プログラムに含まれる命令が実行されたタイミングの値が保持されることになる。
【００１９】
モニタ支援装置２０は、パーソナルコンピュータ上で動作するソフトウェアツールとして提供され、ＰＬＣ１０が設備の制御を行うための制御プログラムの編集を支援したり、ＰＬＣ１０をモニタ支援装置２０に接続して、制御プログラムの稼働状態を確認したり、編集した制御プログラムをＰＬＣ１０へ転送したりする機能を有している。
【００２０】
モニタ支援装置２０は、データ取得部５と、表示データ記憶部６と、表示制御部７とを有する。データ取得部５は、ＰＬＣ１０の動作を確認するためのモニタデータをＰＬＣ１０から取得する。具体的には、データ取得部５は、制御プログラム内のモニタデータを取得する範囲を指定する範囲指定部５１と、範囲指定部５１によって指定された範囲内に含まれるモニタ対象となる記憶領域のアドレスを特定するモニタ対象情報特定部５２とを含む。
【００２１】
範囲指定部５１は、制御プログラムの中で、モニタ対象となる範囲を指定する。モニタ支援装置２０のモニタ機能は、例えばデバッグ時など制御プログラムが期待通りに動作しているか否かを確認するために用いられる。全ての範囲のモニタデータを取得する場合、処理負荷が大きくなったり、モニタデータの記憶容量が大きくなったりするため、範囲指定部５１は、必要に応じて、モニタ対象となる範囲を絞り込むことができる。
【００２２】
図３は、図１に示す範囲指定部５１が画面上に表示するモニタ範囲指定画面５１１を示す図である。モニタ範囲指定画面５１１を使用することで、ユーザは、制御プログラムの範囲を行数で指定することができる。範囲指定部５１は、ユーザがモニタ範囲指定画面５１１に入力するデータを取得して、この入力データを用いてモニタ範囲を指定することができる。なお、範囲指定部５１がモニタ対象範囲を指定する方法は、モニタ範囲指定画面５１１を使用する例に限定されない。範囲指定部５１は、ユーザが入力した値に限らず、任意のアルゴリズムを用いて導き出された範囲を使用してもよい。例えば、範囲指定部５１は、機械学習を用いて導き出された範囲を使用してもよい。
【００２３】
モニタ対象情報特定部５２は、制御プログラムの内、範囲指定部５１によって指定された範囲の中から、モニタ対象となる記憶領域を特定する。例えば、範囲指定部５１によって、２行目〜４行目がモニタ対象範囲として指定された場合、モニタ対象情報特定部５２は、制御プログラムの２行目〜４行目の中から、命令が使用している記憶領域を特定する。
【００２４】
図４は、図１に示すモニタ対象情報特定部５２が特定するモニタ対象情報を示す図である。この例では、モニタ対象情報特定部５２は、制御プログラムの２行目の記憶領域Ｍ１および記憶領域Ｄ０、３行目の記憶領域Ｍ２および記憶領域Ｄ０、４行目の記憶領域Ｍ３および記憶領域Ｄ１がモニタ対象であると特定することができる。
【００２５】
モニタ対象情報特定部５２は、モニタ対象の命令と、命令が実行された結果が記憶される記憶領域と、命令を実行するか否かを判断するために参照する記憶領域とを対応づけて、モニタ対象情報とする。モニタ対象情報特定部５２は、モニタ対象情報をＰＬＣ１０に送信する。
【００２６】
データ取得部５は、モニタ対象情報に従ってＰＬＣ１０が作成したモニタデータと、モニタデータに対応づけられた命令を示す情報と、モニタデータが取得された時刻とを受信し、表示データ記憶部６へ記憶する。図５は、図１に示す表示データ記憶部６へ記憶される表示データを示す図である。表示データは、命令を示す情報である制御プログラム内の行数と、この命令に対応づけて取得されたモニタデータと、モニタデータが取得された時刻とを含んでいる。
【００２７】
ＰＬＣ１０のモニタデータ管理部３は、命令が実行される毎にモニタデータを取得してモニタ支援装置２０に送信するため、データ取得部５は、命令が実行される毎にモニタデータを取得することになる。また、データ取得部５は、ＰＬＣ１０からモニタデータを取得する毎に表示データ記憶部６に記憶するため、表示データ記憶部６に記憶されたモニタデータは、命令が実行される毎に更新されることになる。
【００２８】
表示制御部７は、画面上に、制御プログラムと、制御プログラムに含まれる命令が実行されたときのモニタデータの値とを表示することができる。表示制御部７は、プログラム表示部７１と、モニタデータ更新部７２と、履歴表示部７３と、強調表示部７４とを有する。表示制御部７が、表示装置を備えており、表示装置の画面上に制御プログラム、モニタデータなどを表示してもよいし、表示制御部７は、外部の表示装置と接続されており、外部の表示装置の画面上に制御プログラム、モニタデータなどを表示してもよい。
【００２９】
プログラム表示部７１は、画面上に制御プログラムを表示する。プログラム表示部７１は、図２に示したように、リレー回路を模したラダー図の形式で制御プログラムを表示することができる。
【００３０】
モニタデータ更新部７２は、表示データ記憶部６に記憶されたモニタデータを使用して、プログラム表示部７１が表示した制御プログラムに重畳して、モニタデータを画面上に表示することができる。このときモニタデータ更新部７２は、制御プログラムに含まれる命令をこの命令と対応づけて取得されたモニタデータと対応づけて表示する。モニタデータ更新部７２は、表示データ記憶部６に記憶されたモニタデータのうち、命令および記憶領域の組み合わせ毎の最新値を画面上に表示することができる。
【００３１】
図６は、図１に示すプログラム表示部７１が表示した制御プログラムにモニタデータ更新部７２がモニタデータを重畳して表示した画面を示す図である。ここでは、２行目〜４行目がモニタ範囲として指定されているため、制御プログラムの２行目〜４行目にモニタデータの値が重畳して表示されている。ここでは、図５に示す表示データが表示データ記憶部６に記憶されている状態のときに、表示制御部７が表示する画面を示している。制御プログラム中の記憶領域を示す表示と重畳して、記憶領域に格納された値であるモニタデータが表示されている。この画面を見るユーザは、制御プログラムの２行目が最後に実行されたときに、記憶領域Ｍ１の値が「ＯＮ」であり、記憶領域Ｄ０に値「２」がコピーされたことを確認することができる。
【００３２】
最新のモニタデータを表示する以外にも、表示制御部７は、モニタデータの履歴情報を画面上に表示する機能を有する。履歴表示部７３は、表示データ記憶部６に、同一の命令と対応づけられた同一のモニタデータの値が複数記憶されている場合、履歴表示指示を検知すると、履歴情報として複数のモニタデータを表示することができる。
【００３３】
図７は、図１に示す履歴表示部７３が表示する履歴情報を示す図である。履歴表示部７３は、例えば、制御プログラムに命令毎に記述された記憶領域に対する選択操作を検知すると、選択された記憶領域に格納された値の履歴を画面上に表示することができる。履歴表示部７３が履歴情報を表示する方法は、図７に示す例に限定されない。例えば、履歴表示部７３は、複数の記憶領域の履歴を同時に表示してもよいし、履歴の数は３回分に限らず、任意の数にすることができる。命令および記憶領域の組み合わせ毎に、記憶領域に格納された値の履歴を表示することで、命令と、この命令が使用した記憶領域に記憶されている値との関係を把握しやすくなる。
【００３４】
強調表示部７４は、制御プログラム上に表示されたモニタデータを強調表示する機能を有する。強調表示部７４は、表示データ記憶部６に記憶された時刻情報を用いて、記憶領域が使用された順番に従って、強調表示するモニタデータを順次変化させることができる。このとき、強調表示するモニタデータを変化させる順番は、記憶領域が使用された順番に基づいて、新しいものから古いものへ向かう順番であってもよいし、古いものから新しいものへ向かう順番であってもよい。
【００３５】
図８は、図１に示す強調表示部７４の動作を説明するための図である。強調表示部７４は、図８（Ａ）に示すように、４行目の記憶領域Ｍ３の部分を強調表示した状態から、図８（Ｂ）に示すように、３行目の記憶領域Ｍ２の部分を強調表示した状態に変化させて、その後、図８（Ｃ）に示すように、２行目の記憶領域Ｄ０の部分を強調表示し、図８（Ｄ）に示すように、２行目の記憶領域Ｍ１の部分を強調表示した状態に変化させる。強調表示部７４は、モニタデータを新しいものから古いものに遡って順番に強調表示している。なお、ここでは図８（Ｂ）に示すように、３行目の記憶領域Ｍ２の値が「ＯＦＦ」であって、３行目では、記憶領域Ｄ０に値「３」をコピーする処理は省略されているため、強調表示も省略される。
【００３６】
続いて、本実施の形態にかかるモニタ支援システム１００の動作について説明する。ここで、モニタ支援装置２０は、モニタデータを取得する動作と、表示する動作とに分けて説明する。
【００３７】
まず、モニタ支援装置２０がモニタデータを取得する動作について説明する。図９は、図１に示すデータ取得部５の動作を示すフローチャートである。
【００３８】
データ取得部５の範囲指定部５１は、例えば図３に示すような入力画面を表示して、当該入力画面に対する入力操作を検知することで、モニタ対象として指定された範囲を示す情報を取得する（ステップＳ１０１）。
【００３９】
データ取得部５のモニタ対象情報特定部５２は、範囲指定部５１が取得したモニタ対象の範囲を示す情報に基づいて、モニタ対象の範囲内の制御プログラムから、モニタ対象の命令が実行された結果が記憶される記憶領域およびモニタ対象の命令実行するか否かを判断するために参照した記憶領域を抽出して、取得する対象のモニタデータを指定するモニタ対象情報を生成する（ステップＳ１０２）。モニタ対象情報は、例えば、図５に示す表の時刻および値の欄が空白の状態に対応する情報である。
【００４０】
モニタ対象情報特定部５２は、生成したモニタ対象情報をＰＬＣ１０に送信する（ステップＳ１０３）。続いてデータ取得部５は、モニタ対象情報の送信先のＰＬＣ１０からモニタデータを受信したか否かを判断する（ステップＳ１０４）。モニタデータを受信していない場合（ステップＳ１０４：Ｎｏ）、データ取得部５は、モニタデータを受信するまでステップＳ１０４の処理を繰り返す。
【００４１】
モニタデータを受信した場合（ステップＳ１０４：Ｙｅｓ）、データ取得部５は、受信したモニタデータを表示データとして表示データ記憶部６に記憶させる（ステップＳ１０５）。
【００４２】
図１０は、図１に示す表示制御部７の動作を示すフローチャートである。表示制御部７のプログラム表示部７１は、制御プログラムを画面上に表示する。そして、モニタデータ更新部７２は、予め定められた表示データ更新時間が経過したか否かを判断する（ステップＳ２０１）。表示データ更新時間が経過していない場合(ステップＳ２０１：Ｎｏ)、モニタデータ更新部７２は、表示データ更新時間が経過するまでステップＳ２０１の処理を繰り返す。
【００４３】
表示データ更新時間が経過した場合（ステップＳ２０１：Ｙｅｓ）、モニタデータ更新部７２は、制御プログラムに含まれる命令毎にモニタデータの最新値を画面上に表示する（ステップＳ２０２）。
【００４４】
また強調表示部７４は、強調表示を指示する強調表示操作を検知したか否かを判断する（ステップＳ２０３）。強調表示操作が検知された場合（ステップＳ２０３：Ｙｅｓ）、強調表示部７４は、記憶領域が使用された順番に基づいて、強調表示する位置を移動させる（ステップＳ２０４）。強調表示操作が検知されない場合（ステップＳ２０３：Ｎｏ）、ステップＳ２０４の処理は省略される。
【００４５】
履歴表示部７３は、履歴表示を指示する履歴表示操作を検知したか否かを判断する（ステップＳ２０５）。履歴表示操作が検知された場合（ステップＳ２０５：Ｙｅｓ）、履歴表示部７３は、表示データ記憶部６に記憶されたデータから履歴情報を生成して、画面上に表示する（ステップＳ２０６）。履歴表示操作が検知されない場合（ステップＳ２０５：Ｎｏ）、ステップＳ２０６の処理は省略される。
【００４６】
なお、図１０に示した動作は一例であり、本実施の形態はかかる例に限定されない。図１０に示す例では、モニタデータ更新部７２は、一定の周期で表示するモニタデータを更新することとしたが、表示データ記憶部６の値が更新されるタイミングが分かれば、更新毎に表示するモニタデータを更新してもよい。また、表示制御部７が動作する順番は、図１０に示す例に限らない。ステップＳ２０１およびステップＳ２０２の処理と、ステップＳ２０３およびステップＳ２０４の処理と、ステップＳ２０５およびステップＳ２０６の処理とは同時に行われてもよいし、実行する順番を入れ替えることも可能である。
【００４７】
図１１は、図１に示すモニタデータ管理部３の動作を示すフローチャートである。モニタデータ管理部３は、モニタ対象情報を受信する（ステップＳ３０１）。モニタデータ管理部３は、受信したモニタ対象情報に基づいて、モニタデータ記憶部４にモニタデータを記憶するための記憶領域を確保する（ステップＳ３０２）。
【００４８】
モニタデータ管理部３は、プログラム実行部１から通知される、実行した命令を特定するための情報の有無に基づいて、実行された命令を特定するための情報命令が実行されたか否かを判断する（ステップＳ３０３）。
【００４９】
命令が実行されていない場合（ステップＳ３０３：Ｎｏ）、モニタデータ管理部３は、ステップＳ３０３の処理を繰り返す。命令が実行された場合（ステップＳ３０３：Ｙｅｓ）、モニタデータ管理部３は、モニタ対象情報に基づいて、記憶領域に記憶されている値を記憶部２に記録してモニタデータを生成する（ステップＳ３０４）。
【００５０】
モニタデータを生成すると、モニタデータ管理部３は、生成したモニタデータを、モニタ支援装置２０に送信する（ステップＳ３０５）。モニタデータ管理部３は、制御プログラムの実行が終了したか否かを判断する（ステップＳ３０６）。制御プログラムの実行が終了した場合（ステップＳ３０６：Ｙｅｓ）、モニタデータ管理部３は処理を終了する。制御プログラムの実行が終了していない場合（ステップＳ３０６：Ｎｏ）、モニタデータ管理部３は、ステップＳ３０３の処理に戻り、制御プログラムの実行が終了するまでステップＳ３０３〜ステップＳ３０６の処理を繰り返す。
【００５１】
ここで、図１に示すＰＬＣ１０およびモニタ支援装置２０の機能を実現するためのハードウェア構成について説明する。ＰＬＣ１０およびモニタ支援装置２０の機能は、ソフトウェアを用いて実現されてもよいし、専用のハードウェアを用いることもできる。
【００５２】
図１２は、図１に示すＰＬＣ１０およびモニタ支援装置２０の機能をソフトウェアを用いて実現するための構成を示す図である。ＰＬＣ１０およびモニタ支援装置２０の各機能は、プロセッサ９１がメモリ９２に記憶されたコンピュータプログラムを読み出して実行することにより、実現することができる。
【００５３】
プロセッサ９１は、ＣＰＵ（Central  Processing  Unit）であり、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ（Digital  Signal  Processor）などとも呼ばれる。
【００５４】
メモリ９２は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリー、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（登録商標）（Electrically  ＥＰＲＯＭ）などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Digital  Versatile  Disk）などである。メモリ９２は、プロセッサ９１が実行する各処理における一時メモリとしても用いられる。
【００５５】
図１３は、図１に示すＰＬＣ１０およびモニタ支援装置２０の機能を実現するための専用のハードウェアの構成を示す図である。ＰＬＣ１０およびモニタ支援装置２０の機能は、専用のハードウェアである処理回路９３を用いて実現することもできる。処理回路９３は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field-Programmable  Gate  Array）またはこれらを組み合わせたものである。
【００５６】
上記のＰＬＣ１０およびモニタ支援装置２０のそれぞれの機能を実現するためのコンピュータプログラムは、通信媒体を介して提供することも可能であるし、コンピュータプログラムを記録した記録媒体の形式で提供されてもよい。
【００５７】
以上説明したように、本実施の形態にかかるモニタ支援装置２０は、ＰＬＣ１０が制御プログラムに含まれる命令を実行する毎に、実行した命令が実行された結果が記憶される記憶領域に記憶されている値を記録してモニタデータを生成する。モニタデータは、実行した命令と対応づけて記憶され、表示制御部７は、対応する命令と共にモニタデータを表示する。このため、命令が実行されたときに記憶領域に記憶されている値を確実に表示することが可能になり、ユーザが制御プログラムの動作を確認することが容易になる。
【００５８】
特に、制御プログラム内で同一の記憶領域に記憶された値が複数回使用されている場合や、制御プログラムが繰り返し実行される場合には、一定時間間隔で記憶領域の値を取得すると、各命令との対応関係が分かり難い場合がある。このような場合であっても、上記の技術を用いることで、制御プログラムのデバッグ作業などで記憶領域に記憶された値を確認する際に、命令毎に制御プログラムの処理を一時停止する必要がなくなり、命令が実行された時に記憶領域に記憶されている値を容易に確認することができ、作業効率が向上する。
【００５９】
また、モニタ支援装置２０は、モニタデータを取得する範囲を指定する範囲指定部５１を有する。このため、ＰＬＣ１０およびモニタ支援装置２０が取り扱うデータ量を低減することができ、処理負荷の低減、必要な記憶容量の低減につながる。また、表示するモニタデータを必要な範囲に絞り込むことができるため、画面上に表示されるモニタデータが見やすくなり、制御プログラムが取り扱うデータ数が多い場合であっても、ユーザが制御プログラムの動作を確認することが容易になる。
【００６０】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【００６１】
例えば、上記の実施の形態では、制御プログラムに含まれる複数の命令のそれぞれと、各命令が使用した記憶領域に記憶された値を示すモニタデータとは、制御プログラム中で命令が記述された行数を用いて直接対応づけられている。しかしながら、命令とモニタデータとを対応づけるための情報は、かかる例に限定されない。例えば、データ取得部５が命令が実行される毎にモニタデータを時刻と対応づけて取得し、プログラム実行部１が各命令を実行した時刻を記録していれば、間接的に、命令とモニタデータとを対応づけることができる。
【符号の説明】
【００６２】
１  プログラム実行部、２  記憶部、３  モニタデータ管理部、４  モニタデータ記憶部、５  データ取得部、６  表示データ記憶部、７  表示制御部、１０  ＰＬＣ、２０  モニタ支援装置、５１  範囲指定部、５２  モニタ対象情報特定部、７１  プログラム表示部、７２  モニタデータ更新部、７３  履歴表示部、７４  強調表示部、９１  プロセッサ、９２  メモリ、９３  処理回路、１００  モニタ支援システム、５１１  モニタ範囲指定画面。
【図１】
2019207679.tif 000003
【図２】
2019207679.tif 000004
【図３】
2019207679.tif 000005
【図４】
2019207679.tif 000006
【図５】
2019207679.tif 000007
【図６】
2019207679.tif 000008
【図７】
2019207679.tif 000009
【図８】
2019207679.tif 000010
【図９】
2019207679.tif 000011
【図１０】
2019207679.tif 000012
【図１１】
2019207679.tif 000013
【図１２】
2019207679.tif 000014
【図１３】
2019207679.tif 000015
【手続補正書】
【提出日】平成30年10月18日(2018.10.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラマブルロジックコントローラに実行させる制御プログラムに含まれる複数の命令のそれぞれが実行される毎に、前記命令が実行された結果が記憶される記憶領域に記憶されている値をモニタデータとして、前記命令と対応づけて取得し、前記モニタデータが取得された時刻を前記モニタデータと対応付けて取得するデータ取得部と、
前記命令と、前記命令と対応づけて取得されたモニタデータと、当該モニタデータが取得された時刻とを対応づけて記憶する表示データ記憶部と、
前記制御プログラムに含まれる複数の命令と、前記データ取得部によって取得された前記モニタデータとを画面上に表示する表示制御部と、
を備え、
前記表示制御部は、前記画面上に表示された複数のモニタデータを、当該モニタデータが取得された時刻に従って、順番に強調表示することを特徴とするモニタ支援装置。
【請求項２】
前記表示制御部は、前記制御プログラムを前記画面上に表示し、表示した前記制御プログラムに重畳して前記モニタデータを前記画面上に表示し、
前記画面上に表示された複数の前記モニタデータのうち強調表示するモニタデータを順次変化させることを特徴とする請求項１に記載のモニタ支援装置。
【請求項３】
プログラマブルロジックコントローラに実行させる制御プログラムに含まれる複数の命令のそれぞれが実行される毎に、前記命令が実行された結果が記憶される記憶領域に記憶されている値をモニタデータとして、前記命令と対応づけて取得し、前記モニタデータが取得された時刻を前記モニタデータと対応付けて取得するデータ取得部と、
前記命令と、前記命令と対応づけて取得されたモニタデータと、当該モニタデータが取得された時刻とを対応づけて記憶する表示データ記憶部と、
前記制御プログラムに含まれる複数の命令と、前記データ取得部によって取得された前記モニタデータとを画面上に表示する表示制御部と、
を備え、
前記表示制御部は、前記表示データ記憶部に記憶されたモニタデータを用いて、前記画面上に表示されたモニタデータの履歴を前記命令毎に前記画面上に表示する履歴表示部を有し、前記履歴は、取得時刻の異なる複数のモニタデータを含むことを特徴とするモニタ支援装置。
【請求項４】
前記表示制御部は、前記制御プログラムを前記画面上に表示し、表示した前記制御プログラムに重畳して、前記モニタデータの履歴を前記画面上に表示することを特徴とする請求項３に記載のモニタ支援装置。
【請求項５】
前記履歴表示部は、前記画面上に表示された複数のモニタデータのうち、選択されたモニタデータの履歴を、前記選択されたモニタデータに重畳して表示することを特徴とする請求項４に記載のモニタ支援装置。
【請求項６】
前記データ取得部は、前記制御プログラム内の前記モニタデータを取得する範囲を指定する範囲指定部を有し、指定された範囲に含まれる前記命令が実行された結果が記憶される記憶領域に記憶されている値を前記モニタデータとして取得することを特徴とする請求項１から５のいずれか１項に記載のモニタ支援装置。
【請求項７】
前記データ取得部は、前記命令を実行するか否かを判断するために参照した記憶領域の値を前記命令と対応づけて前記モニタデータとして取得することを特徴とする請求項１から６のいずれか１項に記載のモニタ支援装置。
【請求項８】
記憶するデータの種類が割り当てられた複数の記憶領域を有するプログラマブルロジックコントローラと、当該プログラマブルロジックコントローラの前記記憶領域に記憶されている値をモニタするモニタ支援装置とを備えるモニタ支援システムにおいて、
前記プログラマブルロジックコントローラが実行する制御プログラムに含まれる複数の命令のそれぞれを、前記プログラマブルロジックコントローラが実行する毎に、前記命令が実行された結果が記憶される記憶領域に記憶されている値をモニタデータとして、前記命令と対応づけて取得する取得ステップと、
前記プログラマブルロジックコントローラが、実行された命令を特定するための情報と、当該命令に対応づけられた前記モニタデータとを前記モニタ支援装置に送信する送信ステップと、
前記モニタ支援装置が、前記実行された命令を特定するための情報と、当該命令に対応づけられた前記モニタデータとを受信する受信ステップと、
前記モニタ支援装置が、前記モニタデータが取得された時刻を前記モニタデータと対応付けて取得し、前記命令と対応づけて取得されたモニタデータと、当該モニタデータが取得された時刻とを対応づけて記憶する記憶ステップと、
前記モニタ支援装置が、前記制御プログラムに含まれる複数の命令のそれぞれと、前記複数の命令のそれぞれに対応づけられた前記モニタデータとを画面上に表示する表示ステップと、
を含み、
前記表示ステップでは、前記画面上に表示された複数のモニタデータを、当該モニタデータが取得された時刻に従って、順番に強調表示することを特徴とするモニタ支援方法。
【請求項９】
プログラマブルロジックコントローラに実行させる制御プログラムに含まれる複数の命令のそれぞれが実行される毎に、前記命令が実行された結果が記憶される記憶領域に記憶されている値をモニタデータとして、前記命令と対応づけて取得する取得ステップと、
前記モニタデータが取得された時刻を前記モニタデータと対応付けて取得し、前記命令と対応づけて取得されたモニタデータと、当該モニタデータが取得された時刻とを対応づけて記憶する記憶ステップと、
前記制御プログラムに含まれる複数の命令と、前記複数の命令のそれぞれに対応づけられた前記モニタデータとを画面上に表示する表示ステップと、
をコンピュータに実行させ、
前記表示ステップでは、前記画面上に表示された複数のモニタデータを、当該モニタデータが取得された時刻に従って、順番に強調表示することを特徴とするモニタ支援プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかるモニタ支援装置は、プログラマブルロジックコントローラに実行させる制御プログラムに含まれる複数の命令のそれぞれが実行される毎に、命令が実行された結果が記憶される記憶領域に記憶されている値をモニタデータとして、命令と対応づけて取得し、モニタデータが取得された時刻をモニタデータと対応付けて取得するデータ取得部と、命令と、命令と対応づけて取得されたモニタデータと、当該モニタデータが取得された時刻とを対応づけて記憶する表示データ記憶部と、制御プログラムに含まれる複数の命令と、データ取得部によって取得されたモニタデータとを画面上に表示する表示制御部と、を備え、表示制御部は、画面上に表示された複数のモニタデータを、当該モニタデータが取得された時刻に従って、順番に強調表示することを特徴とする。
【国際調査報告】
2019207679.tif 000016
2019207679.tif 000017
2019207679.tif 000018