(57)【要約】【課題】自動化システムのプログラムを自動修正する際、自動化システムのサーバ上のアプリケーションやユーザ行動に依存することなく修正が可能な改善された方法を提供する【解決手段】自動化システム１０に属する識別手段２０を用い、修正すべきプログラム１２のプログラム構成要素１６ａ、１６ｂに関連づけられた第１のデータ１８ａ、１８ｂを確定し、選択手段３０を用い、第１のデータ１８ａ、１８ｂに基いて、データベース２６に格納された又は保存可能な１つのプログラムコードオブジェクト２８ａ、２８ｂを選択し、その選択されたプログラムコードオブジェクト２８ａ、２８ｂをプログラム１２に統合することにより、そのプログラムコードオブジェクト２８ａ、２８ｂを用いてプログラム１２を修正する。【選択図】図１
2009099150.tif 000002
【特許請求の範囲】
【請求項１】
自動化システム（１０）のプログラム（１２）を自動修正するための方法において、
前記自動化システム（１０）に属する識別手段（２０）を用い、前記プログラム（１２）のプログラム構成要素（１６ａ、１６ｂ）に関連づけられた第１のデータ（１８ａ、１８ｂ）が確定され、
選択手段（３０）を用い、前記第１のデータ（１８ａ、１８ｂ）に基いて、少なくとも１つのデータベース（２６）に格納された又は保存可能なプログラムコードオブジェクト（２８ａ、２８ｂ、２８ｃ）が選択され、
前記プログラムコードオブジェクト（２８ａ、２８ｂ、２８ｃ）が前記プログラム（１２）に統合されることにより、前記プログラム（１２）が前記プログラムコードオブジェクト（２８ａ、２８ｂ、２８ｃ）を用いて少なくとも部分的に修正される
自動化システムのプログラム自動修正方法。
【請求項２】
前記プログラムが少なくともファームウェア構成要素（１４ａ、１４ｂ）を含み、
前記自動化システム（１０）に属する識別手段（２０）を用い、プログラム構成要素（１６ａ、１６ｂ）としてのファームウェア構成要素（１４ａ、１４ｂ）に関連づけられた第１のデータ（１８ａ、１８ｂ）が確定され、
前記プログラムコードオブジェクト（２８ａ、２８ｂ、２８ｃ）がファームウェア構成要素（１４ａ、１４ｂ）として前記プログラム（１２）に統合されることにより、前記プログラム（１２）が前記プログラムコードオブジェクト（２８ａ、２８ｂ、２８ｃ）を用いて少なくとも部分的に修正される
請求項１記載の方法。
【請求項３】
前記データベース（２６）が前記自動化システム（１０）から離れて置かれたサーバ（２２）に属している請求項１又は２記載の方法。
【請求項４】
前記選択手段（３０）及び前記識別手段（２０）の少なくともいずれかが前記プログラム（１２）のプログラム構成要素（１６ａ、１６ｂ）である請求項１〜３のいずれか１つに記載の方法。
【請求項５】
前記プログラム（１２）の前記プログラム構成要素（１６ａ、１６ｂ）に関連づけられた少なくとも１つの第２のデータ（３６）と選択された前記プログラムコードオブジェクト（２８ａ、２８ｂ、２８ｃ）に関連づけられた少なくとも１つの第３のデータ（３８）とが比較され、前記プログラム（１２）が前記比較の結果に依存して少なくとも部分的に修正される請求項１〜４のいずれか１つに記載の方法。
【請求項６】
前記第２のデータ（３６）が前記プログラム（１２）から、及び前記第３のデータ（３８）が前記プログラムコードオブジェクト（２８ａ、２８ｂ、２８ｃ）から、の少なくともいずれかにより取出し可能又は確定可能である請求項５記載の方法。
【請求項７】
前記第２のデータ（３６）及び前記第３のデータ（３６、３８）の少なくともいずれかが、バージョン番号、設定日付、変更日付及び参照番号の少なくともいずれかである請求項５又は６記載の方法。
【請求項８】
前記第１のデータ（１８ａ、１８ｂ）がバージョン番号、設定日付、変更日付、参照番号及びハードウェア識別の少なくともいずれかである請求項１〜７のいずれか１つに記載の方法。
【請求項９】
初期化手段（３４ａ）を用い、前記プログラム（１２）の初期化、プログラム終了、プログラム中断及びプログラム休止の少なくともいずれかと関連して自動変更が呼び出されること、及び自動修正が実行可能かどうかを前記初期化手段（３４ａ）が調べること、の少なくともいずれかが行われる請求項１〜８のいずれか１つに記載の方法。
【請求項１０】
前記プログラム（１２）がもっぱら、不揮発性メモリに格納された又は保存可能なファームウェア構成要素（１４ａ、１４ｂ）を含む請求項１〜９のいずれか１つに記載の方法。
【請求項１１】
特に少なくともファームウェア構成要素（１４ａ、１４ｂ）を含み、請求項１〜１０のいずれか１つにより修正可能なプログラム（１２）を有する自動化システム（１０）であって、
前記自動化システム（１０）に属し、プログラム構成要素（１２）特にファームウェア構成要素（１４ａ、１４ｂ）に関連づけられた第１のデータ（１８ａ、１８ｂ）を確定するための識別手段（２０）を有し、
少なくとも１つのデータベース（２６）に格納された又は保存可能なプログラムコードオブジェクト（２８ａ、２８ｂ、２８ｃ）を前記第１のデータ（１８ａ、１８ｂ）に基いて選択するための選択手段（３０）、及び前記プログラムコードオブジェクト（２８ａ、２８ｂ、２８ｃ）を前記プログラム（１２）に特にファームウェア構成要素（１４ａ、１４ｂ）として統合し、プログラムを修正するための統合手段（３４）を有する
自動化システム。
【請求項１２】
コンピュータプログラムがコンピュータ上で実行されるとき請求項１〜１０のいずれか１つに記載の方法をインプリメントするためコンピュータにより実行可能なプログラムコード指示を有するコンピュータプログラム。
【請求項１３】
コンピュータにより実行可能な請求項１２記載のコンピュータプログラムを有する特にメモリ媒体であるコンピュータプログラム媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動化システムのプログラムを自動的に修正するための方法に関する。本発明はさらに自動的に修正可能なプログラムを有する自動化システム、並びに自動化システムのプログラムを自動的に修正するための方法をインプリメントするためのプログラムコード指示を有するコンピュータプログラム及びそのようなコンピュータプログラムを有するコンピュータプログラム媒体に関する。
【背景技術】
【０００２】
自動化システムのファームウェア及びソフトウェアの少なくともいずれかを修正するための方法は一般に知られている。ここで自動化システムの概念には、全機器又は装置を含み、したがって例えばプログラム記憶式制御部のような制御部、プロセス計算機、（工業用）コンピュータなどのほかに、操作制御部、周波数変換器等々を含み、それらは工業技術的プロセスの制御、調節及び監視の少なくともいずれかのために、例えば材料、エネルギー又は情報などの変換又は輸送に使用されるか使用可能であり、その際特に適当な、例えばセンサ又はアクチュエータのような技術的装置を介してエネルギーが消費されるか又は変えられる。
【０００３】
そのような修正の受け入れにおいては、したがって例えばアプデート又はアプグレードにおいては、通例自動化システムのユーザがアクティブとされる。ユーザはその際ハードウェア又はソフトウェア「手段」を使用し、この手段によってユーザは自動化システムのファームウェア及びプログラムの少なくともいずれかを自動化システムへ、特にファームウェア及びソフトウェアの少なくともいずれかへ伝送する。加えて、従来のソフトウェア/ファームウェアと最新のものにされたソフトウェア/ファームウェアとの間の再度ユーザによって作動せしめられる有効接続、したがって例えばインストールが必要である。
【０００４】
このような修正に対する自動化された選択肢においては、自動化システムから離れて置かれたサーバにあるアプリケーションが自動化システムに対する伝達接続を確立する。アプリケーションは自動化システムのファームウェア及びソフトウェアの少なくともいずれかを調べ、場合によってはより有効なファームウェア及びソフトウェアの少なくともいずれかを自動化システムへ伝送する。この伝送されたウェアはアプリケーションからの伝送後自動化システム上に有効に接続される。
【０００５】
しかしながらこの一般的に知られる方法には、修正のための「外部から」の能動化が必要であり、したがって例えばユーザが行動を起すか、又は離れて置かれたサーバ上のアプリケーションが行動を起さなければならない。その際したがって自動化システムないしそのファームウェア及びソフトウェアの少なくともいずれかは、ユーザないし特有のサーバに依存する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
それゆえ本発明の課題は、自動化システムのプログラム、例えばファームウェア構成要素を含むプログラム、特に制御プログラム等の自動修正のための改善された方法であって、自動化システムがサーバ上のアプリケーション及びユーザ行動の少なくともいずれかに依存しない方法を提供することにある。本発明の別の課題は、自動化システムのプログラムがその作動時間中に修正されることを可能にすることにある。
【課題を解決するための手段】
【０００７】
この課題は本発明に従えば、請求項１に明確に記述されるような、自動化システムのプログラムの自動修正のための方法によって解決される。そのため、自動化システムに属する識別手段を用いて、例えば不揮発性メモリ、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、バッファＲＡＭ、メモリカード、ハードディスク等に格納された又は保存可能なプログラム構成要素に関連づけられた第１のデータが確定される。例えば選択プログラム、選択ルーチン、サブルーチン等のような例えばソフトウェア選択手段及びハードウェア選択手段の少なくともいずれかといった選択手段を用いて、第１のデータに基き、少なくとも１つのデータベースに格納された又は保存可能なデータオブジェクト、特にプログラムコードデータを有するデータオブジェクト（以下プログラムコードオブジェクトという）が選択され、自動化システムのプログラムがプログラムコードオブジェクトを用いて、プログラムコードオブジェクトがプログラムに統合されることによって少なくとも部分的に修正される。これによって、修正は自動化システムそのものによって自動的に初期化され実行されることが保証される。識別手段は例えばソフトウェアとして実現することができる。
【０００８】
本発明の別の課題は、方法を実施するための特に適した自動化システムを提供することにある。この課題は請求項１１に明確に記述されたような自動化システムによって解決される。
【０００９】
本発明の有利な構成は従属請求項に記載したとおりである。そこに使用される引用は、各従属請求項の特徴によって主請求項の対象が別様に構成されることを示すものである。即ち、それらの引用は、引用された従属請求項の特徴の組み合わせに対する独立した対象の保護の獲得を放棄するものと解されるべきではない。さらに請求項の解釈を顧慮して、後続の請求項において特徴が詳細に具体化されている場合には、そのような限定はそれぞれ先行する請求項には存在しないことに由来している。
【００１０】
プログラムが少なくともファームウェア構成要素を含むと有利であり、その際自動化システムに属する識別手段を用いて、プログラム構成要素としてのファームウェア構成要素に関連づけられた第１のデータが確定され、その際プログラムがプログラムコードオブジェクトを用いて、プログラムコードオブジェクトがファームウェア構成要素としてプログラムに統合されることによって少なくとも部分的に修正される。これによって、プログラムの簡単な修正及び更新の少なくともいずれかが、特にファームウェア構成要素を用いて、保証される。
【００１１】
有利な実施形態においては、データベースは少なくとも１つのサーバに属し、その際サーバは自動化システムから離れて置かれているか、又はその自動化システム又は別の自動化システムの統合された構成要素であり得る。
【００１２】
自動化システムから離れて置かれたサーバの場合、例えばプログラムコードオブジェクトの格納は簡易化される。加えて、データベースは簡単な仕方で拡張、補完、増大、移動等が可能である。即ち、交換可能なサブデータベースからデータベースのモジュラー構造も可能である。データベースはその際サーバの統合された構成要素であることが可能であり、又はデータベースはサーバと導線接続、又は無線式に伝達可能に結合されることが可能である。その際この導線接続はここで又以下において例えばケーブル、導体等に関係し、無線式は例えば無線中継方式、Ｗ-ＬＡＮ（無線ラン）、ブルートゥース、赤外線、レーザ、無線Firewire（IEEE1394インタフェース）等が関係する。サーバ及び自動化システムはその際同様に導線接続で又は無線式に伝達可能に相互に接続されるか接続可能であり得る。さらに、サーバ及び自動化システムは例えば直接又は間接に、例えばインタネットを用いて接続されるようにすることができる。さらに、複数の自動化システムが１つのサーバにアクセスすることができ、例えばネットワークが星型構成を作ることができ、或はリング構成、線状構成又は星型、リング及び線状構成の任意の組み合わせを備えることができ、それは整備や更新等を簡単化し、したがってコストの低減に寄与する。
【００１３】
選択手段、識別手段又は選択及び識別手段がプログラム構成要素として、したがって自動化システムの必要に応じて更新すべきプログラムの構成要素として実施されると特に有利である。これによって高いフレキシビリティが、例えば簡単な変更可能性、例えばアップデート及びアップグレード可能性の少なくともいずれかが保証される。それに代えて、これらの手段の少なくとも１つを、少なくとも１つの外部の、したがってプログラムに属さない構成要素として実施することができ、その構成要素はプログラムへのアクセス又は少なくともプログラムの構成要素へのアクセスを持つ。それに加えて又はそれに代えて、選択手段及び識別手段の少なくともいずれかはハードウェアとして実行することができる。
【００１４】
プログラム構成要素したがって例えばファームウェア構成要素に関連づけられた少なくとも１つの第２のデータと選択されたプログラムコードオブジェクトに関連づけられた少なくとも１つの第３のデータが、例えば比較器を用いて比較され、プログラムがその比較の結果に依存して少なくとも部分的に修正されるのが有利である。その際、例えば第２及び第３のデータはバージョン番号、設定日付、変更日付、参照番号、これらの組み合わせ等であってよい。これによって、選択されたプログラムコードオブジェクトが、プログラムの更新、改善、拡張、変更またはその他の望ましい修正を保証することが確保される。したがって、プログラム構成要素、特にプログラムコードオブジェクトがプログラム中に統合されるものとしてのファームウェア構成要素が、既に自動化システム中に存在する対応したプログラム構成要素より最新の度合いが高く、したがって例えばアップデート/アップグレード又はダウングレードが実行されることが保証される。
【００１５】
第２のデータはプログラムから取り出し可能か又は確定可能であるのが特に有利である。さらに、第３のデータがプログラムコードオブジェクトから取出し可能か又は確定可能であり得る。第２、第３又は両データはその場合バージョン番号、設定日付、変更日付、参照番号、プログラム名、ロットサイズ、ロット識別等、又はそれらの任意の組み合わせを対象とすることができる。この場合及び以下において、例えば少なくとも１つのデータはプログラム（第２のデータ）又はプログラムコードオブジェクト（第３のデータ）から直接使用可能か又は例えばアルゴリズム等に基いてプログラムから又はプログラムの少なくとも一部分から確定可能であることを意味することが察知される。それに加えて又はそれに代えて、少なくとも１つのデータは外部に（したがってプログラム中ではなく）、格納されるか又は保存可能であり、直接第２の又は第３のデータとして、又は間接にアルゴリズムに対する入力値として使用することができる。これによって、第２及び第３のデータの少なくともいずれかの良好な変更可能性が保証され、そのことから自動化システム又は自動化技術の発展に本方法の改善された適応可能性をもたらす。
【００１６】
それに加えて又はそれに代えて、第１のデータはバージョン番号、設定日付、変更日付、参照番号、プログラム名、ロット識別（例えばロット名等）、ロットサイズ、ハードウェア識別、例えばボード識別、プロセッサ識別、及びＭＡＣ（Media Access Control）アドレス等の少なくともいずれかであってよく、さらに第１のデータは第２のデータと対応可能、したがって第２のデータは例えば第１のデータから確定可能又は第１のデータと同一であり得る。
【００１７】
本方法は、例えばソフトウェア構成要素及びハードウェア構成要素の少なくともいずれかとして構成されていてよい初期化手段を用いて、プログラムの初期化、プログラム終了、プログラム中断、プログラム休止等と関連して呼び出されたり実行されるのが有利である。プログラムの初期化とは、ここでは例えば自動化システムなどの「加速」中のプログラムの能動化をいう。さらに初期化手段はこの際、方法が自動変更のために実行され得るか、したがってプログラムコードオブジェクトがプログラム中に統合され得るかをテストすることができる。それに代えて、そのようなテストが初期化手段により初期化可能及び制御可能の少なくともいずれかであり得る。それによって、例えばプログラムの作動時間中そのようなプログラム構成要素、特にファームウェア構成要素のみが変更されることが保証され、その構成要素の交換によって、プログラムにより制御される自動化プロセスが妨害されたり、阻止されたり、中断されたり、又はほかのなんらかのやり方で害されることがない。更新されたプログラム構成要素、特にファームウェア構成要素のプログラム中へのその統合による有効接続は、インストール又はアップグレードから即ち伝送から時間的に外すことができる。その際プログラムコードオブジェクトは、自動化システムの運転に影響を及ぼすことなく有効接続が実行され得ることをテストが初期化手段を用いて明らかにするまで、データベース中に保持することができる。
【００１８】
プログラムはもっぱら、不揮発性メモリ、したがって例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、バッファＲＡＭ、メモリカード、ハードディスク等に格納されるか保存可能なファームウェア構成要素を含むことができる。これによって、プログラム、特にファームウェア及びファームウェア構成要素の少なくともいずれかの簡単、快適で費用のかからない変更可能性、例えばアップデート又はアップグレード、が保証される。
【００１９】
自動化システムに関して、自動化システム及びサーバが自動化システムをサーバと伝達接続のための少なくとも１つの一般に知られたインタフェースを含むようにするのが有利である。
【００２０】
第１の又は各第１のデータに対して、データベース中に少なくとも１つのプログラムコードオブジェクトが格納されるか保存可能とすることができ、その結果第１のデータに基いて１つ又は１つより多い格納されたプログラムコードオブジェクトが選択され、自動化システムへ伝送され、そこでそのプログラムコードオブジェクトが現代に即して又は伝送から外されて有効接続される。
【００２１】
第１のデータベース中の１つの又は各プログラムコードオブジェクトには、その際例えば参照テーブルにおいて、１つ又は複数の付加のプログラムコードオブジェクトが所属されているようにすることができ、その付加のプログラムコードオブジェクトは例えば、プログラムコードオブジェクトがプログラム中に統合された後の正確な実行可能性のために、又はプログラムの全体としての実行可能性のために、必要又は望まれるものであり、又はその付加のプログラムコードオブジェクトは統合すべきプログラムコードオブジェクトのための付加の機能を含む。これによって例えば、付加の機能性を要求するプログラムコードオブジェクトの統合の際に、この機能性が統合プロセスによって同時に共に把握されることが達成される。
【００２２】
選択手段及び初期化手段の少なくともいずれかは、例えば、自動化システムに属するか又は自動化システムの統合構成要素である第２のデータベースに保存されているか保存可能であるようにすることができる。これによって、選択手段及び初期化手段の少なくともいずれかの簡単な変更可能性又は交換可能性が第２のデータベースを別の第２のデータベースにより置換することにより保証される。
【００２３】
第２のデータと第３のデータとは、例えばハードウェア又はソフトウェアで実行される比較手段により比較することができる。この比較手段はその比較の結果に依存して、プログラムの修正を作動させる信号を発生する。その際その修正はまた時間的にその作動から外されることも可能である。例えば、第１のデータ及び第２のデータの少なくともいずれかはプログラムから、並びに第３のデータはプログラムコードオブジェクトからの少なくともいずれかが、プログラムの少なくとも１つの第１の決定構成要素、したがって例えばプログラムのサブプログラムを用いて、プログラムそのものから、又はプログラムのために預けられているデータから取り出され確定されることの少なくともいずれかが可能である。
【００２４】
したがって本発明の利点及びその実施形態は、特に、自動化システムにおいて更新すべきプログラム（特に少なくとも１つのファームウェア構成要素を含むプログラム）の自動修正に関する能動性、例えば自動修正の受け入れ及び実行の少なくともいずれか、が自動化システム又はプログラムそのものから出発することにある。それ故特に「外部からの」したがって例えばユーザやアプリケーションソフトウェアを持った外部サーバからの能動性は必要としない。サーバのアプリケーションソフトウェアはここではサーバから出発して自動化システムに対する結合の構築のためには必要となる。そのアプリケーションソフトウェアはファームウェア構成要素、プログラム等々のテストを達成し、例えばより有効なファームウェア構成要素又はより有効なプログラムを自動化機器へ伝送することになる。さらに、サーバのアプリケーションソフトウェアは伝送されたファームウェア又は伝送されたプログラムを自動化システム内で有効になるように接続することになる。
【００２５】
本発明の別の利点及びその実施形態はさらに、例えば１つ又は複数の自動化システムを持った機械によってさまざまな製造が可能なことである。例えば製造に必要なデータを含むプログラムコードオブジェクトはその際例えば自動的に又はユーザによって、製造が行われるべき時点と関係してサーバ（及びサーバに属するデータベースの少なくともいずれか）に格納される。自動化システムは持続的に又は時間的な間隔をおいて「適切な」プログラムコードオブジェクトを「探し求め」、そのオブジェクトを自動的にサーバから、又はデータベースからロードする。このプログラムコードオブジェクトはさらに自動的に能動化することができる。
【００２６】
その際データベースに格納された少なくとも１つのデータオブジェクトは製造プロセスに関連づけられたデータ又はデータセットを表わすことができ、又はその特徴においてプログラムコードオブジェクトとしてそのようなデータを含むことができる。データ又はデータセットはその場合例えばロットサイズ、ロット識別、除くべきプログラムの識別、工具識別、温度、速度等々である。それゆえ、自動化システム又は自動化システムの群に対する「中央の場所」には、製造プロセス上重要なデータが簡単で費用のかからない仕方で格納されることが可能となり、その場所でデータは「呼び出し」に対し自動化システムに待機している。自動化システムは持続的に又は時間的な間隔をおいて、データ又はデータセットがそのために保存されているかどうかを調べるので、それぞれ使用すべきデータが迅速に自動化システムの自由な使用に任せられ、そのことは製造制御の際のフレキシビリティ、変化する製造条件、抽出物、製品、製造すべき量、工具、製造経過等々への迅速な適応性を生み出す。そのように、例えば、製造ステップが温度Ｔ１で自動化システムを用いて実行されることが可能であるとする。しかしその製造ステップが変更された温度Ｔ２で実行されることにより製造ステップの効率が高まり得る場合には、簡単且つ迅速にこの温度（Ｔ２）を含むデータ又はプログラムコードオブジェクトがサーバに属するデータバンクに格納され得る。このデータ又はプログラムコードオブジェクトはそこで、データベースに保存されたデータ/データセットの自動化システムにより実行される調べに基いて自動化システムにより「見出され」、ダウンロードされ、プログラム中に統合され、その結果製造ステップは今や変更された温度Ｔ２で実行される。
【００２７】
さらに、本発明及びその実施形態によって、例えばファームウェア/ファームウェア構成要素、プロジェクト、プログラム等々の他のバージョンの簡単なインストール又はアップデートも可能となる。さらに、例えば２つの製造コンフィギュレーション間で少なくとも１つの整備コンフィギュレーションをインストール又はアップグレード可能かつ能動化可能にすることができる。
【００２８】
本発明においては、自動化機器がプログラムを含み、そのプログラムが第１のデータベースと結び付けられたサーバに対する伝達結合を構築するか又はその構築を初期化するか制御するので、自動化機器を悪意のあるアクセスから保護する例えばファイアウォールのような例えば電子式の保護措置の機能を投入する必要はない。さらに例えば、「外部から」アクセスするユーザ、サーバにおけるアプリケーションソフトウェア、ソフトウェア又はハードウェア「手段」の認証及び権限付与の少なくともいずれかは必要とせず、それによってとりわけ自動化システムの操作の快適性が高まる。
【００２９】
加えて、第１のデータベースの簡単な拡張が、例えば別のメモリ構成要素に関して、簡単かつ割安に可能であるので、多数のプログラムコードオブジェクトが中央の場所に保持され、そのことがさらなる簡略化及び費用低減を必然的に伴う。
【発明を実施するための最良の形態】
【００３０】
（実施例）
以下に本発明の実施例を図面について詳細に説明する。相互に対応する対象物又は要素にはすべての図において同符号が付されている。
【００３１】
いずれの実施例も、本発明を限定するものとして理解すべきではない。むしろ本開示の枠組みにおいて多数の変更及び修正が可能であり、特に、例えば一般に又は特殊な記述部分と関連して記載され、また請求項や図面に含まれる個々の特徴ないし要素又は方法ステップの組み合わせ又は変化させたものによって当業者にとって課題を顧慮して読み取ることができ、さらに組み合わせ可能な特徴によって新しい対象又は新しい方法ステップないし連続する方法ステップに導くような変形及び組み合わせが可能である。
【００３２】
図１は自動修正可能なプログラム１２を有する自動化システム１０を図解したものである。そのプログラム１２は少なくとも１つのファームウェア構成要素１４ａを含む。またその必要があれば別のファームウェア構成要素１４ｂ及び少なくとも１つのプログラム構成要素１６ａの少なくともいずれかを含んでいてもよい。第１のデータ１８ａ、１８ｂはその際ファムウェア構成要素１４ａ、１４ｂに関連づけられている、及び例えばファームウェア構成要素１４ａ、１４ｂのため図示されないデータバンク内に保存可能である、の少なくともいずれかであってよい。自動化システム１０に属される識別手段２０は、ファームウェア構成要素１４ａ、１４ｂに属する第１のデータ１８ａ、１８ｂを確定する。自動化システム１０及びそれから離れて置かれたサーバ２２は、導線接続又は無線式に、情報伝達接続２３を介して例えば既知のインタフェース２４ａ、２４ｂの使用のもとに情報伝達を行う。その際サーバ２２を介してデータベース２６にアクセスされ、そのデータベースにはプログラムコードオブジェクト２８ａ、２８ｂが保存されている。このアクセスは自動化システム１０に属する選択手段３０によって行われ、この選択手段はハードウェア又はソフトウェア又はそれらの組み合わせとして構成されていてよい。識別手段２０を用いて確定される第１のデータ１８ａ、１８ｂに基づいて、選択手段３０により１つのプログラムコードオブジェクト２８ａ、２８ｂ、２８ｃが選択される。各プログラムコードオブジェクト２８ａ、２８ｂ、２８ｃに対し、第１のデータ１８ａ、１８ｂに対応するか又はこの第１のデータ１８ａ、１８ｂに一致するデータの、第４のデータ３２ａ、３２ｂが確定可能又は保存されている。選択手段３０を用いて選択されたプログラムコードオブジェクト２８ａ、２８ｂ、２８ｃは自動化システム１０へ伝送される。自動化システム１０の統合手段３４は選択されたプログラムコードオブジェクト２８ａ、２８ｂ、２８ｃをプログラム１２に統合する。その際選択されたプログラムコードオブジェクト２８ａ、２８ｂ、２８ｃは特にファームウェア構成要素１４ａ、１４ｂとしてプログラム１２に統合される。他のプログラムコードオブジェクト２８ａ、２８ｂ、２８ｃはまたプログラム構成要素１６ａ、１６ｂとしてプログラム１２に統合されることもできる。プログラムコードオブジェクト２８ａ、２８ｂ、２８ｃのプログラム１２への統合はその際プログラム１２の修正に用いられ、例えばプログラムコードオブジェクト２８ａ、２８ｂ、２８ｃの自動化システムへの伝送中に、又は伝送に引き続いて行うことができる。その際、伝送に引続いて自動化システム１０への統合が行われる場合には、統合は例えばプログラム１２の初期化、終了、中断、休止、経過等々と関連して行うことができる。その際統合手段３４は、自動修正がプログラム経過の阻害なしに実行され得るかどうかを調べる。それに代えて、統合手段３４は例えばプログラム１２、自動化システム１０を用いて、又はプログラム１２又は自動化システムと結び付ける初期化手段３４ａによって発生される信号（図示せず）を用いて制御される、したがって例えばトリガされる、中断される、終了される等々のことができる。
【００３３】
識別手段２０、選択手段３０及び統合手段の少なくともいずれかはソフトウェア及びハードウェアの少なくともいずれかとして構成されていてよく、例えば自動化システム１０の統合構成要素であってよく、ここでは例えば特にプログラム１２に属する、例えばサブプログラム、プログラム構成要素等々のような構成要素であってよい。
【００３４】
図２はプログラムの自動修正のための本発明による方法を図解した説明図である。この方法においては先ずファームウェア構成要素１４ａ、１４ｂに関連づけられるか、又はこの構成要素のために格納されるかの少なくともいずれかにより第１のデータ１８ａが識別手段２０により確定される。この第１のデータ１８ａに基いて、データベース２６（図１参照）に保存されたプログラムコードオブジェクト２８ａが選択手段３０を用いて選択される。プログラム１２から確定されるか又はこのプログラム１２のために保存されるかの少なくともいずれかによる第２のデータ３６が、プログラムコードオブジェクト２８ａから確定されるか又はこのプログラムコードオブジェクトのために保存されるかの少なくともいずれかによる第３のデータ３８と、例えば比較器４０を用いて比較される。この比較器はソフトウェア及びハードウェアの少なくともいずれかとして構成されていてよい。その場合第２のデータ３６は例えば第１のデータ１８ａと一致しているか、又はこの第１のデータから例えばアルゴリズムを用いて確定可能であってよい。プログラムコードオブジェクト２８ａに対する選択基準４２が満たされている、したがって例えばプログラムコードオブジェクト２８ａがファームウェア構成要素１４ａ、１４ｂ（図１参照）より有効である、という比較結果である場合には、プログラムコードオブジェクト２８ａのプログラム１２への統合が行われる。そのためまずプログラムコードオブジェクト２８ａが自動化システム１０へ伝送される。自動化システム１０に対する伝送と共同してプログラミング１２の修正が行われ、この修正は例えば統合手段３４（図１に示されるようなもの）を用いて達成される。
【００３５】
図３は、図２に示されるような方法と共同する情報伝達ネット４４を図解したものである。自動化システム１０において第１のデータ１８ａが確定される。自動化システム１０はサーバ２２との情報伝達接続２３を作り上げる。それに続いて選択手段３０（図１に示される）を用いて、ある数のプログラムコードオブジェクト２８ａ、２８ｂ、２８ｃから１つのプログラムコードオブジェクト２８ｂが選択され、サーバ２２及び情報伝達接続２３、ここでは通信ネット４４を介して自動化システム１０へ伝送される。プログラムコードオブジェクト２８ｂの選択の際又は伝送と共同して、プログラムコードオブジェクト２８ｂがプログラム構成要素１６ａ、１６ｂより有効であるかが検査される。検査の結果プログラムコードオブジェクト２８ｂがより有効であることが判明したときには、検査に引続き、このプログラムコードオブジェクトがプログラム１２に統合され、それによってプログラム１２は修正される。この際、プログラムコードオブジェクト２８ｂは特にファームウェア構成要素１４ａ、１４ｂ（図１に示される）として統合される。その際プログラム１２は作動時間の間、その前又は後に修正され得る。その際初期化手段３４ａを用いて、プログラム１２、プログラム１２の部分又はその経過が、プログラムコードオブジェクト２８ａ、２８ｂ，２８ｃのプログラム１２への統合時点に阻害されないことが確保され、その結果例えば自動化システム１０により又は自動化システム１０の構成要素により実行される自動化プロセスが妨害されたり中断されたりすることがない。
【００３６】
したがって本発明は要約すれば次のように表現することができる。すなわち、自動化システム１０のプログラム１２の自動修正のための方法が提供され、その方法においては自動化システム１０に属する識別手段２０を用いてプログラム１２のプログラム構成要素１６ａ、１６ｂに関連づけられた第１のデータ１８ａ、１８ｂが確定され、その際選択手段３０を用いて第１のデータ１８ａ、１８ｂに基づき少なくとも１つのデータベース２６に格納された又は保存可能な１つのプログラムコードオブジェクト２８ａ、２８ｂ、２８ｃが選択され、その際プログラムコードオブジェクト２８ａ、２８ｂ、２８ｃがプログラム１２に統合されることによって、プログラム１２がプログラムコードオブジェクト２８ａ、２８ｂ、２８ｃを用いて少なくとも部分的に修正される。また自動化システム１０が提供され、この自動化システムは、特に少なくともファームウェア構成要素１４ａ、１４ｂを含み本方法に従い自動的に修正可能なプログラム１２、プログラム構成要素１６ａ、１６ｂ特にファームウェア構成要素１４ａ、１４ｂに関連づけられる第１のデータ１８ａ、１８ｂを確定するための所属の識別手段２０、少なくとも１つのデータベース２６に格納された又は保存可能な１つのプログラムコードオブジェクト２８ａ、２８ｂ、２８ｃを第１のデータ１８ａ、１８ｂに基づいて選択するための選択手段３０、及びプログラムコードオブジェクト２８ａ、２８ｂ、２８ｃを特にファームウェア構成要素１４ａ、１４ｂとしてプログラム１２に統合するための統合手段３４を有する。最後にコンピュータプログラムが提供され、このコンピュータプログラムは、本方法をインプリメントするためコンピュータにより実行可能なプログラムコード指示、及びこのようなコンピュータプログラムを有するコンピュータプログラム媒体特にメモリ媒体を有する。
【図面の簡単な説明】
【００３７】
【図１】自動修正可能なプログラムを有する本発明による自動化システムの構成配置図である。
【図２】自動化システムのプログラムを自動修正するための本発明による方法の説明図である。
【図３】プログラムコードオブジェクトの選択、伝送及び有効接続による、図２に示されるような方法と共同する伝達網の説明図である。
【符号の説明】
【００３８】
１０  自動化システム
１２  プログラム
１４ａ、１４ｂ  ファームウェア構成要素
１６ａｓ、１６ｂ  プログラム構成要素
１８ａ、１８ｂ  第１のデータ
２０  識別手段
２２  サーバ
２３  情報伝達接続
２４ａ、２４ｂ  インタフェース
２６  データベース
２８ａ、２８ｂ、２８ｃ  プログラムコードオブジェクト
３０  選択手段
３２ａ、３２ｂ
３４  統合手段
３４ａ  初期化手段
３６  第２のデータ
３８  第３のデータ
４０  比較器
４２  選択基準
４４  情報伝達ネット
【図１】
2009099150.tif 000003
【図２】
2009099150.tif 000004
【図３】
2009099150.tif 000005