(57)【要約】【課題】産業用機器の制御内容を表す制御データのデバッグをより容易とする。【解決手段】データ編集装置は、産業用機器の制御内容を表す制御データを、制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる表示制御部１１４と、ユーザによる図形要素の指定を受け付ける図的プログラムデバッガ１１２と、を備える。表示制御部１１４は、産業用機器において実行可能な形式に変換された制御データの実行過程において、指定された図形要素に対応する処理単位に処理が到達すると、その図形要素の表示態様を変更する。【選択図】図１
2013235381.tif 000002
【特許請求の範囲】
【請求項１】
産業用機器の制御内容を表す制御データを、制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる表示制御部と、
ユーザによる図形要素の指定を受け付ける指定受付部と、を備え、
前記表示制御部は、産業用機器において実行可能な形式に変換された制御データの実行過程において、指定された図形要素に対応する処理単位に処理が到達すると、その図形要素の表示態様を変更することを特徴とするデータ編集装置。
【請求項２】
前記指定受付部は、ユーザによる複数の図形要素の指定を受け付け、
前記表示制御部は、指定された複数の図形要素を他の図形要素とは異なる態様でディスプレイに表示させ、
前記表示制御部は、産業用機器において実行可能な形式に変換された制御データの実行過程において、指定された複数の図形要素のうちのひとつに対応する処理単位に処理が到達すると、その図形要素の表示態様を変更することを特徴とする請求項１に記載のデータ編集装置。
【請求項３】
前記表示制御部は、産業用機器において実行可能な形式に変換された制御データの実行過程において、指定された図形要素に対応する処理単位に処理が到達すると、制御データで使用される変数のそのときの値をディスプレイに表示させることを特徴とする請求項１または２に記載のデータ編集装置。
【請求項４】
産業用機器の制御内容を表す制御データを、制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させるステップと、
ユーザによる図形要素の指定を受け付けるステップと、
産業用機器において実行可能な形式に変換された制御データの実行過程において、指定された図形要素に対応する処理単位に処理が到達すると、その図形要素の表示態様を変更するステップと、を含むことを特徴とするデータ編集方法。
【請求項５】
産業用機器の制御内容を表す制御データを、制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる機能と、
ユーザによる図形要素の指定を受け付ける機能と、
産業用機器において実行可能な形式に変換された制御データの実行過程において、指定された図形要素に対応する処理単位に処理が到達すると、その図形要素の表示態様を変更する機能と、をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用機器の制御内容を表す制御データの編集技術に関する。
【背景技術】
【０００２】
現在、多くの産業用機器に組み込みシステムが使用されている。組み込みシステムは特定の機能を実現するためのコンピュータシステムの総称であり、特に特定の機能を実現するための必要十分条件を満たす、選択および交換不可能なハードウエアとプログラムで構成されるコンピュータシステムであると言ってもよい。
【０００３】
組み込みシステムのソフトウエアの開発では、ラダー言語やシーケンシャル・ファンクション・チャートなどの制御内容の図的な表現が可能な言語が使用されることが多い。さらに本出願人は特許文献１において、プログラム開発効率の向上を目指し、図的なプログラミング言語を使用した編集技術を提案している。
【０００４】
ソフトウエアの開発にはデバッグ作業が伴う。デバッグ作業は、コンピュータプログラム中のバグや欠陥を発見および修正し、動作を仕様通りのものとするための作業である。特許文献２には、ハードウエア記述言語で記述されたソースコードに対してブレークポイントを設定することによりデバッグを行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２７１７６８号公報
【特許文献２】特開平６−２２３１２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図的なプログラミング言語で記述されたソフトウエアについてもデバッグ作業は発生する。現状では、例えば図的な表現をテキストベースの表現に変換した上で特許文献２に記載されるようなデバッグ技術を適用することが考えられるが、これは手間である。図的なプログラミング言語は、ソフトウエアの制御内容を図的に表現することで理解しやすくするという主旨で開発されたものであるから、デバッグについてもその主旨に沿った手法の登場が望まれている。
【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、産業用機器の制御内容を表す制御データのデバッグをより容易とする技術の提供にある。
【課題を解決するための手段】
【０００８】
本発明のある態様はデータ編集装置に関する。このデータ編集装置は、産業用機器の制御内容を表す制御データを、制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる表示制御部と、ユーザによる図形要素の指定を受け付ける指定受付部と、を備える。表示制御部は、産業用機器において実行可能な形式に変換された制御データの実行過程において、指定された図形要素に対応する処理単位に処理が到達すると、その図形要素の表示態様を変更する。
【０００９】
この態様によると、図形要素の表示態様の変更により、その図形要素に対応する処理単位に処理が到達したことを知ることができる。
【００１０】
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、産業用機器の制御内容を表す制御データのデバッグをより容易とすることができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態に係るデータ編集装置を備える図的プログラム開発環境の構成を示す模式図である。
【図２】図１のアドレステーブルの一例を示すデータ構造図である。
【図３】第１図的制御データを図形要素を使用して表示する第１編集画面の代表画面図である。
【図４】第２図的制御データを図形要素を使用して表示する第２編集画面の代表画面図である。
【図５】図１の図的プログラム開発環境における一連の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。
【００１４】
実施の形態に係るデータ編集装置は、産業用機器の組み込みシステムを制御するためのソフトウエアを開発する環境に設けられる。ユーザはデータ編集装置を使用して所望の制御内容を表す制御データを生成し、生成された制御データをデータ編集装置に保持させる。データ編集装置は制御データの編集に際し、制御データを、処理単位に対応する図形要素を使用してディスプレイに表示させる。データ編集装置は制御データを実行プログラムに変換すなわちコンパイルする。実行プログラムは、Ｃ言語などのテキストベースのプログラミング言語で記述されたプログラムであってもよいし、機械語で記述されたプログラムであってもよい。
【００１５】
データ編集装置によって生成された実行プログラムはそのまま、もしくはさらに機械語へ翻訳された後、ターゲットボードに実装され、様々な産業用機器のシミュレーションに利用される。また、実行プログラムを組み込みシステムに導入することで、産業用機器を直接駆動・制御することができる。
【００１６】
制御データは、ディスプレイにおける図形を用いた表示に適合した形式を有する図的制御データであってもよい。例えば制御データは、サーボ制御やフィードバック制御などのループを含む制御を好適に表せるブロック線図に対応するデータであってもよい。あるいはまた、制御データは、組み込みシステムのシーケンス制御を記述するのに好適なラダー図やシーケンシャル・ファンクション・チャートや本出願人が先に出願した特許文献１に記載される表現に対応するデータであってもよい。
【００１７】
処理単位は、制御内容を構成する処理の単位であり、特に処理の流れにおけるひとつの処理またはひとまとまりの処理であってもよい。例えば処理単位は、条件とそれに対する応答という処理の流れにおいては、条件や応答であってもよい。例えば処理単位は、入力とそれに対する出力という処理の流れにおいては、入力や出力であってもよい。例えば処理単位は、シーケンス制御の場合はシーケンスのステップであってもよく、ブロック線図の場合はブロックに対応する処理であってもよい。
【００１８】
本実施の形態に係るデータ編集装置は、図的制御データのデバッグを行うための高級言語デバッガを備える。このデバッガは、ユーザが図的制御データの図形要素に対してブレークポイントを設定することを可能とする。データ編集装置は、設定されたブレークポイントでブレークが発生した際に、どのブレークポイントで実行プログラムの実行が停止したかを、対応する図形要素の表示態様を変更することによりユーザに提示する。これにより、ユーザはどこで実行プログラムが停止したかを図的に目視で確認できるので、デバッグがより容易となり、デバッグ作業の効率が改善される。
【００１９】
図１は、図的プログラム開発環境２の構成を示す模式図である。図的プログラム開発環境２は、ホストコンピュータとしての実施の形態に係るデータ編集装置１００と、ターゲットボード４と、を備える。ターゲットボード４は、組み込みシステムの制御装置に使用されるデバイスであってもよい。
【００２０】
ターゲットボード４では実行処理系６により実行プログラム８の実行が管理される。実行プログラム８はデータ編集装置１００により生成される後述の実行プログラム１１０と同等のプログラムであり、データ編集装置１００からターゲットボード４へ実行プログラム１１０を手動または自動でダウンロードすることにより生成される。
【００２１】
データ編集装置１００は、図的エディタ１０２と、図的コンパイラ１０６と、図的プログラムデバッガ１１２と、表示制御部１１４と、ディスプレイ１１６と、を含む。図的エディタ１０２は、マウスやキーボードなどの不図示の入力装置および表示制御部１１４と協働して、インタラクティブな図的制御データ１０４の編集を可能とする。図的エディタ１０２は、ユーザ１から入力装置を介して入力される入力情報に基づいて図的制御データ１０４を編集し、編集された図的制御データ１０４をハードディスクドライブやメモリなどの不図示の保持部に登録する。図的制御データ１０４の編集は、新たに図的制御データ１０４を生成することと、既存の図的制御データ１０４を例えば保持部から呼び出して変更することと、を含む。図的エディタ１０２においては、例えば特許文献１に記載されるような公知の編集技術が使用されてもよい。
【００２２】
表示制御部１１４は、ユーザ１からの要求に基づき、図的制御データ１０４を、箱や矢印などの図形要素を使用してディスプレイ１１６に表示させる。
【００２３】
図的コンパイラ１０６は、ユーザ１からの要求に基づき、図的制御データ１０４を実行プログラム１１０に変換する。実行プログラム１１０は、産業用機器において実行可能な形式を有する。図的な表現に対応する制御データを実行形式に変換するコンパイル技術は公知である。
【００２４】
図的コンパイラ１０６は、図的制御データ１０４を実行プログラム１１０に変換する際、図的制御データ１０４に含まれる処理単位に対応する図形要素の情報と、その処理単位に対応する実行プログラム１１０のメモリアドレスと、を対応付けてアドレステーブル１０８に登録する。処理単位に対応する実行プログラム１１０のメモリアドレスは、例えば実行プログラム１１０をメモリ上に展開したときに処理単位に割り当てられる領域の識別子であってもよい。
【００２５】
図２は、アドレステーブル１０８の一例を示すデータ構造図である。アドレステーブル１０８は、図形要素を特定する図形要素ＩＤと、図形要素の表示上の位置と、図形要素に対応する処理単位のメモリアドレスと、を対応付けて保持する。
【００２６】
図１に戻り、図的プログラムデバッガ１１２は、入力装置および表示制御部１１４と協働して、インタラクティブな図的制御データ１０４のデバッグを可能とする。デバッグを行う際、ユーザ１は、表示制御部１１４によってディスプレイ１１６に表示されている図的制御データ１０４の図形要素のなかから、ブレークポイントを設定したい図形要素をクリック、ダブルクリック等により指定する。図的プログラムデバッガ１１２は、そのように指定された図形要素を、ブレークポイントが設定されるべき図形要素として取得する。
【００２７】
図的プログラムデバッガ１１２は、ブレークポイントが設定されるべき図形要素の情報を表示制御部１１４に渡す。表示制御部１１４は、ブレークポイントが設定されるべき図形要素を、他の図形要素とは異なる態様でディスプレイ１１６に表示させる。表示制御部１１４は、ブレークポイントが設定されるべき図形要素を強調して表示させてもよい。
【００２８】
図的プログラムデバッガ１１２は、アドレステーブル１０８を参照し、ブレークポイントが設定されるべき図形要素に対応するメモリアドレスを取得する。図的プログラムデバッガ１１２は、データ編集装置１００とターゲットボード４とを互いに接続する通信ケーブル等の通信経路を介して、ターゲットボード４の実行処理系６へブレークポイントの設定を要求する。この際、図的プログラムデバッガ１１２は、取得されたメモリアドレスを含むブレークポイント設定要求信号を生成して実行処理系６へ送信する。
【００２９】
実行処理系６は、ブレークポイント設定要求信号に含まれるメモリアドレスにブレークポイントを設定する。実行処理系６は、ターゲットボード４における実行プログラム８の実行過程においてブレークが発生する、すなわちブレークポイントが設定されたメモリアドレスに処理が到達すると、処理を一時中断すると共に、処理が到達したメモリアドレスを含むブレーク発生信号を図的プログラムデバッガ１１２に送信する。
【００３０】
図的プログラムデバッガ１１２は、アドレステーブル１０８を参照し、ブレーク発生信号に含まれるメモリアドレスに対応する図形要素の情報を取得する。図的プログラムデバッガ１１２は取得された図形要素の情報を、ブレークが発生した図形要素の情報として表示制御部１１４に渡す。表示制御部１１４は、ブレークが発生した図形要素の表示態様を変更する。
【００３１】
図的プログラムデバッガ１１２は、ユーザ１から処理の再開の指示を受け付けると、処理再開信号を生成して実行処理系６に送信する。実行処理系６は、処理再開信号を受けると、ブレークが発生した時点で一時中断されていた処理を再開する。
【００３２】
図３は、第１図的制御データを図形要素を使用して表示する第１編集画面３００の代表画面図である。第１編集画面３００は、図的制御データで使用される変数およびその値が表示される変数表示領域３０２と、制御内容が表示されるシーケンス表示領域３０４と、を有する。シーケンス表示領域３０４は、条件、応答、入力、出力等の処理単位に対応する箱群と、箱と箱との間に設けられる矢印群と、を主に含む。
【００３３】
シーケンス表示領域３０４に含まれる破線の枠３０６、３０８、３１０、３１２はそれぞれ、その枠によって囲まれる箱がブレークポイントが設定されるべき箱として指定されたことを示す。シーケンス表示領域３０４においてユーザがカーソル３１４を箱に合わせてダブルクリックすると、図的プログラムデバッガ１１２および表示制御部１１４の作用によりその箱は破線の枠で囲まれる。
【００３４】
シーケンス表示領域３０４に含まれる実線の枠３１６は、その枠によって囲まれる箱に対応する処理単位でブレークが発生したことを示す。シーケンス表示領域３０４に表示される第１図的制御データをコンパイルすることで得られる実行プログラムの実行過程において、破線の枠で囲まれる複数の箱のいずれかでブレークが発生した場合、表示制御部１１４は、ブレークが発生した箱を囲む枠を破線から実線に変更する。変数表示領域３０２は、ブレークが発生したときの変数の値を表示する。これにより、ユーザは、ブレークポイントを設定した複数の箱のうちのどの箱でブレークが発生したかを迅速かつ容易に知ることができる。
図３の例では、「パワーリモートＯＦＦ」の条件で「ロボット．サーボＯＮ指令」変数が０となったことを知ることができる。
【００３５】
図４は、第２図的制御データを図形要素を使用して表示する第２編集画面４００の代表画面図である。第２編集画面４００は、変数表示領域３０２に対応する変数表示領域４０２と、シーケンス表示領域３０４に対応するシーケンス表示領域４０４と、を有する。
【００３６】
シーケンス表示領域４０４に含まれる破線の枠４０６、４０８はそれぞれ、その枠によって囲まれる箱がブレークポイントが設定されるべき箱として指定されたことを示す。シーケンス表示領域４０４に含まれる実線の枠４１０は、その枠によって囲まれる箱に対応する処理単位でブレークが発生したことを示す。変数表示領域４０２は、ブレークが発生したときの変数の値を表示する。
図４の例では、処理が「入力条件＃１」、「入力条件＃５」、「入力条件＃７」、「組合わせその２＃８」と進んだことが分かる。
【００３７】
以上の構成によるデータ編集装置１００の動作を説明する。
図５は、図的プログラム開発環境２における一連の処理の一例を示すフローチャートである。データ編集装置１００は、図的制御データを図形要素を使用してディスプレイ１１６に表示する（Ｓ２０２）。データ編集装置１００は、ユーザから、ブレークポイントを設定すべき図形要素の指定を受け付ける（Ｓ２０４）。データ編集装置１００は、指定された図形要素を他の図形要素とは異なる態様でディスプレイ１１６に表示させる（Ｓ２０６）。ターゲットボード４は、図的制御データに対応する実行プログラムを実行する（Ｓ２０８）。ターゲットボード４は、ブレークの発生を検出する（Ｓ２１０）。データ編集装置１００は、ブレークが発生した図形要素の表示態様を変更する（Ｓ２１２）。
【００３８】
本実施の形態に係るデータ編集装置１００によると、ディスプレイ１１６に表示される図形要素を指定することで、ブレークポイントを設定することができる。さらに、対応する実行プログラムの実行中にブレークが発生すると、ブレークが発生した図形要素の表示態様が変更される。したがって、ユーザは、ブレークポイントを設定するために図的制御データを例えばテキストベースの言語で記述されるデータに変換する必要はなく、図的制御データのままでブレークポイントを設定できる。また、ブレークポイントの設定はブレークポイントを設定したい図形要素を指定することにより行われるので、直感的でユーザにとって使いやすいものとなっている。また、ブレークが発生した場合、ユーザは、表示態様が変更された図形要素に注目することでより迅速かつ容易にブレークが発生した図形要素を特定できる。
【００３９】
また、本実施の形態に係るデータ編集装置１００によると、図的制御データの実行シーケンスの任意のタイミングでプログラムの実行を停止できる。したがって、プログラムの中間状態を容易に目視で確認できるので、図的制御データのデバッグ作業がより容易となる。
【００４０】
また、本実施の形態に係るデータ編集装置１００では、ブレークポイントが設定されている図形要素、ブレークが発生した図形要素、およびそれら以外の図形要素は、それぞれ異なる表示態様でディスプレイ１１６に表示される。したがって、ブレークポイントに関してより分かりやすい表示が実現される。
【００４１】
また、本実施の形態に係るデータ編集装置１００では、ブレークが発生したときの変数の値がディスプレイ１１６に表示される。このような変数の値はユーザによるデバッグ作業の助けとなり、ユーザは別途このような変数の値を調査する必要はないので、デバッグ作業の効率化に寄与する。
【００４２】
図的制御データに対応する実行プログラムの実行制御に周期的実行制御が採用される場合に、本実施の形態に係るブレークポイントの設定手法を採用しないとすると、デバッグする際は周期単位での実行／停止となる。このように実行プログラムを実行／停止する単位が周期単位であるため、実行周期の途中におけるプログラムの状態を知ることは困難である。１実行周期の途中におけるプログラムの中間状態を知るためには、本来は不要であるはずの中間状態を示すデバッグ用変数を追加するなどの元のプログラムの改造が必要となるが、これはデバッグ作業を複雑にする。特に実行プログラムが大規模化して１実行周期内で行われる処理が多くなると、デバッグ作業の効率はさらに悪化しうる。
そこで、本実施の形態に係るブレークポイントの設定手法を採用すると、より効率的にデバッグ作業を行うことができる。
【００４３】
また、図的制御データがシーケンス制御を表す場合、制御の流れのなかに「printf()」文などの余計な処理を挿入すると、制御のタイミングがずれる虞がある。このようなタイミングのずれは実行プログラムの予期せぬ動作を引き起こす可能性があり、また予期せぬ動作を修正してしまう可能性もある。そこで本実施の形態に係るデータ編集装置１００によると、そのような余計な処理を挿入する必要はないので、デバッグの正確さが向上する。
【００４４】
以上、実施の形態に係るデータ編集装置１００の構成と動作について説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４５】
実施の形態では、ブレークポイントが設定されている図形要素は破線の枠で囲まれて表示され、ブレークが発生した図形要素は実線の枠で囲まれて表示される場合について説明したが、これに限られず、例えば、図形要素の表示の色を変えることによってブレークポイントが設定されていることやブレークが発生したことを示してもよい。ブレークポイントが設定されている図形要素の色とブレークが発生した図形要素の色とを異ならせてもよい。あるいはまた、ブレークポイントが設定されている図形要素を他の図形要素よりも拡大して表示する等、図形要素の大きさを異ならせてもよい。図形要素が文字を含む場合はその文字のフォントを異ならせてもよい。
【００４６】
実施の形態では、図的プログラム開発環境２はデータ編集装置１００とターゲットボード４とを備える場合について説明したが、これに限られず、図的プログラム開発環境は、データ編集装置１００の機能とターゲットボード４の機能とを併せ持つひとつのコンピュータによって実現されてもよい。この場合、デバッグ作業はより容易となる。
【符号の説明】
【００４７】
２  図的プログラム開発環境、  ４  ターゲットボード、  ６  実行処理系、  １００  データ編集装置、  １０２  図的エディタ、  １０４  図的制御データ、  １０６  図的コンパイラ、  １０８  アドレステーブル、  １１４  表示制御部、  １１６  ディスプレイ。
【図１】
2013235381.tif 000003
【図２】
2013235381.tif 000004
【図３】
2013235381.tif 000005
【図４】
2013235381.tif 000006
【図５】
2013235381.tif 000007