(57)【要約】      （修正有）【課題】機械装置の制御内容を表す制御データを使用して機械装置を制御するときの制御状態をより容易に把握する。【解決手段】監視システムは、機械装置を制御するターゲットＣＰＵボードと、ホストコンピュータ１０と、を備える。ホストコンピュータ１０は、ターゲットＣＰＵボードにおける制御内容を表す制御データを、制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる表示制御部４２と、制御内容が２つの内部変数に基づいて別の内部変数を演算する処理を含む場合、ターゲットＣＰＵボードが機械装置を制御しているときのそれら２つの内部変数の大小関係を取得する比較結果取得部５２と、を備える。表示制御部４２は、ターゲットＣＰＵボードが機械装置を制御しているときに、大小関係に基づいて２つの内部変数に対応する図形要素の表示態様を変更する。【選択図】図２
2014049047.tif 000002
【特許請求の範囲】
【請求項１】
機械装置を制御する装置制御部と、
前記装置制御部における制御内容を表す制御データを、前記制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる表示制御部と、
前記制御内容が少なくとも２つの内部変数に基づいて別の内部変数を演算する処理を含む場合、前記装置制御部が前記機械装置を制御しているときの前記少なくとも２つの内部変数について、そのそれぞれが前記別の内部変数に寄与する度合いの比較結果を取得する比較結果取得部と、を備え、
前記表示制御部は、前記装置制御部が前記機械装置を制御しているときに、比較結果に基づいて前記少なくとも２つの内部変数に対応する図形要素の表示態様を変更することを特徴とする監視システム。
【請求項２】
前記表示制御部は、前記少なくとも２つの内部変数のうち前記別の内部変数に対する寄与の度合いがより大きな内部変数に対応する図形要素を強調して前記ディスプレイに表示させることを特徴とする請求項１に記載の監視システム。
【請求項３】
前記比較結果取得部は、前記装置制御部が前記機械装置を制御しているときに、前記装置制御部から比較結果を取得することを特徴とする請求項１または２に記載の監視システム。
【請求項４】
機械装置を制御する制御装置における制御内容を表す制御データを、前記制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる機能と、
前記制御内容が少なくとも２つの内部変数に基づいて別の内部変数を演算する処理を含む場合、前記制御装置が前記機械装置を制御しているときの前記少なくとも２つの内部変数について、そのそれぞれが前記別の内部変数に寄与する度合いの比較結果を取得する機能と、
前記制御装置が前記機械装置を制御しているときに、比較結果に基づいて前記少なくとも２つの内部変数に対応する図形要素の表示態様を変更する機能と、をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項５】
機械装置を制御する装置制御部と、
前記装置制御部における制御内容を表す制御データを、前記制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる表示制御部と、を備え、
前記表示制御部は、前記装置制御部が前記機械装置を制御しているときの前記制御内容に含まれる内部変数が予め設定された範囲から外れる場合、前記装置制御部が前記機械装置を制御しているときに、前記内部変数に対応する図形要素を強調して前記ディスプレイに表示させることを特徴とする監視システム。
【請求項６】
前記表示制御部は、前記装置制御部が前記機械装置を制御しているときに、前記内部変数と前記しきい値との比較結果を前記装置制御部から取得することを特徴とする請求項５に記載の監視システム。
【請求項７】
機械装置を制御する制御装置における制御内容を表す制御データを、前記制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる機能と、
前記制御装置が前記機械装置を制御しているときの前記制御内容に含まれる内部変数が予め設定された範囲から外れる場合、前記制御装置が前記機械装置を制御しているときに、前記内部変数に対応する図形要素を強調して前記ディスプレイに表示させる機能と、をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械装置の監視システムに関する。
【背景技術】
【０００２】
産業用機器などの機械装置の制御用のプログラムの開発では、ブロック線図やラダー言語やシーケンシャル・ファンクション・チャートなどの制御内容の図的な表現が可能な言語が使用されることが多い。さらに本出願人は特許文献１において、プログラム開発効率の向上を目指し、図的なプログラミング言語を使用した編集技術を提案している。
【０００３】
また、特許文献２には、火力・原子力等の大規模プラントにおいて、様々な変数の関係をニューラルネットで示した上で図的に評価する技術が開示されている。特許文献２に記載の技術は、ニューラルネットにおけるリンクの重み係数値の変化をリンクの太さ・色・線種等で図的に評価し、プラントの状態変化を表示する手段を有する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２７１７６８号公報
【特許文献２】特開平０７−８４６３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
制御用のプログラムの開発の過程で、実機によるテストの結果、制御の不具合等によりある内部変数の値が異常な値を示すことがある。また、プログラム内部や外部のバグにより、想定外の動作が生じることもある。これらの場合、一般的にはプログラムの内部変数を一つ一つ登録し、時間軸でのグラフ表示を行うことによって値の変化を追う必要がある。したがって、現象の特定に時間がかかる。
【０００６】
特許文献２に記載の技術では、プラントの運転履歴のデータから情報が抽出され、抽出された情報に基づき状態変化が図的に表示される。この技術を使用してプラントの運転状態を解析しようとする場合、まず比較的長期間プラントを動作させて履歴データを蓄積する必要がある。したがって、特許文献２に記載の技術は上記課題の解決に資するものではない。
【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、機械装置の制御内容を表す制御データを使用して機械装置を制御するときの制御状態をより容易に把握できる技術の提供にある。
【課題を解決するための手段】
【０００８】
本発明のある態様は監視システムに関する。この監視システムは、機械装置を制御する装置制御部と、装置制御部における制御内容を表す制御データを、制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる表示制御部と、制御内容が少なくとも２つの内部変数に基づいて別の内部変数を演算する処理を含む場合、装置制御部が機械装置を制御しているときの少なくとも２つの内部変数について、そのそれぞれが別の内部変数に寄与する度合いの比較結果を取得する比較結果取得部と、を備える。表示制御部は、装置制御部が機械装置を制御しているときに、比較結果に基づいて少なくとも２つの内部変数に対応する図形要素の表示態様を変更する。
【０００９】
この態様によると、装置制御部が機械装置を制御しているときに、内部変数に関する比較結果に基づいた図形要素の表示が実現される。
【００１０】
本発明の別の態様は、監視システムである。この監視システムは、機械装置を制御する装置制御部と、装置制御部における制御内容を表す制御データを、制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる表示制御部と、を備える。表示制御部は、装置制御部が機械装置を制御しているときの制御内容に含まれる内部変数が予め設定された範囲から外れる場合、装置制御部が機械装置を制御しているときに、内部変数に対応する図形要素を強調してディスプレイに表示させる。
【００１１】
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によれば、機械装置の制御内容を表す制御データを使用して機械装置を制御するときの制御状態をより容易に把握できる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態に係る監視システムを説明するための模式図である。
【図２】図１のホストコンピュータの機能および構成を示すブロック図である。
【図３】図２の表示制御部がディスプレイに表示させる例示的なブロック線図を示す代表画面図である。
【図４】図４（ａ）〜（ｃ）は、２入力１出力の合流点について、内部変数間の比較による強調表示の態様を示す模式図である。
【図５】第１合流点、第２合流点および第３合流点が比較対象合流点として指定された場合のブロック線図を示す代表画面図である。
【図６】第８アークが比較対象アークとして指定された場合のブロック線図を示す代表画面図である。
【図７】図１のターゲットＣＰＵボードの機能および構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。
【００１５】
図１は、実施の形態に係る監視システム２を説明するための模式図である。監視システム２はホストコンピュータ１０とターゲットＣＰＵボード１００とを備える。
ホストコンピュータ１０はターゲットＣＰＵボード１００から送られてくるデータを確認するためのＰＣ（Personal Computer）であり、ターゲットＣＰＵボード１００とイーサネット(Ethernet、登録商標)ケーブルやＲＳ２３２ケーブルなどの通信ケーブル４を介して接続される。
【００１６】
ターゲットＣＰＵ（central processing unit）ボード１００は制御用のソースプログラムを保持しており、そのソースプログラムによって表される制御内容を実行することにより産業用機器などの機械装置１０２を制御する。ターゲットＣＰＵボード１００は例えばマイコンボードである。ターゲットＣＰＵボード１００は例えば機械装置１０２の操作量を演算して機械装置１０２に送信し、機械装置１０２からの応答を受信する。またターゲットＣＰＵボード１００は、機械装置１０２を制御しているときすなわちリアルタイムで、ソースプログラムに含まれる内部変数についての比較演算を実行する。ターゲットＣＰＵボード１００は、通信ケーブル４を介して比較演算の結果をホストコンピュータ１０に送信する。
【００１７】
なお、本実施の形態では監視システム２はホストコンピュータ１０とターゲットＣＰＵボード１００とを含み機械装置１０２を含まない場合について説明するが、他の実施の形態では、監視システムはホストコンピュータとターゲットＣＰＵボードと機械装置とを含んでもよい。その場合、ターゲットＣＰＵボードは機械装置の一部であってもよく、例えば産業用機器の組み込みシステムを構成してもよい。
【００１８】
ユーザはホストコンピュータ１０を使用して所望の制御内容を表す制御データを生成し、生成された制御データをホストコンピュータ１０に保持させてもよい。ホストコンピュータ１０は制御データの編集に際し、制御データを、処理単位に対応する図形要素を使用してディスプレイに表示させる。ホストコンピュータ１０は制御データを、Ｃ言語などのテキストベースのプログラミング言語で記述されたソースプログラムに変換すなわちコンパイルする。
【００１９】
ホストコンピュータ１０によって生成されたソースプログラムはそのまま、もしくはさらに機械語へ翻訳された後、ターゲットＣＰＵボード１００に実装され、様々な産業用機器の制御に利用される。
【００２０】
制御データは、ディスプレイにおける図形を用いた表示に適合した形式を有していてもよい。例えば制御データは、サーボ制御やフィードバック制御などのループを含む制御を好適に表せるブロック線図に対応するデータであってもよい。あるいはまた、制御データは、組み込みシステムのシーケンス制御を記述するのに好適なラダー図やシーケンシャル・ファンクション・チャートや特許文献１に記載される表現に対応するデータであってもよい。
【００２１】
処理単位は、制御内容を構成する処理の単位であってもよく、特に処理の流れにおけるひとつの処理またはひとまとまりの処理であってもよい。例えば処理単位は、条件とそれに対する応答という処理の流れにおいては、条件や応答であってもよい。例えば処理単位は、入力とそれに対する出力という処理の流れにおいては、入力や出力であってもよい。例えば処理単位は、シーケンス制御の場合はシーケンスのステップであってもよく、ブロック線図の場合はブロックに対応する処理であってもよい。
あるいはまた、処理単位は制御データの内部変数であってもよく、または内部変数間の加算処理や減算処理であってもよい。
以下、制御データがブロック線図に対応するデータである場合について説明する。
【００２２】
実施の形態に係る監視システム２は、ターゲットＣＰＵボード１００による機械装置１０２の制御中にリアルタイムで、内部変数の大まかな状態をホストコンピュータ１０のディスプレイに表示させる。特に、実施の形態に係る監視システム２は、制御データの特性や問題箇所を視覚的に判断できるようにするために、以下の２種類の表示をリアルタイムで行う。
（１）合流点について、支配的な入力と出力との関係を強調する。ブロック線図におけるアークの合流点において、少なくとも２つの入力値または中間値の和または差が１つの出力値または中間値となるので、この合流点の周りで値の大小を評価し、結果を図示する。
（２）予め設定したしきい値を超えているアークを強調する。機械装置１０２を動作させる前に、ホストコンピュータ１０を使用して各アークに上下のしきい値を設定する。機械装置１０２の動作中に任意のアークに対応する内部変数が設定されたしきい値を上回ったまたは下回った場合、アークの色、アークの太さまたはアークの線種を変更することにより強調する。
【００２３】
これにより、ユーザは、機械装置１０２の大まかな制御状態をリアルタイムで監視することができる。ユーザは、機械装置１０２に予期せぬ振る舞いが生じ始めるとそれが比較的大きくなる前に適切に対処することができる。
【００２４】
図２は、図１のホストコンピュータ１０の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
【００２５】
ホストコンピュータ１０は、マウスやキーボードなどの入力装置１２およびディスプレイ１４と接続される。ホストコンピュータ１０は不図示のインターネットなどのネットワークと接続されていてもよい。
ホストコンピュータ１０は、制御データ編集部４０と、コンパイル部４４と、表示制御部４２と、比較条件設定部５０と、比較結果受信部５２と、制御データ保持部１６と、を備える。
【００２６】
制御データ編集部４０は、入力装置１２および表示制御部４２と協働して、インタラクティブな制御データの編集を可能とする。制御データ編集部４０は、ユーザから入力装置１２を介して入力される入力情報に基づいて制御データを編集し、編集された制御データを制御データ保持部１６に登録する。制御データの編集は、新たに制御データを生成することと、既存の制御データを例えば制御データ保持部１６から呼び出して変更することと、を含む。制御データ編集部４０においては、例えばＭａｔｈＷｏｒｋｓ社が提供するＭＡＴＬＡＢ／Ｓｉｍｕｌｉｎｋに使用されているブロック線図編集技術と同様のブロック線図編集技術が使用されてもよい。
あるいはまた、制御データ編集部４０は、外部記憶装置やネットワーク（いずれも不図示）などから制御データを取得してもよい。
【００２７】
コンパイル部４４は、ユーザからの要求に基づき、制御データ保持部１６によって保持される制御データをソースプログラムに変換する。ソースプログラムは、ターゲットＣＰＵボード１００で実行可能な形式を有していてもよい。ブロック線図に対応する制御データをソースプログラムに変換する技術は公知である。
【００２８】
表示制御部４２は、ユーザからの要求に基づき、制御データ保持部１６によって保持される制御データを、ブロックやアークなどの図形要素を使用してディスプレイ１４に表示させる。
【００２９】
図３は、表示制御部４２がディスプレイ１４に表示させる例示的なブロック線図１３０を示す代表画面図である。図３に示されるブロック線図１３０は、サーボモータを位置指令（第１アーク１３２）・速度指令（第２アーク１３４）を用いたＰＤ（Proportional Differential）制御で制御することを想定している。したがって、ブロック線図１３０に対応する制御データの内部変数は、入力として位置指令、速度指令およびサーボモータの位置応答（第３アーク１３６）を含み、出力としてサーボモータへの指令値（第４アーク１３８）を含む。
【００３０】
ブロック線図１３０は、微分動作ブロック１５２と、位置比例動作ブロック１５４と、速度比例動作ブロック１５６と、位置指令値に対応し第１合流点１５８に入る第１アーク１３２と、速度指令値に対応し第２合流点１６０に入る第２アーク１３４と、位置応答値に対応し微分動作ブロック１５２に入る第３アーク１３６と、サーボモータへの指令値に対応し第３合流点１６２を始点とする第４アーク１３８と、第３アーク１３６から分岐点１６４で分かれて第１合流点１５８に入る第５アーク１４０と、位置比例動作ブロック１５４を始点とし第３合流点１６２に入る第６アーク１４２と、微分動作ブロック１５２を始点とし第２合流点１６０に入る第７アーク１４４と、速度比例動作ブロック１５６を始点とし第３合流点１６２に入る第８アーク１４６と、第２合流点１６０を始点とし速度比例動作ブロック１５６に入る第９アーク１４８と、第１合流点１５８を始点とし位置比例動作ブロック１５４に入る第１０アーク１５０と、を有する。
【００３１】
第５アーク１４０、第６アーク１４２、第７アーク１４４、第８アーク１４６、第９アーク１４８、第１０アーク１５０はそれぞれ制御データの第５内部変数、第６内部変数、第７内部変数、第８内部変数、第９内部変数、第１０内部変数に対応する。第５内部変数は位置応答値と同じ値を有する。
【００３２】
第１合流点１５８は、第１アーク１３２に対応する位置指令値から第５アーク１４０に対応する第５内部変数を減算して第１０アーク１５０に対応する第１０内部変数を得る減算処理に対応する。第２合流点１６０は、第２アーク１３４に対応する速度指令値から第７アーク１４４に対応する第７内部変数を減算して第９アーク１４８に対応する第９内部変数を得る減算処理に対応する。第３合流点１６２は、第６アーク１４２に対応する第６内部変数と第８アーク１４６に対応する第８内部変数とを加算して第４アーク１３８に対応する指令値を得る加算処理に対応する。
【００３３】
図２に戻り、比較条件設定部５０は、制御データの内部変数の比較に関する比較条件を設定する。比較条件設定部５０は、比較条件の入力を受け付けるための画面をディスプレイ１４に表示させ、ユーザがその画面に対応して入力装置１２を介して入力した比較条件を取得する。比較条件は、内部変数の比較を実行する合流点である比較対象合流点を特定する比較対象合流点ＩＤと、内部変数の比較を実行するアークである比較対象アークを特定する比較対象アークＩＤと、比較対象アークＩＤに関連する上限値および下限値と、を含む。比較条件設定部５０は、取得された比較条件を、通信ケーブル４を介してターゲットＣＰＵボード１００に送信する。
【００３４】
比較結果受信部５２は、比較対象合流点への入力となっている２つのアークに対応する２つの内部変数の間での、その合流点からの出力となっているアークに対応する内部変数への寄与の度合いの第１比較結果を、ターゲットＣＰＵボード１００から通信ケーブル４を介して受信する。この第１比較結果は、ターゲットＣＰＵボード１００が機械装置１０２を制御しているときにターゲットＣＰＵボード１００によってリアルタイムに演算される。
【００３５】
第１比較結果は、比較対象合流点への入力となっている２つのアークに対応する２つの内部変数の絶対値または中間値の大小関係であってもよい。この場合、入力の内部変数の絶対値が大きいほど、その入力の内部変数が出力の内部変数に寄与する度合いは大きく、逆の場合も同様である。
【００３６】
例えば比較対象合流点ＩＤによって第３合流点１６２が特定される場合、第１比較結果は第６アーク１４２に対応する第６内部変数と第８アーク１４６に対応する第８内部変数との大小関係を含む。この大小関係は、第６内部変数が第８内部変数よりも非常に大きい場合は１、そうでない場合は０となる第１ビットと、第８内部変数が第６内部変数よりも非常に大きい場合は１、そうでない場合は０となる第２ビットと、からなる２ビットによって表されてもよい。
【００３７】
比較結果受信部５２は、比較対象アークに対応する内部変数と比較対象アークに関連する上限値または下限値との第２比較結果を、ターゲットＣＰＵボード１００から通信ケーブル４を介して受信する。この第２比較結果は、ターゲットＣＰＵボード１００が機械装置１０２を制御しているときにターゲットＣＰＵボード１００によってリアルタイムに演算される。
【００３８】
第２比較結果は、内部変数と上限値または下限値との大小関係であってもよい。例えば、比較対象アークＩＤによって第８アーク１４６が特定される場合、第２比較結果は第８内部変数と上限値または下限値との大小関係を含む。この大小関係は、第８内部変数が下限値から上限値までの範囲に入っている場合は０、そうでない場合は１となる１ビットによって表されてもよい。または、この大小関係は、第８内部変数が下限値を下回る場合は１、そうでない場合は０となる第１ビットと、第８内部変数が上限値を上回る場合は１、そうでない場合は０となる第２ビットと、からなる２ビットによって表されてもよい。
【００３９】
表示制御部４２は、比較結果受信部５２によって受信された第１比較結果に基づいて比較対象合流点への入力となっている２つのアークの表示態様をリアルタイムで変更する。表示制御部４２は、ターゲットＣＰＵボード１００が機械装置１０２を制御しているときに、比較対象合流点への入力となっている２つのアークのうち、対応する内部変数の絶対値または中間値がより大きい方のアークを強調してディスプレイ１４に表示させる。例えば、表示制御部４２は、より大きい方のアークの色やアークの太さやアークの線種を変更することにより強調する。
【００４０】
図４（ａ）〜（ｃ）は、２入力１出力の合流点１８０について、内部変数間の比較による強調表示の態様を示す模式図である。図４（ａ）は一方の入力アーク１８２に対応する内部変数Ｘ１が、他方の入力アーク１８６に対応する内部変数Ｘ２よりも非常に大きい場合の合流点１８０周りの表示を示す。一方の入力アーク１８２は他方の入力アーク１８６よりも太い矢印によって表され、出力アーク１９０は一方の入力アーク１８２と同等の矢印で表される。
【００４１】
図４（ｂ）は他方の入力アーク１８８に対応する内部変数Ｘ２が、一方の入力アーク１８４に対応する内部変数Ｘ１よりも非常に大きい場合の合流点１８０周りの表示を示す。他方の入力アーク１８８は一方の入力アーク１８４よりも太い矢印によって表され、出力アーク１９０は他方の入力アーク１８８と同等の矢印で表される。
【００４２】
図４（ｃ）は内部変数Ｘ１と内部変数Ｘ２との大小関係がＸ１＞＞Ｘ２でもＸ１＜＜Ｘ２でもない場合、例えば内部変数Ｘ１と内部変数Ｘ２とが拮抗する場合の合流点１８０周りの表示を示す。この場合、合流点１８０については支配的な入出力関係を見出さないことを示すために、内部変数Ｘ１に対応する一方の入力アーク１８４、内部変数Ｘ２に対応する他方の入力アーク１８６、内部変数Ｙに対応する出力アーク１９２はいずれも同等の矢印で表される。すなわち、強調表示は行われない。内部変数Ｘ１に対応する一方の入力アーク１８４はＸ１＜＜Ｘ２（図４（ｂ））のときのものと同一であり、内部変数Ｘ２に対応する他方の入力アーク１８６はＸ１＞＞Ｘ２（図（ａ））のときのものと同一である。
【００４３】
支配的な入力・出力が常時切り替わる等により、強調状態とそうでない状態とが頻度高く切り替わるような状況も容易に想定される。これに対応するため、表示制御部４２は、例えば図４（ａ）の状態と図４（ｃ）の状態とが所定の上限頻度よりも高い頻度で切り替わる場合、強調対象のアークすなわち内部変数Ｘ１に対応するアークおよび内部変数Ｙに対応するアークをそのような切り替わりが継続する間常時（すなわち中断無く）強調表示する。図４（ｂ）の状態と図４（ｃ）の状態とが上限頻度よりも高い頻度で切り替わる場合も同様である。図４（ａ）の状態と図４（ｂ）の状態とが高頻度で切り替わる場合は統計的手法により常時強調表示する方のアークを選択してもよい。
【００４４】
図５は、第１合流点１５８、第２合流点１６０および第３合流点１６２が比較対象合流点として指定された場合のブロック線図１３１を示す代表画面図である。図５に示されるブロック線図１３１は図３に示されるブロック線図１３０に対応する。図５に示されるブロック線図１３１を見ると、第１合流点１５８については、第５内部変数よりも位置指令値の方が支配的であるため、位置指令値に対応する第１アーク１６６および第１０内部変数に対応する第１０アーク１６８は太い矢印で示される。第２合流点１６０については、速度指令値よりも第７内部変数の方が支配的であるため、第７内部変数に対応する第７アーク１７０および第９内部変数に対応する第９アーク１７２は太い矢印で示される。第３合流点１６２については、第６内部変数よりも第８内部変数の方が支配的であるため、第８内部変数に対応する第８アーク１７４およびサーボモータへの指令値に対応する第４アーク１７６は太い矢印で示される。
このように、本実施の形態によると、ある時点での支配的な入力と出力との関係が視覚的に表現される。
【００４５】
表示制御部４２は、比較結果受信部５２によって受信された第２比較結果に基づいて比較対象アークの表示態様をリアルタイムで変更する。表示制御部４２は、比較対象アークに対応する内部変数が比較対象アークに関連する上限値および下限値によって設定される範囲を外れる場合、そのアークを強調してディスプレイ１４に表示させる。内部変数が上限値および下限値によって設定される範囲を外れる場合は、例えば内部変数が上限値を上回る場合や、内部変数が下限値を下回る場合である。
なお、表示制御部４２は、内部変数が上限値を上回る場合と内部変数が下限値を下回る場合とで、強調表示方法を分けてもよい。
【００４６】
上限値や下限値付近で内部変数の値が上下する等により、強調状態とそうでない状態とが頻度高く切り替わるような状況も容易に想定される。これに対応するため、表示制御部４２は、例えば内部変数と上限値との大小関係が上限頻度よりも高い頻度で切り替わる場合、内部変数が一回上限値を上回ると後は強調対象のアークをそのような切り替わりが継続する間常時（すなわち中断無く）強調表示する。内部変数と下限値との大小関係が上限頻度よりも高い頻度で切り替わる場合も同様である。
【００４７】
図６は、第８アーク１７８が比較対象アークとして指定された場合のブロック線図１３３を示す代表画面図である。図６に示されるブロック線図１３３は図３に示されるブロック線図１３０に対応する。図６に示されるブロック線図１３３を見ると、第８内部変数が第８内部変数に対して設定された範囲を外れているので、第８内部変数に対応する第８アーク１７８は太い矢印で示される。これにより、ユーザは、速度比例動作ブロック１５６の出力に異常が表れていることをリアルタイムで確認できる。
このように、本実施の形態では、ある時点での異常値を示している箇所が視覚的に表現される。
【００４８】
図７は、図１のターゲットＣＰＵボード１００の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
【００４９】
ターゲットＣＰＵボード１００は、機械装置１０２の制御用のソースプログラムの実行だけでなく、比較対象合流点への入力となっている２つのアークに対応する２つの内部変数の絶対値または中間値の大小評価および比較対象アークに対応する内部変数のしきい値評価も行う。この場合、ターゲットＣＰＵボード１００からホストコンピュータ１０へ送信される第１比較結果および第２比較結果は、強調すべき箇所を定義した値すなわちビットのみでよいこととなる。
【００５０】
ターゲットＣＰＵボード１００は、操作量演算部１１０と、応答取得部１１２と、比較処理部１１４と、比較結果送信部１１６と、を含む。
操作量演算部１１０は、機械装置１０２の操作量を演算して機械装置１０２に送信する。例えば操作量演算部１１０は図３に示されるブロック線図１３０で表現される制御内容を実行することでサーボモータへの指令値を演算し、サーボモータにその指令値を送信する。
【００５１】
応答取得部１１２は、機械装置１０２からの応答を受信する。例えば応答取得部１１２は、図３に示されるブロック線図１３０に関して、サーボモータから位置応答値を受信する。
【００５２】
比較処理部１１４は、ターゲットＣＰＵボード１００が機械装置１０２を制御しているときに、比較対象合流点への入力となっている２つのアークに対応する２つの内部変数を比較する。比較処理部１１４は、２つの内部変数の間の大小関係が、一方の内部変数が他方の内部変数よりも非常に大きい、その逆、およびそれらのいずれでもない、の３つのうちのいずれであるかを示す第１比較結果を生成する。
【００５３】
比較処理部１１４は、ターゲットＣＰＵボード１００が機械装置１０２を制御しているときに、比較対象アークに対応する内部変数と比較対象アークに関連して設定された範囲とを比較する。比較処理部１１４は、内部変数と範囲との関係が、内部変数が範囲の下限値を下回っている、内部変数が範囲の上限値を上回っている、および内部変数が範囲内にある、の３つのうちのいずれであるかを示す第２比較結果を生成する。
【００５４】
比較結果送信部１１６は、比較処理部１１４によって生成された第１比較結果および第２比較結果を、通信ケーブル４を介してホストコンピュータ１０に送信する。
【００５５】
上述の実施の形態において、保持部の例は、ハードディスクや半導体メモリである。また、本明細書の記載に基づき、各部を、図示しないＣＰＵや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解されるところである。
【００５６】
以上の構成による監視システム２の動作を説明する。ここでは、新規に生成された制御用のソースプログラムの実機でのデバッグ作業に監視システム２を使用する状況が想定される。ユーザはホストコンピュータ１０とターゲットＣＰＵボード１００とを通信ケーブル４により接続し、生成したソースプログラムをターゲットＣＰＵボード１００にダウンロードする。ユーザはホストコンピュータ１０を使用して所望の比較条件を設定する。ターゲットＣＰＵボード１００はユーザの指示により機械装置１０２の制御を開始する。機械装置１０２が制御されている間、ターゲットＣＰＵボード１００は制御データの内部変数についての比較処理を行い、比較結果をリアルタイムで通信ケーブル４を介してホストコンピュータ１０に送信する。ホストコンピュータ１０は、受信した比較結果に基づき、ブロック線図において合流点周りの支配的な入出力関係、および、設定範囲を逸脱した内部変数に対応するアークをリアルタイムで強調表示する。ユーザは、表示内容を見ることで、機械装置１０２が所望の通りに動作しているかを確認する。
【００５７】
本実施の形態に係る監視システム２によると、ユーザは、合流点周りの支配的な入出力関係や設定範囲を逸脱した内部変数に対応するアークを、リアルタイムで容易に確認できる。したがって、ユーザの想定とディスプレイ１４における表示結果の相違から、ソースプログラムの動作やソースプログラムの外部からの入力に問題がないかどうかをリアルタイムで判定することができる。
【００５８】
また、ユーザは、例えば機械装置１０２に予期せぬ事態が発生しそうなときに、そのような事態が発生する前に適切な処理、例えば制御の一時中断等を行うことができる。その結果、そのような事態の発生を未然に防ぐことができる。
【００５９】
特に、機械装置１０２をしばらく動作させた後でその動作状態のログを解析する場合では、予期せぬ事態が実際に発生してしまってから、その原因を探ることとなる。これに対して本実施の形態に係る監視システム２は、そのような予期せぬ事態の発生を未然に防ぐことができる点で、ログ解析の場合より優れている。
【００６０】
また、本実施の形態に係る監視システム２では、ソースプログラム内の各内部変数をデータを集録するためのツールに登録しなくても、ソースプログラムの動作を視覚的に捉えることができる。したがって、ソースプログラムの実機でのデバッグ作業や機械装置１０２の動作監視や機械装置１０２のメンテナンス等のリアルタイム性が要求される状況により好適に適用されうる監視システム２を提供することができる。
【００６１】
機械装置１０２を制御するプログラムの開発の現場においては、機械装置１０２を仮想的なマシンで置き換えた上で動作を確認するシミュレーションの段階では予定通り動作するのに、実際にそのプログラムをターゲットＣＰＵボード１００にインストールして機械装置１０２を制御させてみると、予定通りには動作しない、という状況が比較的頻繁に発生する。そこで、本実施の形態に係る監視システム２は、ターゲットＣＰＵボード１００が機械装置１０２を制御しているときに、内部変数に係る比較処理を実行し、かつ、その比較結果に基づく強調表示を実行する。したがって、ユーザはシミュレーション段階では現れなかった問題をより素早く突き止めることができる。
【００６２】
制御状態のリアルタイム表示を行う場合、通信ケーブルを介した通信の速度がボトルネックとなることが多い。そこで、本実施の形態に係る監視システム２では、ホストコンピュータ１０は、各内部変数の生のデータを直接取り込む代わりに比較結果を受信することにより、強調表示を実現する。したがって、通信ケーブル４を介したデータ通信量を低減することができるので、制御状態のリアルタイム表示により適した監視システム２を提供できる。
【００６３】
ホストコンピュータ１０において各内部変数の生のデータを解析する方が解析の精度すなわちユーザに提供できる情報量は多い。しかしながら本発明者は、実機で動作させたときのソースプログラムの振る舞いをおおまかに、例えば定性的に見る場合には、解析の精度はそれほど必要なく、むしろリアルタイム性を高めた方が有益であることを独自に見出した。そこで本実施の形態に係る監視システム２では、解析の精度をある程度犠牲にし、その分リアルタイム性を高めている。これにより、全体として、ソースプログラムの振る舞いを大まかに見るという目的について最適なまたは最適に近い監視システム２が提供される。
【００６４】
以上、実施の形態に係る監視システム２の構成と動作について説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６５】
実施の形態では、主に２入力１出力の合流点に関する強調表示について説明したが、これに限られず、例えば３つ以上の入力を有する合流点に本実施の形態の技術的思想を適用してもよい。
【００６６】
実施の形態において、ホストコンピュータ１０は、ディスプレイ１４の表示結果をファイルに保存し、後で確認する機能を有していてもよい。
【００６７】
実施の形態では、ホストコンピュータ１０は通信ケーブル４を介して第１比較結果および第２比較結果をターゲットＣＰＵボード１００から受け取る場合について説明したが、これに限られず、ホストコンピュータ１０は通信ケーブル４を介して各内部変数の値を受け取り、ホストコンピュータ１０において比較処理を行ってもよい。
【００６８】
実施の形態では、ホストコンピュータ１０によって制御データの編集機能と制御状態のリアルタイム表示機能とが実現される場合について説明したが、これに限られず、例えばそのそれぞれの機能を別々のコンピュータによって実現してもよい。
【符号の説明】
【００６９】
２  監視システム、  ４  通信ケーブル、  １０  ホストコンピュータ、  １００  ターゲットＣＰＵボード、  １０２  機械装置。
【図１】
2014049047.tif 000003
【図２】
2014049047.tif 000004
【図３】
2014049047.tif 000005
【図４】
2014049047.tif 000006
【図５】
2014049047.tif 000007
【図６】
2014049047.tif 000008
【図７】
2014049047.tif 000009