(57)【要約】  本発明は、機械（３）の制御部（１）、エンジニアリングシステム（１１）、および制御部の駆動方法に関する。機械（３）を制御および／または調整するために設けられた、機械（３）の制御部（１）であって、該制御部（１）は少なくとも１つのユーザプログラム（５）を実行するために設けられており、前記ユーザプログラム（５）は、少なくとも１つの機能（７）を実行するために設けられており、前記制御部はデバッグ機能を有する。ユーザプログラム（５）が大きいと、デバッグ機能の機能性が、デバッグ機能が非常に複雑で、見通せないため制限される。本発明によれば、前記ユーザプログラム（５）が１つまたは複数のホールドポイント（９）をデバッグ機能のために有し、該ホールドポイント（９）はアクティベートおよび／またはデアクティベートすることができる、ことにより機能性が改善される。有利には機能（７）を群（１３）にまとめることができ、これによりホールドポイント（９）を群ごとにアクティベートおよびデアクティベートすることができる。
2008524734.tif 000002
【特許請求の範囲】
【請求項１】
機械（３）を制御および／または調整するために設けられた、機械（３）の制御部（１）であって、該制御部（１）は少なくとも１つのユーザプログラム（５）を実行するために設けられており、前記ユーザプログラム（５）は、少なくとも１つの機能（７）を実行するために設けられており、前記制御部はデバッグ機能を有する形式の制御部において、
前記ユーザプログラム（５）は１つまたは複数のホールドポイント（９）をデバッグ機能のために有し、該ホールドポイント（９）はアクティベートおよび／またはデアクティベートすることができる、ことを特徴とする制御部。
【請求項２】
機械（３）を制御および／または調整するために設けられた、機械（３）の制御部（１）であって、該制御部（１）は少なくとも１つのユーザプログラム（５）を実行するために設けられており、前記ユーザプログラム（５）は、少なくとも１つの機能（７）を実行するために設けられており、前記制御部はデバッグ機能を有する形式の制御部において、
前記ユーザプログラム（５）は、デバッグ機能のために１つまたは複数のホールドポイント（９）を有し、
前記ホールドポイント（９）は１つの機能に割り当てられており、該ホールドポイント（９）によってこの割り当てられた機能を停止することができ、
ユーザプログラムのさらなる機能（７）はさらに実行可能であり、
ホールドポイント（９）はとりわけアクティベートおよび／またはデアクティベートすることができる、ことを特徴とする制御部。
【請求項３】
請求項１または２記載の制御において、
１つまたは複数のホールドポイント（９）はプログラミング可能である、ことを特徴とする制御部。
【請求項４】
請求項３記載の制御部において、
１つまたは複数のホールドポイント（９）はプログラミングはブロック可能である、ことを特徴とする制御部。
【請求項５】
請求項１から４までのいずれか一項記載の制御部において、
少なくとも１つの機能（７）の選択によって、１つまたは複数のホールドポイント（９）を当該機能（７）内でアクティベートおよび／またはデアクティベートすることができ、
とりわけ機能（７）の群（１３）を選択することができ、
当該群に対してその中に含まれるホールドポイント（９）のアクティベートおよび／またはデアクティベートを実行することができる、ことを特徴とする制御部。
【請求項６】
請求項１から５までのいずれか一項記載の制御部において、
第１の実行可能な機能（７）は、ホールドポイント（９）によって停止された第２の機能から影響を受けない、ことを特徴とする制御部。
【請求項７】
請求項１から６までのいずれか一項記載の制御部において、
第１の機能（７）が機能継続のために第２の機能（７）のデータを必要としない限り、第１の実行可能な機能（７）はホールドポイント（９）により停止された第２の機能（７）から影響を受けない、ことを特徴とする制御部。
【請求項８】
機械（３）を制御および／または調整するために設けられた、機械（３）の制御部（１）に対するエンジニアリングシステム（１１）であって、該制御部（１）は少なくとも１つのユーザプログラム（５）を実行するために設けられており、前記ユーザプログラム（５）は、少なくとも１つの機能（７）を実行するために設けられており、前記制御部および／またはエンジニアリングシステムはデバッグ機能を有する形式のエンジニアリングシステムにおいて、
当該エンジニアリングシステムは請求項１から７までのいずれか一項記載の特徴を有する、ことを特徴とするエンジニアリングシステム。
【請求項９】
機械（３）を制御および／または調整するために設けられた、機械（３）の制御部（１）の駆動方法であって、該制御部（１）は少なくとも１つのユーザプログラム（５）を実行するために設けられており、前記ユーザプログラム（５）は、少なくとも１つの機能（７）を実行するために設けられており、前記制御部はデバッグ機能を有する形式の駆動方法において、
前記ユーザプログラム（５）には、デバッグ機能のために１つまたは複数のホールドポイント（９）が挿入され、
前記ホールドポイント（９）はアクティベートまたはデアクティベートされ、
少なくとも１つの機能（７）の選択によって、１つまたは複数のホールドポイント（９）が当該機能（７）内でアクティベートまたはデアクティベートされる、ことを特徴とする方法。
【請求項１０】
機械（３）を制御および／または調整するために設けられた、機械（３）の制御部（１）の駆動方法であって、該制御部（１）は少なくとも１つのユーザプログラム（５）を実行するために設けられており、前記ユーザプログラム（５）は、少なくとも１つの機能（７）を実行するために設けられており、前記制御部はデバッグ機能を有する形式の駆動方法において、
機能（７）に割り当てられたホールドポイント（９）によっては当該機能（７）だけが停止され、
少なくとも１つの別の機能（７）はさらに処理され、
前記処理は、停止された機能の情報が必要になるまで実行され、
とりわけ前記ホールドポイント（９）はアクティベートまたはデアクティベートされ、
少なくとも１つの機能（７）の選択によって、１つまたは複数のホールドポイント（９）が当該機能（７）内でアクティベートまたはデアクティベートされる、ことを特徴とする方法。
【請求項１１】
請求項９記載の方法において、
第１の機能（７）は実行され、第２の機能（７）はホールドポイント（９）によって停止される、ことを特徴とする方法。
【請求項１２】
請求項１１記載の方法において、
第１の機能（７）は、当該機能が停止された第２の機能（７）についての情報を必要とするまで実行される、ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械の制御部に関する。この機械は、例えば工作機械、生産機械または作業オートマンである。この機械は制御部によって、制御可能および／または調整可能である。
【０００２】
この制御部は少なくとも１つのユーザプログラムを実行するために設けられている。ユーザプログラムは、例えばエンジニアリングシステムによって作成することができ、制御部で実行されるプログラムである。ユーザプログラムにより工作機械では例えば制御命令のシーケンスを、工作機械の少なくとも１つの送り軸のためにプログラミングすることができる。この場合、工作機械の工具は原材料の輪郭を切削する。
【０００３】
ユーザプログラムは例えば生産機械で製造方法を制御するためにも使用することができる。ここで製造機械は例えばプラスチック射出成型機械である。ユーザプログラムはとりわけ命令シーケンスを有し、この命令シーケンスは制御部、例えばメモリをプログラミング可能な制御部（ＳＰＳ）によって実行することができる。しかしこの制御部はＣＮＣ制御部、ＮＣ制御部、または電気機械に対する駆動制御部とすることもでき、制御部は制御機能性と調整機能性の両方を有する。
【０００４】
制御部で実行することのできるプログラムを検査するためにデバッガを使用することができる。デバッガは、例えばユーザプログラムの検査を可能にするテストプログラムである。デバッガによって、例えばユーザプログラムを設計した（プログラミングした）ユ―ザはこのプログラムをステップごとに実行させることができる。ここではユーザプログラムの実行を常に中断することができる。このようにして例えばユーザプログラムにおけるエラーを識別し、ユーザプログラムを最適化することができる。ユーザプログラムがますます肥大化し、複雑に構成されることによって、デバッガによりデバッグのこの利点を得ることがますます困難になっている。なぜなら複雑性のため、ユーザプログラムの停止状態を人間のユーザによって検出することがほとんど不可能だからである。
【０００５】
本発明の基礎とする課題は、制御部に対するデバッグ機能を改善することである。
【０００６】
この課題は、請求項１または２記載の特徴を有する制御によって解決される。請求項８の特徴を有するエンジニアリングシステムにおいても、この課題は解決される。請求項９または１０の特徴を備える方法もこの課題を解決する。従属請求項３から７ないし請求項１１と１２は改善形態を示す。
【０００７】
機械を制御および／または調整するために設けられた、機械の制御部であって、該制御部は少なくとも１つのユーザプログラムを実行するために設けられている。ユーザプログラムは例えば、エンジニアリングシステムでユーザにより作成することができる。ユーザプログラムは機能を実行するために設けられており、制御部はデバッグ機能を有する。この機能は例えば、サブプログラムを実行するための計算命令または命令、または工作機械または操作オートマトン（ロボット）で使用される運動経過のための制御部では運動命令である。このデバッグ機能は、プログラム経過を中断することのできる機能である。このことは例えば、所定のプログラム経過位置におけるプログラム状態を検出するために使用することができる。本発明によれば、ユーザプログラムは１つまたは複数のホールドポイントをデバッグ機能のために有し、このホールドポイントはアクティベートおよび／またはデアクティベートすることができる。ホールドポイントは、ホールドポイントの位置においてプログラムの実行を中断するために用いられる。プログラムは例えばユーザプログラム、またはユーザプログラムに組み込まれたランタイムプログラムである。機能をアクティベートないしはデアクティベートすることによって、ホールドポイントをフレキシブルに選択ないしはキャンセルすることができ、これによりデバッグ機能の取り扱いが格段に改善される。
【０００８】
本発明によれば制御部は次のように構成することができる。すなわち、ユーザプログラムは、デバッグ機能のために１つまたは複数のホールドポイントを有し、このホールドポイントは１つの機能に割り当てられており、このホールドポイントによってこの割り当てられた機能を停止することができ、ユーザプログラムのさらなる機能はさらに実行可能であり、ユーザプログラムのホールドポイントはとりわけアクティベートおよび／またはデアクティベートすることができる。この機能によって、ユーザプログラムの一部だけを停止することができ、ユーザプログラムの別のプログラム部分はさらに実行することができる。このことは分りやすさを向上させるだけでなく、ユーザプログラムの機能性が制御部でのその実行時に不必要に損なわれないことに貢献する。有利にはユーザプログラムの実行時には、実行中の動作の制御機能に対して実際に不要である機能だけをデバッグ検査することができる。
【０００９】
別の有利な構成では、ホールドポイントはプログラミング可能である。このことは、ユーザ自身が、プログラム内のどのポイントでプログラムを停止させるかを決定できることを意味する。このことにより、ユーザプログラムの非常に詳細なプログラム状態を経験することができる。このことはエンジニアリングでも、運転開始時でも有利である。
【００１０】
有利には制御部は、１つまたは複数のホールドポイントのプログラミングがブロック可能であるように構成される。このことはエンジニアリングシステムにおいてユーザがユーザプログラムにホールドポイントを付与しており、所定の処理ステップでのプログラムの停止がプログラムクラッシュに繋がるか否かを正確に知らない場合に特に有利である。
【００１１】
本発明の別の有利な構成では、少なくとも１つの機能の選択によって、１つまたは複数のホールドポイントをこの機能内でアクティベートおよび／またはデアクティベートすることができる。１つの機能が複数のプログラムステップを含んでいれば、この機能内に１つまたは複数のホールドポイントをプログラミングすることができる。１つの機能内の１つまたは複数のホールドポイントは有利には機能の選択によってアクティベートないしはデアクティベートすることができる。さらなる改善形態では、機能群を決定し、すべてのホールドポイントを１つの群内でアクティベートまたはデアクティベートすることができる。
【００１２】
有利にはホールドポイントの種々の群を定義することができ、これによりホールドポイントを群に依存してアクティベートまたはデアクティベートすることができる。このことはデバッグ機能のフレキシビリティを向上させる。
【００１３】
別の構成では種々異なるタイプのホールドポイントが存在する。ここで一方のタイプはシミュレーション環境でデバッグ機能を可能にするために設けられており、他方のタイプはランタイムシステムでのデバッグ機能に対するものである。これらのホールドポイントにより、機械の動作中に制御部でのユーザプログラムの実行が中断される。ここではとりわけホールドポイントのブロック可能機能が特別の意味を有する。これにより制御部により制御および／または調整される機械の損傷が回避される。
【００１４】
その中に含まれるホールドポイントのアクティベートおよび／またはデアクティベートを実行することのできる機能群が選択可能であるという機能性の他に、制御部は次のような機能性によって拡張することができる。すなわち、第１の実行可能な機能が、ホールドポイントにより停止された第２の機能から影響を受けないという機能性により拡張することができる。このことは、機能、例えば１つのサブプログラムをユーザプログラム内で停止することができ、別の機能、例えば別のサブプログラムはさらに処理可能であり、処理されることを意味する。処理は例えば、さらなる処理のために、停止された機能の情報が必要になるまで行われる。したがって制御部は、第１の機能が機能継続のために第２の機能のデータを必要としない限り、第１の実行可能な機能がホールドポイントにより停止された第２の機能から影響を受けないように構成することができる。
【００１５】
本発明は制御部（制御部とは制御システムであると理解されたい）の他に、機械を制御および／または調整するために設けられた、機械の制御部に対するエンジニアリングシステムにも関するものである。制御部は、少なくとも１つのユーザプログラムを実行するために設けられている。このユーザプログラムは機能を実行するために設けられており、制御部および／またはエンジニアリングシステムはデバッグ機能を有する。エンジニアリングシステムは、上記の構成が同じように上記の制御部を有するように構成されている。
【００１６】
本発明は、前記の装置の他にそこから生じる方法にも関する。機械を制御および／または調整するために設けられた、機械の制御部の駆動方法であって、この制御部は少なくとも１つのユーザプログラムを実行するために設けられており、ユーザプログラムは機能を実行するために設けられており、制御部はデバッグ機能を有し、ユーザプログラムにはデバッグ機能のために少なくとも１つのホールドポイントが挿入される。ここで１つまたは複数のホールドポイントはアクティベートまたはデアクティベートすることができ、とりわけ少なくとも１つの機能を選択することによって、この機能内の１つまたは複数のホールドポイントをアクティベートまたはデアクティベートすることができる。
【００１７】
方法の別の構成では、第１の機能が実行され、第２の機能はホールドポイントによって停止される。
【００１８】
有利にはこの方法は、第１の機能が、これが停止された第２の機能についての情報を必要とするまで実行されるように構成することができる。
【００１９】
本発明の装置ないし本発明の方法の適用に対して多種多様な利点が得られる。装置、プロセス、運動等がユーザプログラムにより制御され、このために例えば制御テクノロジーオブジェクトが使用される場合、このユーザプログラムは有利には複数の機能に分割される。これらの機能はタスクと称することもでき、機能ユニットを形成する。デバッガはこれまでもユ―ザプログラム、すなわち機能をホールドポイントで中断することができ、再び継続することができるが、この手段は大きなユーザプログラムでとりわけエラー検索するには常に有利ではない。その理由は、制御すべきプロセスまたは運動を急激に停止または継続することができないからである。本発明によれば、ユーザプログラムの一部だけを停止することができる。この部分は機能である。１つの機能はとりわけ閉じたプログラムユニットであり、例えばサブプログラムまたは運動経路を計算するためのプログラムステップである。複数の機能と関連するエラーの場合、本発明によればこれらの機能だけを停止することができる。このことによりユーザに対するデバッグ機能は簡素化され、分りやすくなる。
【００２０】
有利には複数の機能を、これらの機能の選択により１つの群にまとめることができ、この群はユーザプログラムの少なくとも１つの機能またはユーザプログラムのすべての機能を含む。とりわけオートメーション装置のリアルタイムシステムをデバッグする場合、有利にはタスクをタスク群にまとめ、これらを共通にデバッグする（共通に停止、スタートする）。デバッグするために、例えば複数のタスクをタスク群にまとめることができる。これによりタスクプログラマがそのことの面倒を見る必要はない。タスク呼び出しおよび／または入れ子構成を自動的に分析することも有利である。
【００２１】
本発明の別の構成では、デバッガによってホールドポイントを調整し、このホールドポイントにおいては、形成された群からの機能のホールドポイントに達した場合だけ、ユーザプログラムが停止されるようにすることができる。有利には、形成された群のすべての機能が共通に停止され、共通に継続される。形成された群以外の機能はそのまま実行される。この機能性によって、ユーザプログラムの一部を停止することができ、ユーザプログラムの別の部分はそのまま実行される。
【００２２】
別の実施形態では、ユーザプログラムは同時には常に１つのホールドポイントでだけ停止することができる。一般的にはタスクと称される複数の機能の相互作用は、前記のデバッグ機能性によって簡単にテストすることができる。どのプログラム部分が停止ないしは継続されるかが簡単に見通せる。複数の機能で制御される結合されたプロシージャは共通して中断し、共通して継続することができる。
【００２３】
別の構成では、ホールドポイントがｎ番目の実行時に初めてアクティベートされる。このことによりプログラムをステップごとにテストすることができる。
【００２４】
アクティベートされたホールドポイントに達すると、次の応答の少なくとも１つが実行される：
・すべての機能または選択された機能（タスク）が停止される。
・制御部のすべての出力端または選択された出力端が遮断される。
・すべての時間または選択された時間が停止される。
・すべての監視または選択された監視が中止される。
・テクノロジーがそれ以上制御しない。
・プログラムの継続の際に出力端が再び解放される。
・プログラムの継続の際にすべての機能が再び継続される。
・ホールドポイントを備えるプログラム行がカラーでマークされる。
【００２５】
本発明の実施例が図１に示されている。
【００２６】
図１には機械３が示されている。機械３は制御部１を有する。ユーザプログラム５は、エンジニアリングシステム１１によって作成することができる。制御部１は、制御部１のユーザプログラム５に対するデバッガ１７を有する。ユーザプログラム５は機能７を有し、これらの機能はタスクとも称される。機能７の数は有利にはユーザにより決定することができる。破線によって機能数が可変であることが示されている。機能７は群１３にまとめることができる。図では群１３の機能７が太線により強調されている。機能７は例えばプログラムコード１５を有する。プログラムコード１５の処理はステップごとにデバッガによって実行することができる。ここでプログラムコードはホールドポイント９を有する。ホールドポイント９は、機能の処理をデバッガ１７によって停止すべき、機能内の個所をマークする。これらの機能は、施設の制御、プロセスの制御、またはテクノロジーオブジェクトによる運動案内の実行の制御に用いられる。
【００２７】
ユーザプログラムは例えば図示の機能７で実行され、ここでは２つの機能７が群１３にまとめられている。群１３のこれらの機能７では、ホールドポイント９をアクティベートおよびデアクティベートすることができるプログラム処理中に、群１３の機能７内でホールドポイント９に達すると、この群の機能が中断される。しかし群１３以外の別の機能はそのまま実行される。デバッガ１７は、機能内の中断個所を通報する。継続命令が与えられると、群１３内の機能７は継続される。群１３内の別のホールドポイント９に達すると（このことはどの機能７に群１３内のホールドポイントがあるかには関係ない）、再び群１３内のすべて退きのｕ７が中断される。デバッガ１７は再び中断個所を通報する。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施例を示す図である。
【図１】
2008524734.tif 000003
【手続補正書】
【提出日】平成18年10月13日(2006.10.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
機械（３）を制御および／または調整するために設けられた、機械（３）の制御部（１）であって、
該制御部（１）は少なくとも１つのユーザプログラム（５）を実行するために設けられており、
前記ユーザプログラム（５）は、少なくとも１つの機能（７）を実行するために設けられており、
前記制御部はデバッグ機能を有し、
前記ユーザプログラム（５）は、デバッグ機能のためにアクティベートおよび／またはデアクティベート可能なホールドポイント（９）を有し、
前記ホールドポイント（９）は１つの機能に割り当てられており、該ホールドポイント（９）によってこの割り当てられた機能を停止することができ、
ユーザプログラムのさらなる機能（７）はさらに実行可能である形式の制御部において、
第１の実行可能な機能（７）は、ホールドポイント（９）によって停止された第２の機能から影響を受けない、ことを特徴とする制御部。
【請求項２】
請求項１記載の制御部であって、
第１の機能（７）が機能継続のために第２の機能（７）のデータを必要としない限り、第１の実行可能な機能（７）はホールドポイント（９）により停止された第２の機能（７）から影響を受けない、ことを特徴とする制御部。
【請求項３】
請求項１または２記載の制御部であって、
１つまたは複数のホールドポイント（９）はプログラミング可能である、ことを特徴とする制御部。
【請求項４】
請求項３記載の制御部であって、
１つまたは複数のホールドポイント（９）はプログラミングはブロック可能である、ことを特徴とする制御部。
【請求項５】
請求項１から４までのいずれか一項記載の制御部であって、
少なくとも１つの機能（７）の選択によって、１つまたは複数のホールドポイント（９）を当該機能（７）内でアクティベートおよび／またはデアクティベートすることができ、
とりわけ機能（７）の群（１３）を選択することができ、
当該群に対してその中に含まれるホールドポイント（９）のアクティベートおよび／またはデアクティベートを実行することができる、ことを特徴とする制御部。
【請求項６】
機械（３）を制御および／または調整するために設けられた、機械（３）の制御部（１）に対するエンジニアリングシステム（１１）であって、該制御部（１）は少なくとも１つのユーザプログラム（５）を実行するために設けられており、
前記ユーザプログラム（５）は、少なくとも１つの機能（７）を実行するために設けられており、
前記制御部および／またはエンジニアリングシステムはデバッグ機能を有し、
前記ユーザプログラム（５）は、デバッグ機能のためにアクティベートおよび／またはデアクティベート可能なホールドポイント（９）を有し、
前記ホールドポイント（９）は１つの機能に割り当てられており、該ホールドポイント（９）によってこの割り当てられた機能を停止することができ、
ユーザプログラムのさらなる機能（７）はさらに実行可能である形式のエンジニアリングシステムにおいて、
第１の実行可能な機能（７）は、ホールドポイント（９）によって停止された第２の機能から影響を受けない、ことを特徴とするエンジニアリングシステム。
【請求項７】
機械（３）を制御および／または調整するために設けられた、機械（３）の制御部（１）の駆動方法であって、該制御部（１）は少なくとも１つのユーザプログラム（５）を実行するために設けられており、
前記ユーザプログラム（５）は、少なくとも１つの機能（７）を実行するために設けられており、
前記制御部はデバッグ機能を有する形式の駆動方法において、
機能（７）に割り当てられたホールドポイント（９）によっては当該機能（７）だけが停止され、
少なくとも１つの別の機能（７）はさらに処理され、
前記処理は、停止された機能の情報が必要になるまで実行され、
とりわけ前記ホールドポイント（９）はアクティベートまたはデアクティベートされ、
少なくとも１つの機能（７）の選択によって、１つまたは複数のホールドポイント（９）が当該機能（７）内でアクティベートまたはデアクティベートされる、ことを特徴とする方法。
【国際調査報告】
2008524734.tif 000004
2008524734.tif 000005
2008524734.tif 000006
2008524734.tif 000007