(58)【調査した分野】(Int.Cl.,DB名)
ユーザ専用産業用制御プログラム(PRG)で規定された命令を実行する動作フェーズを有する少なくとも1つの産業用制御装置(1)を備えた産業用制御システムであって、
前記産業用制御装置(1)は、
少なくとも1つのマイクロプロセッサー(μP)と、
少なくとも1つのファイルシステムサービスと、
前記少なくとも1つのマイクロプロセッサー(μP)を用いて、前記ユーザ専用産業用制御プログラム(PRG)に規定された命令の実行を管理するように適合されたランタイムシステム(RTS)と、
前記産業用制御装置(1)にデータを記憶するための第1のデータストレージユニット(5)と、
前記動作フェーズ中に、所定のシステムタスク群を前記ユーザ専用産業用制御プログラム(PRG)に規定された命令から独立して実行するように適合されたシステム専用ファームウェア(SSF)であって、前記所定のシステムタスク群の少なくとも1つのシステムタスクが、
a) 前記第1のデータストレージユニット(5)の第1の専用記憶位置のアドレスを指定し、ファイルシステムで利用できるようにフォーマットされた第2のデータストレージユニット(6)に前記第1のデータストレージユニット(5)の前記第1の専用記憶位置のデータを移動するために、前記少なくとも1つのファイルシステムサービスを利用する、および/または、
b) 前記第1のデータストレージユニット(5)の第2の専用記憶位置のアドレスを指定し、前記第2のデータストレージユニット(6)から前記第1のデータストレージユニット(5)の前記第2の専用記憶位置へデータを移動するために、前記少なくとも1つのファイルシステムサービスを利用する
ように構成されているシステム専用ファームウェア(SSF)と、
前記所定のシステムタスク群の複数のコンフィギュレーションパラメータを定義したコンフィギュレーションテーブルであって、前記産業用制御システムの特定の状態の関数として、前記ユーザ専用産業用制御プログラムの実行時に変更可能であるコンフィギュレーションテーブルと
を備え、前記システム専用ファームウェア(SSF)は、前記ユーザ専用産業用制御プログラムの実行時に前記コンフィギュレーションテーブルを変更することにより、特定のニーズに対してカスタマイズされることを特徴とする産業用制御システム。
前記ユーザ専用産業用制御プログラム(PRG)は、前記少なくとも1つのファイルシステムサービスへのアクセスが制限されることを特徴とする請求項1または2記載の産業用制御システム。
前記ランタイムシステム(RTS)は、前記ユーザ専用産業用制御プログラム(PRG)が前記少なくとも1つのファイルシステムサービスへアクセスするのを制限することを特徴とする請求項3記載の産業用制御システム。
前記ユーザ専用産業用制御プログラム(PRG)は、前記第1の専用記憶位置へのデータの書込、および、前記第2の専用記憶位置からのデータの読取の少なくとも一方を行うように適合されていることを特徴する請求項1〜4のいずれか1項記載の産業用制御システム。
前記第1の専用記憶位置および前記第2の専用記憶位置のうち少なくとも一方が前記第1のデータストレージユニット(5)の固定の連続した領域であることを特徴とする請求項1〜9のいずれか1項に記載の産業用制御システム。
【発明の概要】
【発明が解決しようとする課題】
【0006】
オペレーティングシステムのファイルシステムのサービスを介した産業用制御装置でファイルを扱う従来の手法の問題点は、ソフトウェアの複雑さである。より具体的には、オペレーティングシステムのシステムサービスを利用して、産業用制御プログラムが規定できるように、ユーザはヘッダーファイルとコードファイルを利用する必要がある。さらに、産業用制御プログラムは、オペレーティングシステムのシステムサービスを実行するために、特定のハードウェアのプラットホームに合わせる必要がある。
【課題を解決するための手段】
【0007】
前述の課題は請求項1の産業用制御システム、および、請求項15の産業用制御装置の第1のデータストレージユニットとのデータ転送方法によって解決される。好ましい実施形態が従属請求項に記載されている。
【0008】
本発明の産業用制御システムおよび方法は、産業用制御装置で産業用制御装置の第1のデータストレージユニットの第1の専用記憶位置(例えば、データ書き込み領域)に記憶されたデータを第2のデータストレージユニット上に置かれるファイルに転送することが可能になり、この転送は、ユーザ専用産業用制御プログラムにおいてプログラミングの複雑さが軽減されて実行される。さらに、この装置および方法であれは、第1のデータストレージユニットと第2のデータストレージユニット間のデータ転送の管理が簡単になる。
【0009】
本発明に従えば、産業用制御装置にダウンロード可能なユーザ定義産業用制御プログラムは、あらゆるファイルシステムサービスを使用することなく、単に、第1のデータストレージユニットの第1の専用記憶位置(例えば、所定のデータ書き込み領域)に直接データを書き込むように構成することが可能なものである。つまり、ユーザ専用の産業用制御プログラムを、古い世代の産業用制御装置で提供されていたように、第1の専用記憶位置の所定の分かっている物理位置に直接データを書き込むように構成することができる。従来技術の解決手法とは異なり、第1のストレージユニットと第2のストレージユニット間のデータ転送のタスクは、ユーザ専用産業用制御プログラムとは独立して実行することが可能である。より具体的には、第1と第2のストレージユニット間の転送は、産業用制御装置に記憶されたシステム専用ファームウェアを用いて実行することが可能である。
【0010】
システム専用ファームウェアは、ユーザがプログラム、または、構築することはないが、産業用制御装置の製造メーカーによって設定され、関連するハードウェアの仕様に合わせられる。つまり、製造メーカーが、製造メーカーのハードウェア用にシステム専用ファームウェアを設定し、そのようなファームウェアによって産業用制御装置にユーザ専用産業用制御プログラムから独立して関連する所定のシステムタスクを実行させることができる。
【0011】
システム専用ファームウェアのシステムタスクには、第1のデータストレージユニットの第1の専用記憶位置に記憶されたデータを第2のデータストレージユニットでオープンされたファイルに書き込むために、ファイルシステムサービスを利用する所定のファイルシステムタスクが含まれる。つまり、第1のデータストレージユニットの第1の専用記憶位置から第2のデータユニット上にあるファイルへデータを転送するステップが、所定のシステム専用ルーチン、すなわち、ユーザ専用産業用制御プログラムから独立した所定のファイルシステムのタスクによって実行される。ユーザ専用産業用制御プログラムとシステム専用ファームウェアの所定のファイルシステムタスクの両方は、互いに独立している。システム専用ファームウェアには、さらに、i)フィールドバス通信、ii)分散制御システムの内部データバス通信などの制御を行うようなタスクが含まれる。システム専用ファームウェアが、産業用制御装置のインターフェースおよびメモリのハードウェアを使用するために要求されたベンダー専用制御機能を全て提供するものが好ましい。
【0012】
したがって、本発明に従えば、ユーザ専用産業用制御プログラムが、処理データ、または、トレンドデータなどの処理データの変化を第1のデータストレージユニットの第1の専用記憶位置に書き込むようにプログラムされるようにしてもよい。ユーザ専用産業用制御プログラムで、第1のデータストレージユニットの第1の専用記憶位置に書き込まれたデータをさらにハンドリングする制御はできないように、産業用制御装置を構成することが可能である。第1のデータストレージユニットの第1の専用記憶位置に記憶されたデータの転送は、システム専用ファームウェアによって自立的にハンドリングされるようにすることが可能である。これによって、産業用制御プログラムで更新されたデータがデータ書き込み領域に書き込まれないときでも、第1のデータストレージユニットの第1の専用記憶位置からシステム専用ファームウェアでビットを読み取れる状態になる。また、産業用制御プログラムが処理データを第1の専用記憶位置に書き込める状態であれば、システム専用ファームウェアのファイルシステムタスクが無効になっているので、まだこの処理データのさらなる処理の転送は行われない。
【0013】
処理データは、産業用制御装置に動作可能に接続されたバス部分を経由して処理を制御するために用いられる産業用制御装置内のデータを含む。このような処理には、例えば、工業生産処理、ビルオートメーションなどの施設管理の処理がある。
【0014】
本発明では、「制御」には、少なくとも1つのバス部分およびあらゆる他の制御タスクを備えた他の装置から受け取ったデータを監視するだけでなく、少なくとも1つのバス部分および/またはあらゆる他の制御タスクを備えた他の装置に制御コマンドを送信することも含まれる。
【0015】
「バス部分」(制御装置としても参照される)には、センサー、アクチュエータ、リレー、スイッチ、または、データ チャネル経由で産業用制御装置に直接結合または間接的に結合する他デバイス(例えば、デジタル入力部またはデジタル出力部、アナログ入力部またはアナログ出力部、通信ネットワークなど)、が含まれる。
【0016】
「ユーザ専用産業用制御プログラム」は、産業用の機械または処理を制御するための産業用制御装置のユーザが開発したプログラムとして定義される。ユーザ専用産業用制御プログラムは、1以上の異なるプログラミング言語で記述することが可能であり、これに限定するものではないがラダー・ロジック、Basic、C++などが含まれる。
【0017】
ユーザ専用産業用制御プログラムは、マイクロプロセッサーで実行可能なコンパイルされた実行可能コード(例えば、HEXコード)の形式で産業用制御装置にロードされてかつインストールされるものが好ましい。他の手法として、ユーザ専用産業用制御プログラムは、産業用制御装置上で動くインタプリタコード(例えば、JAVA(登録商標))、すなわち、高級言語で提供されてもよい。このインタプリタコードは、マイクロプロセッサーでコードが実行できるようにするために、実行中に実行可能コードに変換すること(すなわちコンパイル)が必要である。変換が行われるために、同じハードウェアで実行された場合、インタプリタコードはコンパイルされたコードよりも実行に時間が必要である。同様に、コンパイルされたコードに匹敵する時間でインタプリタコードを実行するために、一般的に、インタプリタコードはコンパイルされたコードを実行するハードウェアより処理能力が高いハードウェアで実行させる必要があろう。
【0018】
好ましい実施形態では、第1のデータストレージユニットはデータ読み取り領域を含む。さらに、システム専用ファームウェアの所定のシステムタスクの少なくとも1つが、第2のデータストレージユニット上でオープンされたファイルからデータを読み取り、第1のストレージユニットのデータ読み取り領域にデータを記憶するように構成される。この好ましい実施形態の利点は、産業用制御装置が、ログファイル、トレンドファイルなどにデータを記録することができることに加えて、そのようなファイルまたは他の種類のファイルに記憶されたデータを読み取り、ユーザ専用産業用制御プログラムによって実行された産業用制御処理においてそのデータを用いる点にある。そのようなデータは、例えば、レシピデータを含むことができる。レシピデータはユーザ専用産業用制御プログラムによって制御される処理で用いられるパラメータを提供することができる(例えば、速度設定値、温度設定値、張力設定値など)。
【0019】
好ましい実施形態では、産業用制御装置は、所定のファームウェアタスクのパラメータを記憶したコンフィギュレーションテーブルを備える。所定のファームウェアタスクパラメータの少なくとも1つは、システム専用ファームウェアの所定のシステムタスクの少なくとも1つが、所定のファームウェアタスクのパラメータに従ってファイルシステムサービスを用いたタスクを実行できるようにするためのファイルシステムサービスに関連する。つまり、システム専用ファームウェアの所定のシステムタスクを特定の要求に適合させるために、コンフィギュレーションテーブルに記憶された所定のパラメータによって基本の所定のファームウェアタスクをユーザの特定のニーズに適合させることができる。システム専用ファームウェアの所定のシステムタスクの適合は、ユーザ専用産業用制御プログラムに組み込まれる必要はなく、代わりに、コンフィギュレーションテーブルに入力され記憶されたパラメータを用いて構成することができる。このようにして、システム専用ファームウェアのシステムタスクがコンフィギュレーションテーブルのパラメータにアクセスする。ファイルシステムサービスにアクセスするために、もはや産業用制御プログラムのユーザ専用のルーチンを書く必要性はなく、システム専用ファームウェアを構成するためにコンフィギュレーションテーブルにパラメータを入力するという切り離された段階を介して、タスクを実行することが可能である。パラメータを入力する方法は、ユーザ専用システムをより単純な方法で構成することができ、プログラムの修正に関して、産業用制御プログラムを書くよりもより柔軟な仕組みを提供する。これは、特に、ファイルシステムサービスの利用に関して適している。
【0020】
1つの好ましい実施形態では、コンフィギュレーションテーブルは静的であり、すなわち、コンフィギュレーションの段階で、ユーザによってテーブルが定義されて記憶される。必要に応じて、コンフィギュレーションテーブルは動的に設定することも可能であり、すなわち、産業用制御システムの特定の状態の関数として、ユーザ専用産業用制御プログラムの実行時にテーブルを変更することが可能である。
【0021】
所定のファームウェアタスクのパラメータは、例えば、
ファイル名、
データ時間、
ファイルの種類、
データ読み取り領域および/またはデータ書き込み領域として予約された第1のデータストレージユニット上の第1のデータストレージの特定のデータ領域、
関連する所定のシステムタスクの繰り返し時間を定義するサイクルタイム、
関連する所定のシステムタスクの有効または無効にする関連する所定のシステムタスクの有効フラグ、
関連する所定のシステムタスクをスタートする少なくとも1つの時間を設定するために提供されたタイマー、
ファイルへ書込、または、ファイルから読出をするためのデータ変数の選択、
一纏まりでファイルに書込む、または、ファイルから読出すかを選択したデータ変数の順番を定義したグループ定義、
関連する所定のシステムタスクの処理のトリガーになるイベントを定義するイベントパラメータ、
の1以上を含むことができる。
【0022】
また、あらゆる他の適用可能な種類のパラメータを、システム専用ファームウェアの効率的なシステムタスクを定義するために所定のファームウェアタスクパラメータに用いることが可能である。
【0023】
システム専用ファームウェアのファイルシステムタスク(第1のデータストレージユニットの第1の専用記憶位置に記憶されたデータを、第2のデータストレージユニット上でオープンされたファイルに書き込む)は、最も好ましくは周期的に、つまり、一定期間ごとに実行される。サイクルタイムは、コンフィグレーションテーブルの「サイクルタイム」パラメータによって定義することができる。
【0024】
好ましくは、コンフィグレーションテーブルに記憶された所定のファームウェアタスクパラメータのセットアップは、ウェブインターフェースによってサポートされたものが望ましい。好ましい実施形態では、産業用制御装置は、産業用制御装置上に記憶されたウェッブインターフェースであって、例えば、ブラウザーを用いてリモートネットワークを介してアクセス可能なウェッブインターフェースを備える。ウェッブインターフェースで、ユーザがファームウェアタスクのパラメータを事前に定義する(例えば、コンフィギュレーションテーブルの入力項目(entries)を提示する)ことができる。
【0025】
ウェッブインターフェースは、ユーザが、産業用制御装置から離れたところにあるコンピュータで、例えば、適切なファームウェアタスクのパラメータ(これは、次いで、システム専用ファームウェアのシステムサービスが用いるコンフィグレーションテーブルに記憶される)を入力することで、システム専用ファームウェアを簡単に特定のニーズに対してカスタマイズすることができる。
【0026】
さらなる好ましい実施形態では、産業用制御システムは、少なくとも1つの宣言テーブルを備えている。宣言テーブルは、産業用制御プログラムのデータ変数のリファレンスが含まれる。ファイルシステムサービスを利用して宣言テーブル内の入力項目の関数として第1のデータストレージユニットに記憶されたデータのハンドリングを行うために、システム専用ファームウェアを配置することが可能である。これらのデータは、少なくとも1つの宣言テーブル内で参照されるデータ変数に関連する。
【0027】
データ書き込み領域および/またはデータ読み取り領域は、その位置を固定させて再構成することはできないように、第1のデータストレージユニットの所定の固定位置に割り当てることができる。ユーザはデータ読み取り領域およびデータ書込み領域の位置を決定することができ、例えば、手動で産業用制御命令を通じて行う。
【0028】
好ましい実施形態では、データ書き込み領域またはデータ読み取り領域の位置は、コンフィギュレーションテーブルに記憶されている上述の所定のファームウェアタスクのパラメータで設定することができる。これにより、利用可能なハードウェアをより柔軟に利用することができる。
【0029】
バス部分との通信をするために提供されるデータチャンネルは、通信バス(例えば、「バックプレーンバス」または産業用制御装置とI/Oモジュール間の他のバスなど)を用いて確立することができる。ここで、入力および/または出力モジュールは、これらの間で通信回線を確立するために、通信バスを介して産業用制御装置と通信可能に接続される。入力および/または出力モジュールは、個別の入力および/または出力モジュールに接続される少なくとも1つのバス部分に対するインターフェースを提供する。
【0030】
また、産業用制御装置は、バス部分に対する内部データチャンネルと内部インターフェースを設けてもよく、よって、バス部分は、別個の入力/出力モジュールを必要とせずに、産業用制御装置に直接接続できる。
【0031】
最も好ましくは、産業用制御装置内で、ユーザ専用産業用制御プログラムからオペレーティングシステムのファイルシステムサービスに対するアクセスを行うことはできないようにすることで、ユーザ専用産業用制御プログラムがファイルシステムサービスを利用することができないようにする。言い換えると、産業用制御装置はユーザ専用産業用制御プログラムがあらゆるファイルシステムサービスを起動する命令を実行することができないように配置するのが好ましい(ファイルシステムサービスはユーザ専用産業用制御プログラムからブロックされる)。このようにファイルシステムサービスをブロックすることで、産業用制御装置の使用を予想することが可能になり安全である。これによって、産業用制御システムの認可の手続きが簡単になる。
【0032】
最も好ましくは、産業用制御装置に、ユーザ専用産業用制御プログラムがオペレーティングシステムのシステムサービスを利用可能にする入力項目を持つアクセステーブルを設ける。より具体的には、オペレーティングシステムのシステムサービスを起動するために、ユーザ専用産業用制御プログラムのコマンドをシステム専用のコマンドに変換する別個のベンダー専用のアクセス層がある。従来の技術におけるように、システムサービスにファイルシステムのサービスが含まれている。ユーザ専用産業用制御プログラムのコマンドをオペレーティングシステムのファイルシステムサービスにリンクさせることが可能な入力項目をアクセステーブルに持たせず、よって、産業用制御プログラムによる使用に、オペレーティングシステムのファイルシステムサービスがブロックされることが提案されている。アクセステーブルには、ファイルシステムサービスとのリンクのために提供された入力項目以外の他の入力項目が設けられ、産業用制御プログラムが、ファイルシステムサービスの機能性を除いて、オペレーティングシステムの他の機能を利用することができるようにする。これにより、論理的には存在していても、オペレーティングシステムのファイルシステムサービスをユーザが利用することができなくなり、一方で、他の残りのシステムサービスは、アクセステーブルの入力項目を介して有効になる。つまり、従来の技術の手法とは対照的に、好ましい実施形態では、産業用制御プログラムはオペレーティングシステムのファイルシステムのサービスを直接使用することができない。
【0033】
産業用制御装置の第1のデータストレージユニットの第1の専用記憶位置に記憶されたデータを第2のデータストレージユニット上にあるファイルに転送するための提案された方法は、
オペレーティングシステムのファイルシステムサービスを用いて、第1のデータストレージユニットの第1の専用記憶位置に記憶されたデータを第2のデータストレージユニット上でオープンされたファイルへ書き込むために、システム専用ファームウェアの所定のシステムタスクを実行するステップと、
第1のデータストレージユニットの第1の専用記憶位置にデータを書き込むステップを含む、少なくとも1つのバス部分を制御するためにユーザ専用産業用制御プログラムを実行するステップと
を有し、
所定のシステムタスクを実行するステップおよびユーザ専用産業用制御プログラムを実行するステップは、互いに監視または制御がリンクすることなく独立して実行される。
【0034】
より好ましく、前記方法は、オペレーティングシステムのファイルシステムサービスを利用して、第2のデータストレージユニット上でオープンされたファイルからデータを読み出すために、システム専用ファームウェアの所定のシステムタスクを実行するステップと、第1のデータストレージユニットの第1の専用記憶位置(例えば、予約された所定のデータ読み取り領域)にデータを書き込むステップをさらに備える。このようにして、処理データおよびトレンドデータは、ファイルにログを記録できるだけでなく、ユーザ専用産業用制御プログラムで利用するためにファイルから読み出せる。
【0035】
好ましい実施形態では、前記方法は、産業用制御装置のコンフィグレーションテーブルに所定のファームウェアタスクのパラメータを記憶するステップをさらに備える。所定のファームウェアタスクのパラメータはファイルシステムサービスに関連付けられ、システム専用ファームウェアの所定のシステムタスクの少なくとも1つがファイルシステムサービスをどのように利用するかを定義する。単にコンフィグレーションテーブルにパラメータを入力することで、産業用制御プログラムのコードを書くことなく、ユーザはシステム専用ファームウェアの所定のシステムタスク群を個別に定義することができる。
【0036】
産業用制御装置は、いわゆるクラウドに接続可能な組込制御装置が最も好ましい。言い換えれば、産業用制御装置は、通信ネットワーク(例えば、インターネットまたはイントラネット)を介してデータストレージユニットへのリモートアクセスを提供し、データストレージユニットは、産業用制御装置から離れて置かれ、例えば、データを記憶するための集中管理サービスを行う場所(a centralized service location)に置かれる。制御タスクを実行するために産業用制御装置を準備する際には、この方法は、システム専用ファームウェアをリモートファイルから産業用制御装置にダウンロードするステップをさらに備える。ダウンロードは、ランタイムシステムとオペレーティングシステムによって制御され、これらシステムは、産業用制御装置に記憶されるのが好ましい。
【0037】
必要に応じて、または上記に加えて、制御タスクを実行するために産業用制御装置を準備する際には、関連したコンフィグレーションテーブルはリモートファイルから産業用制御装置にダウンロードすることができる。ダウンロードは、産業用制御装置のブート処理中に行われるのが最も好ましく、すなわち、産業用制御装置がユーザ専用産業用制御プログラムを実行できる状態にする時がよい。
【0038】
「ランタイムシステム」は、ユーザ専用産業用制御プログラムのコードの実行を管理するために提供されるソフトウェアコードを含む。ランタイムシステムには、実行時間の管理などを行うスケジューリングタスク、ユーザ専用産業用制御プログラムのロード・開始・停止・初期化を行うタスクなどのサービス設定(provision)サーバ、監視タスク、デバッグタスク、および、統合開発環境IDEとの調整が含まれる。
【0039】
前述および関連する目的を達成するために、本発明は、以下に、十分に記載され、かつ、特にクレームに示される特徴で構成される。下記の記載と付属図面を用いて、本発明の実施形態を詳しく説明する。しかし、これら実施形態は、本発明の動作原理に採用される様々な手法の幾つかを示すものである。本発明の他の目的、利点および新規な特徴は、図面と共に考慮されて以下の本発明の詳細な説明で明らかになるであろう。
【発明を実施するための形態】
【0041】
図1に、従来の16ビットフィールドバスの産業用制御装置FBCのシステム図を示す。フィールドバス制御装置は不揮発性RAMメモリのデータストレージユニット(RAM = Random Access Memory)を備える。マイクロプロセッサー(不図示)はRAMメモリにアクセスして、産業用制御プログラムPRGを実行するように配置される。産業用制御プログラムPRGは、開始時に第2のデータストレージユニット(例えば、メモリカード(SDカードなど)に埋め込まれたフラッシュメモリーのような不揮発性メモリ)に記憶されるユーザ定義プログラムである。第2のデータストレージユニットに対するアクセスを可能にするために、フィールドバス産業用制御装置FBCは、例えば、第2のデータストレージユニットを受け付けるための内部のレセプタクル(例えば、メモリカードホルダーなど)、または、フィールドバス産業用制御装置FBCを第2のデータストレージユニット(フィールドバス産業用制御装置FBCから離れた位置にある)と通信でつなぐ通信部を備える。
【0042】
産業用制御装置FBCのマイクロコントローラーが産業用制御プログラムPRGを実行できるようにするための基本ソフトウェアスタックは、オペレーティングシステムOSである。オペレーティングシステムOSは、産業用制御プログラムPRGのコンパイルされたコードを実行するために必要な所定のシステムタスク群で構成され、産業用制御プログラムPRGは、一般的に、産業用制御装置FBC(例えば、パーソナルコンピューターなどのコンピュータ)とは別のワークステーションを用いてユーザが書き込む。ワークステーションにはラダー・ロジック、Basic、C++などのプログラミング言語を備え、ユーザが生成したプログラムはワークステーションでコンパイルされて第2のデータストレージユニットへ転送される。
【0043】
16ビットフィールドバス制御装置のブートフェーズの間に、実行可能な産業用制御装置プログラムPRGは第2のデータストレージユニット(例えば、不揮発性メモリ)から、第1のデータストレージユニット(例えば、RAM)に転送される。従来は、このようなプログラムの転送は、様々なオペレーティングシステム(例えば、DOS、「Windows」、Nucleusなど)で提供される「MEMCOPY」または同様のファイルコマンドを使って行われていた。MEMCOPYコマンドは、特定のアドレス位置からのダイレクトメモリ読取、または、特定のアドレス位置へのダイレクトメモリ書込を実行する。フラッシュメモリーにある産業用制御プログラムは、イメージ(次いで、第1のデータストレージユニット(RAMメモリ)内の所定の分かっているアドレス位置に転送される)の分かっているアドレス位置でアクセスされる。
【0044】
ここでは、「ブートフェーズ」は、電子デバイスに電源が入れられた後、あるいは、電子デバイスがリセットされた後に、電子デバイス(例えば、マイクロプロセッサーで制御されるデバイス)が開始する時のスタートアップフェーズを指すものとして用いられ、ここで、スタートアップ命令は、メモリからロードされ、次いで、オペレーティングシステムが従う。
【0045】
ここでは、「動作フェーズ」は、ブートフェーズに続いて行われる電子デバイスのフェーズを指すものとして用いられ、その動作フェーズ中に、ユーザ定義されたプログラムによって定義された命令が、電子デバイスによって実行される、または、実行可能になる。
【0046】
産業用制御プログラムPRGは、 RAMメモリに記憶された後にこのRAMメモリ位置から実行される。産業用制御プログラムの実行は、産業用制御プログラムのスケジューリングを実行するランタイムシステムRTSによって制御される。
【0047】
また、フィールドバス産業用制御装置FBCは、少なくとも1つのバス部分BPと通信で接続されるデータチャンネルDCHを提供するインターフェースXバスを少なくとも1つ備える。このようなバス部分BPは、例えば、センサー、アクチュエータまたは産業用処理、建物などを制御(監視を含む)するために用いられる他のデバイスにすることが可能である。データチャンネルDCHは、産業用制御システムの内部バスを形成し、かつ、産業用制御装置FBCのハウジングの内側、または、データチャンネルDCHとバス部分BP間のインターフェースを形成する入力/出力モジュールIOMと通信するハウジングの外側に設けることができる。
【0048】
産業用制御装置FBCは、さらに、外部フィールドデータチャンネルFCHに対するインターフェースFBを備える。このようなフィールドインターフェースFBは、例えば、イーサネット(登録商標)標準規格、Profibus 標準規格、Profinet 標準規格などをサポートすることができる。
【0049】
図2に、従来の32ビットフィールドバス産業用制御装置FBCのシステム構成図を示す。フィールドバス産業用制御装置FBCは、オペレーティングシステムOSのファイルシステムサービスへのアクセスを提供するファイルシステムアクセスレイヤーを備える。ユーザ専用産業用制御ブログラムPRGは、ファイルシステムアクセスレイヤーを介したファイルシステムサービスへのアクセスが提供される。
【0050】
図1に関連して記載された例のように、実行可能な産業用制御プログラムのイメージが、第2のデータストレージユニットFSM上のブートプロジェクトPRJに記憶される。第2のデータストレージユニットは、アドレス位置について特別な知識がなくても第2のデータストレージユニットFSM(File System Memory)からの読み出し、または、第2のデータストレージユニットFSMへの書き込みをすることができるように、ファイルシステムでフォーマットされる。オペレーティングシステムのファイルシステムサービスを利用することで、データストレージユニット上に置かれたファイルの物理的な位置が何処であるかを制御しなくても、ファイルを別のユニットとして扱うことができる。物理的なデータのハンドリングは、ファイルシステムサービス自体が実行する。
【0051】
フィールドバス産業用制御装置FBCがブートされる際に、産業用制御プログラムPRGのコピーは、イメージを含むブートプロジェクトPRJ内のイメージから、第1のデータストレージユニットRAM内の専用メモリ領域へ転送される。後で、産業用制御プログラムPRGが実行された時に、処理データが、データのログまたはデータの変化(トレンド)のログを記録するために特定のログファイルまたはトレンドファイルに転送される。この処理データのデータ転送は、第2のデータストレージユニットFSM上の物理データアドレス位置全体を直接制御することなく、産業用制御プログラムPRGによって実行される。ユーザ専用産業用制御プログラムPRGは、オペレーティングシステムOSのシステムサービスにアクセスして、現在あるログファイル、トレンドファイル、あるいは、レシピファイルをオープンしたり、新しいファイルを生成したりすることができる。通常、オペレーティングシステムOSのファイルシステムサービスは、産業用制御プログラムPRGのコンパイル済みの実行コードに直接アクセスすることはできないので、そこで、中間ファイルのシステムアクセスレイヤーは、一般的にコンパイル済みのコマンドをオペレーティングシステムの言語へ変換することが求められる。
【0052】
また、ファイルシステムサービスの利用によって、産業用制御プログラムPRGは、例えば、産業用制御処理の特定のパラメータを制御するために、ファイルシステムメモリFSMから外にデータを読み出すことが可能になる。制御パラメータは、一般的にはレシピデータとして知られている。例えば、いろいろな元の色を自動で混色する処理では、レシピデータは混ぜる特定の色の数式を定義することができる。また、レシピデータは様々な機械部分の速度、ウェブ張力、区間温度、圧力などを指定することもできる。
【0053】
図3は、本発明に従った典型的な産業用制御装置1の概略構成図を示す。オペレーティングシステムOS、ランタイムシステムRTS、ユーザ専用産業用制御プログラムPRG、更に、システム専用ファームウェアSSFで規定されたソフトウェアタスクを実行するために配置されたマイクロプロセッサーμPを備えたフィールドバス産業用制御装置FBCを、産業用制御装置1とすることができる。
【0054】
さらに、典型的な産業用制御装置1は、フィールドバスデータチャンネルFCHを提供するフィールドバスインターフェースFBを備える。フィールドバスデータチャンネルFCHは、少なくとも1つの他の産業用制御装置、または、管理するワークステーションと通信を行うために用いられるデータチャンネルを提供し、これによって産業用制御処理を制御するための制御システムを形成する。また、フィールドバスデータチャンネルFCHにより、産業用制御装置1が処理の制御に用いられる他の産業用制御装置を制御することができる。
【0055】
典型的な産業用制御装置1は、少なくとも1つのバス部分4と通信するためのデータチャンネル3を提供する内部Xバスインターフェース2を備えるようにしてもよい。
【0056】
典型的な産業用制御装置1は、さらに、第1のデータストレージユニット(RAMメモリ)5と第2のデータストレージユニット(FSM)6を備える。第2のデータストレージユニット6は産業用制御装置の一部として示されているが、第2のデータストレージユニット6は産業用制御装置1とは別に設けられもよい。この場合、産業用制御装置1は、別に設けられた第2のデータストレージユニット6に対するインターフェースとして、例えば、分れているメモリカード(例えば、SDカード)を受け取るためのカードスロットなどを設けてもよい。また、第2のデータストレージユニット6のインターフェースは、フィールドバスデータチャンネルFCHに対するフィールドバスインターフェースFBであってもよく、例えば、フィールドバスデータチャンネルFCHを介して第2のデータストレージユニットと産業用制御装置1とを通信接続して、産業用制御装置で第2のデータストレージユニットに対してデータの書込と読取を行ってもよい。
【0057】
また、第2のデータストレージユニット6のインターフェースは、Xバスインターフェース2であってもよく、この場合、第2のデータストレージユニット6は、データチャンネル3を介して産業用制御装置1と通信接続する。つまり、第2のデータストレージユニット6に記憶されたデータはいわゆるクラウドに記憶することが可能である。
【0058】
典型例の産業用制御装置1は、複数のソフトウェアスタックがさらに設けられる。これらソフトウェアスタックには、ユーザ専用産業用制御プログラムPRGとシステム専用ファームウェアSSFの少なくとも1つをスケジューリングするように構成されたランタイムシステムRTSが含まれる。
【0059】
他のソフトウェアスタックはオペレーティングシステムOSであるが、これは、とりわけ、少なくとも1つ、できれば複数のファイルシステムサービスで構成するものが好ましい。
【0060】
オペレーティングシステムOS、ランタイムシステムRTS、およびシステム専用ファームウェアSSFを、別個のシェルコードなどの別個の実行コードとして産業用制御装置1にインストールすることが可能である。また、点線の枠で示されているように、オペレーティングシステムOS、ランタイムシステムRTS、および、システム専用ファームウェアSSFを、統合された実行可能なファームウェアコードFX、例えば、上位階層のファームウェアにオペレーティングシステムOSが組み込まれた単独のHEXファイルで、産業用制御装置1にインストールすることも可能である。
【0061】
図2の制御装置と比較すると。
図3の典型例の産業用制御装置には、産業用制御プログラムに対するファイルシステムアクセス層がない。結果的に、
図3の典型例の産業用制御装置1内にあるユーザ専用産業用制御プログラムPRGは、オペレーティングシステムOSのファイルシステムサービスに対するアクセスは行わない。
【0062】
本発明に従えば、システム専用ファームウェアSSFは、ユーザ専用産業用制御プログラムPRGから独立した所定のシステムタスク群を実行するように構成される。
【0063】
所定のシステムタスクには、この例にある第1のデータストレージユニット5のデータ書き込み領域7(第1の記憶領域としても参照される)のような第1の専用記憶位置に記憶されたデータを第2のデータストレージユニット6上でオープンされたファイルにコピーするためのファイルハンドリングタスクが含まれる。データコピーを行う時、ファイルハンドリングタスクは、オペレーティングシステムOSのファイルシステムサービスを利用する。つまり、ユーザ専用産業用制御プログラムPRGではなくシステム専用ファームウェアSSFが、第2のデータストレージユニット6上に記憶されたファイルをハンドリングする。
【0064】
データ書き込み領域7の記憶アドレス、あるいは、随意的に、第1のデータストレージユニット5の記憶領域に分散する複数の記憶位置は、産業用制御システムに対して明らかに定義され位置が分かっている。
【0065】
模範的な実施形態では、ユーザ専用産業用制御プログラムPRGは、例えば、専用の物理アドレス位置にダイレクトアクセスするメモリ読取およびメモリ書込を介して、第1のデータストレージユニット5に記憶されたデータにだけアクセスする。つまり、模範的な産業用制御装置1で実行する産業用制御プログラムPRGは、ファイルシステムサービスを利用しないでダイレクトメモリ読取/書込コマンドの実行のみ可能である。
【0066】
産業用制御装置1のブートモードでは、システム専用ファームウェアSSFが、第2のデータストレージユニット6から第1のデータストレージユニット5の特定の位置へのプログラムPRGのイメージの転送をハンドリングすることができる。
【0067】
ブート処理が終わると、産業用制御装置は実行モードに入る。実行モードでは、特定のファームウェアSSFは、第2のデータストレージユニット6で、ファイル(例えば、ログファイル、トレンドファイル、レシピファイルなど)のオープンから、データ書き込み領域7の特定の物理アドレス位置から適切なファイル(例えば、ログファイルまたはトレンドファイルなど)への転送まで制御する。さらに、システム専用ファームウェアSSFは、オペレーティングシステムOSのファイルシステムサービスを介して、第2のデータストレージユニット6に記憶されているレシピファイルからデータを読み出して、第1のデータストレージユニット5(RAM)のデータ読み取り領域8(第2の記憶領域としても参照される)にレシピデータを書き込むタスクを実行することができる。ファイルシステムサービスを介した第1のデータストレージユニット5と第2のデータストレージユニット6間のデータ転送のハンドリングは、ファイルシステムサービスの制御を行なうユーザ専用産業用制御プログラムなしで、ユーザ専用産業用制御プログラムPRGから完全に独立して実行することができる。
【0068】
模範的な産業用制御装置1は、ファイルシステムサービスを利用しないでユーザ専用産業用制御プログラムPRGが第1のデータストレージユニット5の書き込み領域7へ直接データを書き込めるように構成することができる。この場合、産業用制御装置1は、ファイルシステムサービスを利用しないでユーザ専用産業用制御プログラムPRGが第1のデータストレージユニット5のデータ読み取り領域8から直接データを読み出すことができるように構成することもできる。
【0069】
特に、オペレーティングシステムOSのファイルシステムサービスは、ユーザ専用産業用制御プログラムPRGに対して無効にすることができる。言い換えると、産業用制御装置1はユーザ専用産業用制御プログラムPRGがファイルシステムサービスを利用できないように構成できる。
【0070】
産業用制御装置1は、システム専用ファームウェアSSFを制御するためのユーザ設定パラメータを含むコンフィギュレーションタスクを備えるものが最も好ましい。コンフィギュレーションタスクには、例えば、ウェッブサーバを用いてアクセスすることができる。ウェッブサーバへのアクセスは、フィールドバスインターフェースFBおよびフィールドバスデータチャンネルFCHを介して、例えば、リモートコンピュータのブラウザーなどを用いて行うことが可能である。コンフィグレーションタスクは、特定のファームウェアの所定のシステムタスクをカスタマイズする複数の所定のファームウェアタスクのパラメータをユーザが設定できるようにする。これらの所定のファームウェアタスクのパラメータには、以下に記載の1以上のパラメータを含めることが可能である。
【0071】
ファームウェアタスクのパラメータには、異なるログファイル、トレンドファイル、および/またはレシピファイルのファイル名を記述するパラメータを含めることができる。また、ファームウェアタスクのパラメータには、そのようなファイルでハンドリングされるデータの種類、ファイルの種類、例えば、ログファイル、トレンドファイル、または、レシピファイルを記述するパラメータを含めることができる。さらに、所定のファームウェアタスクのパラメータには、データ読み取り領域8およびデータ書き込み領域7専用の第1のデータストレージユニット5の特定のデータ領域を定義するパラメータを含めことができる。つまり、システム専用ファームウェアSSFは、データ書き込み領域7およびデータ読み取り領域8の物理データ位置にわたって制御する。
【0072】
さらに、所定のファームウェアタスクのパラメータは、対応する所定のシステムタスクの繰り返し周期(スキャン時間としても参照される)を設定するサイクルタイムを定義するパラメータを含むようにしてもよい。より好ましい実施形態では、システム専用ファームウェアSSFが、例えば、サイクルタイムのパラメータで定義された間隔で、第2のデータストレージユニット6にあるファイルからのデータの読み取りと、ファイルへのデータの書き込みを繰り返すタスクを実行する。
【0073】
さらに、所定のファームウェアタスクのパラメータに、ファイルシステムタスクを含む所定のシステムタスクの内の1以上を有効および無効にするパラメータを含めることもできる。例えば、ログファイルシステムタスクを有効にするためにパラメータを設定することによって、第1のデータストレージユニット5のデータ書き込み領域7に書かれたデータは、第2のデータストレージユニット6上でオープンされたログファイルに繰り返し書き込まれる。加えて、データのログの記録は、ユーザ定義専用産業用制御プログラムPRGから独立して行われる。これによって、産業用制御プログラムPRGが、データ書き込み領域7に実際にデータを書き込まなかったとしても、データ書き込み領域7のデータがログファイルに書き込まれるという効果が得られる。パラメータを介してファイルシステムタスクを無効にすると、産業用制御プログラムPRGが第1のデータストレージユニット5のデータ書き込み領域7にデータを書き込んだとしても、ファイルにデータのログがとられないという効果も得られる。
【0074】
コンフィギュレーションタスクを使用することで、関連する所定のシステムタスク、例えば、処理ファイルの記録またはトレンドファイルの記録をスタートさせる時間を定義するための所定のファームウェアタスクのパラメータとしてタイマーを定義することも可能である。したがって、特定のサイクルではなく特定の時間にデータのログをとるように定義することが可能である。
【0075】
所定のファームウェアタスクのパラメータに、データ属性を示すデータ変数、例えば、データを読み取るファイル、データのログが取得されたまたは/およびデータが取出された初めの時間および/または日付などを選択するパラメータを含むようにしてもよい。
【0076】
所定のファームウェアタスクのパラメータに、1纏まりのグループとして第2のストレージユニットの書込または読出をする複数のデータを定義するパラメータを含めることができる。この点について、データの順番に応じてグループを定義してもよい。このようなグループは、例えば、測定値(例えば、温度)、測定が行われたカレンダーの日付、および、測定が行われた場所であってもよい。この場所は、計測が行われた関連するバス部分4の名称であってもよい。さらに、関連する所定のシステムタスクの処理のトリガーになるイベントを、イベントパラメータに設定することができる。このようなイベントは、計測値が、閾値未満であるか、閾値と等しいか、または、閾値より大きいかをトリガーにすることできる。例えば、イベントパラメータが、バス部分4によって計測された特定の温度であってよい。計測された温度が閾値に到達した時に、計測値を時間およびバス部分4の名称と一緒にファイルに記録する。バス部分のシステムエラーなどを、他のイベントにしてもよい。イベントはリストで提供され、タイムスタンプと一緒にイベントを記録するために、システム専用ファームウェアSSFが定期的にリストにイベントが存在するか否かをチェックする。また、イベントは、時系列の変数の形で提供することも可能である。
【0077】
コンフィギュレーションタスクは、例えば、ブラウザーを用いて、産業用制御装置1に置かれた、リモートネットワークFCH経由でアクセス可能なウェッブインターフェースからアクセスされるのが最も好ましい。ウェッブインターフェースでコンフィギュレーションテーブルの入力項目をユーザが定義できるようにすることで、それによってユーザが特定のニーズに応じて産業用制御装置をカスタマイズすることができる。所定のファームウェアタスクのパラメータをファイルシステムサービスに関連付けることで、これがシステム専用ファームウェアSSFの少なくとも1つの所定のシステムタスクがファイルシステムサービスの利用を含むタスクを実行できるようにする。
【0078】
ここで、
図4を参照して、産業用制御装置内のデータ転送方法の一般的な概略を示すフローチャートを示す。より具体的には、
図4は、ユーザ定義の産業用制御プログラムPRGとシステム専用ファームウェアSSFを示し、システム専用ファームウェアSSFはユーザ定義の産業用制御プログラムPRGとは独立して実行される。
【0079】
ここに記載されたように、ユーザ定義の産業用制御プログラムPRGはユーザによって命令が記述されたプログラムであり、ユーザがユーザ定義の産業用制御プログラムPRGの内容を完全に管理している。一方、システム専用ファームウェアSSFは、例えば、産業用制御装置のメーカーによって記述された命令が含まれている。ユーザはシステム専用ファームウェアSSFの内容は管理していない。
【0080】
産業用制御装置1の第1のデータストレージユニットへまたは第1のデータストレージユニットからデータを転送する方法では、産業用制御装置1のシステム専用ファームウェアSSFを利用してユーザ専用産業用制御プログラムPRGから独立した所定のシステムタスク群少なくとも1つのシステムタスクを実行する。
図4に、ユーザ専用産業用制御プログラムPRGで定義された命令を実行する動作フェーズを示す。少なくとも1つのシステムタスクは、システム専用ファームウェアSSFを利用して実行され、
a)ファイルシステムで利用できるようにフォーマットされた第2のデータストレージユニット6へ、第1のデータストレージユニット5の第1の専用記憶位置7のデータを移動するために、少なくとも1つのファイルシステムサービスを利用する、または、
b)第2のデータストレージユニット6から第1のデータストレージユニット5の第2の専用記憶位置8へデータを移動するために、少なくとも1つのファイルシステムサービスを利用する
ようになっている。
【0081】
より具体的には、システム専用ファームウェアSSFは、例えば、ユーザによって設定可能なテーブルに基づいてシステムタスクを実行する。この点において、ユーザは、システム専用ファームウェアSSFのシステムタスクを有効または無効にすることができる。例えば、ユーザは、読み取りおよび/または書き込み動作(例えば、ログファイルから読み取る、ログファイルに書き込む)に対応するシステムタスクを有効または無効にし、読み取り/書き込み動作などのスキャンレートを設定するようにしてもよい。
【0082】
例えば、ユーザ定義の産業用制御プログラムPRGを生成する際、ユーザはトレンドファイルまたは他のファイルにデータのログを取っておきたいかもしれない。このために、ユーザは、ユーザ定義の産業用制御プログラムPRGからメモリの特定の領域(例えば、データ書き込み領域7など)にアプリケーションデータの書き込みを行うユーザ定義の産業用制御プログラムPRGに、命令を含めるようにしてもよい。このようなデータ書き込み領域7へのデータの書き込みが、ファイルシステムサービスを利用しないでユーザ定義の産業用制御プログラムPRGに組み込まれる。
【0083】
ユーザ定義の産業用制御プログラムとは独立して、システム専用ファームウェアSSFは、コンフィギュレーションテーブルの設定に基づいて、データ書き込み領域7に記憶されているデータをログファイルなどの適切なファイルへ書き込むようにしてもよい。このようなシステム専用ファームウェアSSFによるファイルへのデータの書き込みは、ファイルシステムサービスを利用して実行されてもよい。
【0084】
同様に、ユーザ定義の産業用制御プログラムPRGを生成する際、ユーザは、例えば、トレンドファイルなどのログファイルに記憶されているデータを産業用制御プログラムPRGへ読み込むことを望むかもしれない。このために、コンフィギュレーションテーブルを介して、ユーザはシステム専用ファームウェアSSFがログファイルからデータを読み取ってメモリの特定の領域(例えば、データ読み取り領域8など)にデータを書き込むシステムタスクを実行するように設定してもよい。このようにシステム専用ファームウェアSSFによるデータの書き込みは、ファイルシステムサービスを利用して実行されてもよい。
【0085】
ユーザ定義の産業用制御プログラムPRGにおいてこのようなログデータを利用するために、ユーザは、データ読み取り領域8から産業用制御プログラムPRGにデータを読み取るユーザ定義の産業用制御プログラムPRGに、命令を含めるようにしてもよい。このようなデータ読み取り領域8からデータをユーザ定義の産業用制御プログラムPRGへ読み込むときに、ファイルシステムサービスを利用しないで実行される。
【0086】
したがって、本発明の産業用制御装置は、ユーザ定義の産業用制御プログラムがファイルシステムサービスを起動することなく、ファイルへの書き込み/ファイルからの読取を行うことができる。
【0087】
さらに
図5を参照して、産業用制御装置内でデータを転送する典型的な方法を実施するための典型的な論理的な動作をより詳細に説明する。
図5のフローチャート10は、産業用制御装置1のシステム専用ファームウェアSSFが行う方法のステップを示すと考えられる。しかし、
図5は、機能の論理ブロックを特定の順番で実行しているが、示された順番を基準にブロックを実行する順番を変えたものであってもよい。また、連続する2以上のブロックが同時に実行されても、部分的に一緒に行われてもよい。所定のブロックが、省略されてもよい。さらに、任意の数の関数、論理演算、コマンド、状態変数、セマフォまたはメッセージが、拡張ユーティリティ、課金、性能、測定、トラブルシューティングなどのために論理フローに追加されてもよい。この様な変形は全て本発明の範囲に含まれることが理解されるであろう。
【0088】
最初にブロック12で、システム専用ファームウェアSSFは、例えば、ユーザにより設定可能なコンフィギュレーションテーブルからコンフィギュレーションデータを読み取る。ここに記載するように、システム専用ファームウェアSSFは、ユーザにより設定可能なコンフィギュレーションテーブルの入力項目を介して有効または無効にできる1以上のシステムタスクを含む。コンフィギュレーションテーブル内の設定は、電源投入時に産業用制御装置の処理によって読み取られる。テーブルから得られた設定に基づいて、プロセッサーは、例えば、定義されたどのシステムタスクを有効にするか、または有効にしないか、メモリデータのどの領域の読取および/または書込を行うかを決定する。
【0089】
ブロック14に移り、システム専用ファームウェアSSFは、システムタスクが有効にされたか否か(例えば、システム読込タスク、または、システム書込タスク)を判定する。もし、有効にされたシステムタスクがない場合には、終了になる。しかし、有効にされたシステムタスクがある場合には、ブロック16でシステム専用ファームウェアSSFは、システムタスクが読み込み動作または書き込み動作に対応するかを判定する。
【0090】
システムタスクが書込み動作に対応する場合は、ブロック18でシステム専用ファームウェアSSFは、データ書き込み領域7に記憶されているデータ(データ書き込み領域7のデータはユーザ専用産業用制御プログラムPRGによって置かれたものである)を読み取って、ファイルにデータを書き込む。ここで、システム専用ファームウェアSSFによって実行された書込み動作は、ファイルシステムサービスを利用することができる。ここに記載するように、メモリの特定の領域は、書込み動作が実行される頻度、書き込み先ファイルなどは、全てシステム専用ファームウェアのユーザ設定可能なコンフィギュレーションテーブルで指定される。一旦、書き込む動作が終了すると、ブロック14に戻って処理を繰り返す。
【0091】
ブロック16に移り、システムタスクが読み取り動作に対応しているときは、ブロック20で、システム専用ファームウェアSSFが特定のファイル(例えば、ログファイル、トレンドファイルなど)に記憶されているデータを読み取り、データ読み取り領域8にデータを書き込む。ここで、システム専用ファームウェアSSFによって実施される読み取り動作は、ファイルシステムサービスを利用することができる。そこで、ユーザ専用産業用制御プログラムは、データにアクセスすることができる。
【0092】
再度、上述の通り、メモリの特定の領域、読み取り動作が実行される頻度、データが読み取られるファイルなどが、全てシステム専用ファームウェアのユーザ設定可能なコンフィギュレーションテーブルで指定される。一旦、読み取る動作が完了すると、ブロック14に戻って処理を繰り返す。
【0093】
本発明は、所定の実施形態について示され、記載されているが、他の当業者が本明細書および添付の図面から読み取られかつ理解できる範囲で、所定の実施形態と等価な変更および修正が発生し得る。特に上述に記載の要素(部品、アセンブリ、デバイス、組成等)によって実施される様々な機能において、そのような要素を記述するために用いられる用語(「手段」が含まれる)は、指示がない限り、本発明のここに記載した典型的な実施形態で機能を実行する開示された構成と構造的に等価でないものであっても、記述した要素(すなわち、機能的に等価なもの)の特定の機能を実行するあらゆる要素に対応するものを意図する。さらには、本発明の特定の特徴は1以上のいくつかの実施形態に関して記載されたが、あらゆる所与または特定の応用に対して所望の、かつ、有益であり得るように、そのような特徴は他の実施形態の1以上の他の特徴と組み合わせてもよい。
【0094】
以下に、本発明のさらなる好ましい実施の形態が記載される:
1. ユーザ専用産業用制御プログラム(PRG)で規定された命令を実行する動作フェーズを有する少なくとも1つの産業用制御装置(1)を備えた産業用制御システムであって、
前記産業用制御装置(1)は、
少なくとも1つのマイクロプロセッサー(μP)と、
少なくとも1つのファイルシステムサービスと、
前記少なくとも1つのマイクロプロセッサーを用いて、前記ユーザ専用産業用制御プログラム(PRG)に規定された命令の実行を管理するように適合されたランタイムシステム(RTS)と、
前記産業用制御装置(1)にデータを記憶するための第1のデータストレージユニット(5)と、
前記動作フェーズ中に、所定のシステムタスク群をユーザ専用産業用制御プログラム(PRG)に規定された命令から独立して実行するように適合されたシステム専用ファームウェア(SSF)を備え、
前記所定のシステムタスク群の前記少なくとも1つのシステムタスクは、
a) 前記第1のデータストレージユニット(5)の第1の専用記憶位置のアドレスを指定し、ファイルシステムで利用するためにフォーマットされた第2のデータストレージユニット(6)に前記第1のデータストレージユニット(5)の前記第1の専用記憶位置のデータを移動するために、前記少なくとも1つのファイルシステムサービスを利用する、および/または、
b) 前記第1のデータストレージユニット(5)の第2の専用記憶位置のアドレスを指定し、前記第2のデータストレージユニット(6)から前記第1のデータストレージユニット(5)の前記第2の専用記憶位置へデータを移動するために、前記少なくとも1つのファイルシステムサービスを利用する
ように構成されていることを特徴とする産業用制御システム。
2. 前記産業用制御装置(1)は、前記第2のデータストレージユニット(6)をさらに備えることを特徴とする1項記載の産業用制御システム。
3. 前記ユーザ専用産業用制御プログラム(PRG)は、前記少なくとも1つのファイルシステムサービスへのアクセスが制限されることを特徴とする1項または2項記載の産業用制御システム。
4. 前記ランタイムシステム(RTS)は、前記ユーザ専用産業用制御プログラム(PRG)が前記ファイルシステムのサービスへのアクセスするのを制限することを特徴とする3項記載の産業用制御システム。
5. 前記ユーザ専用産業用制御プログラム(PRG)は、前記第1の専用記憶位置へのデータの書込、および、前記第2の専用記憶位置からのデータの読取の少なくとも一方を行うように適合されていることを特徴する1〜4項のいずれか1項記載の産業用制御システム。
6. 前記所定のシステムタスク群のうちの少なくとも1つのシステムタスクは、
前記第1のデータストレージユニット(5)の前記第1の専用記憶位置に記憶されたデータを前記第2のデータストレージユニット(6)上でオープンされたファイルに書き込むように適合されていることを特徴とする1〜5項のいずれか1項記載の産業用制御システム。
7. 前記所定のシステムタスク群のうちの少なくとも1つのシステムタスクは、データを前記第2のデータストレージユニット(6)上でオープンされたファイルから前記第1のデータストレージユニット(5)の前記第2の専用記憶位置に書き込むように適合されていることを特徴とする1〜6項のいずれか1項記載の産業用制御システム。
8. 前記所定のシステムタスク群のコンフィギュレーションパラメータを複数定義したコンフィギュレーションテーブルをさらに備えることを特徴とする1〜7項のいずれか1項記載の産業用制御システム。
9. 前記複数のコンフィギュレーションパラメータの少なくとも1つが、前記動作フェーズにおいて、前記所定のシステムタスク群の1つのシステムタスクが、
前記第1のデータストレージユニット(5)の前記第1の専用記憶位置にあるデータを前記第2のデータストレージユニット(6)に移動、および、前記第2のデータストレージユニット(5)にあるデータを前記第1のデータストレージユニット(6)の前記第2の専用記憶位置に移動、のうち少なくとも一方を行うために、前記ファイルシステムのサービスを利用できるようにすることを特徴とする8項記載の産業用制御システム。
10. 前記コンフィギュレーションテーブルは、
ファイル名、
データの種類、
ファイルの種類、
前記第1の専用記憶位置に対応する前記第1のデータストレージユニット(5)の位置、
前記第2の専用記憶位置に対応する前記第1のデータストレージユニット(5)の位置、
前記ユーザ専用産業用制御プログラム(PRG)のデータ変数、
前記所定のシステムタスク群のうちの1つのシステムタスクの繰り返しの時間を定義するスキャン時間、
前記所定のシステムタスク群のうちの1つのシステムタスクの有効化フラグであって、前記システムタスクを有効または無効にする有効化フラグ、
前記所定のシステムタスク群のうちの1つのシステムタスクのスタート時間を定義したタイマー、
ファイルへ書込、または、ファイルから読出をするためのデータ変数の選択、
一纏まりでファイルに書込む、または、ファイルから読出すかを選択したデータ変数の順番を定義したグループ定義、および、
前記所定のシステムタスク群のうちの1つの関連したシステムタスクの処理のトリガーとなるイベントを定義したイベントパラメータ、
の少なくとも1つに対応するシステムタスクのコンフィギュレーションパラメータを備えることを特徴とする8項または9項記載の産業用制御システム。
11. ネットワークを介してアクセス可能なウェッブインターフェースをさらに備え、
前記複数のコンフィギュレーションパラメータが、前記ウェッブインターフェースを介して遠隔でアクセス可能にすることを特徴とする1〜10項のいずれか1項に記載の産業用制御システム。
12. 前記第1の専用記憶位置および前記第2の専用記憶位置のうち少なくとも一方が前記第1のデータストレージユニット(5)の固定の連続した領域であることを特徴とする1〜11項のいずれか1項に記載の産業用制御システム。
13. 前記産業用制御システムは、少なくとも1つの宣言テーブルを備え、
前記宣言テーブルは、前記産業用制御プログラム(PRG)のデータ変数のリファレンスで構成され、
前記システム専用ファームウェア(SSF)は前記第1のデータストレージユニット(5)上でデータを扱うために配置され、前記データは、前記ファイルシステムサービスを利用して前記少なくとも1つの宣言テーブルで参照されるデータ変数に関連するものであることを特徴とする1〜12項のいずれか1項記載の産業用制御システム。
14. 制御装置に接続可能な少なくとも1つの入力/出力装置をさらに備え、
前記少なくとも1つの入力/出力装置は、前記ユーザ専用産業用制御プログラム(PRG)から前記制御装置へコマンドを提供する、または、前記ユーザ専用産業用制御プログラム(PRG)で使用するためのデータを前記制御装置から受け取るように適合されていることを特徴とする1〜13項のいずれか1項記載の産業用制御システム。
15. 前記産業用制御装置(1)は、前記ユーザ専用工業用制御プログラム(PRG)がシステムサービスにアクセスするのを有効、または、抑制する少なくとも1つのパラメータを備えたアクセステーブルをさらに備え、前記少なくとも1つのパラメータが前記ユーザ専用工業用制御プログラム(PRG)によってアクセス不可能であることを特徴とする1〜14項のいずれか1項記載の産業用制御システム。
16. 前記少なくとも1つの産業用制御装置(1)は、前記産業用制御装置(1)のそれぞれによって実行するためのシステム専用ファームウェア(SSF)を備えることを特徴とする1〜15項のいずれか1項記載の産業用制御システム。
17. 前記少なくとも1つの産業用制御装置(1)と離れたコンピュータと通信ネットワークをさらに備え、
前記コンピュータは、前記通信ネットワークによって、前記少なくとも1つの産業用制御装置(1)と通信可能に接続され、
前記システム専用ファームウェア(SSF)が、前記コンピュータ上で実行されるために前記コンピュータに記憶され、かつ、前記コンピュータのファイルシステムサービスを利用して前記第1のデータストレージユニット(5)の専用記憶位置および前記第2のデータストレージユニット(6)の専用記憶位置間でデータを転送するために配置されることを特徴とする1〜16項のいずれか1項記載の産業用制御システム。
18. 産業用制御装置(1)の第1のデータストレージユニット(5)へ、または、第1のデータストレージユニット(5)からデータを転送する方法であって、
前記産業用制御装置(1)が、少なくとも1つのファイルシステムサービスを備え、前記産業用制御装置(1)の動作フェーズの間にユーザ専用産業用制御プログラム(PRG)で規定された命令を実行するように適合されており、
前記方法が、
所定のシステムタスク群の少なくとも1つのシステムタスクをユーザ専用産業用制御プログラム(PRG)から独立して実行するために前記産業用制御装置(1)に提供されるシステム専用ファームウェア(SSF)を用いるステップを備え、
前記動作フェーズにおいて、前記少なくとも1つのシステムタスクは、
a) ファイルシステムで利用するためにフォーマットされた第2のデータストレージユニット(6)に前記第1のデータストレージユニット(5)の前記第1の専用記憶位置のデータを移動するために前記少なくとも1つのファイルシステムサービスを利用する、または、
b) 前記第2のデータストレージユニット(6)から前記第1のデータストレージユニット(5)の前記第2の専用記憶位置へデータを移動するために前記少なくとも1つのファイルシステムサービスを利用する
ように適合されていることを特徴とする方法。
19. 前記ユーザ専用産業用制御プログラム(PRG)は、前記少なくとも1つのファイルシステムサービスへのアクセスが制限されるステップをさらに備えることを特徴とする18項記載の方法。
20. 前記第1のデータストレージユニット(5)の前記第1の専用記憶位置へのデータの書込、および、前記第1のデータストレージユニット(5)の前記第2の専用記憶位置からのデータの読取の少なくとも一方を行うために前記ユーザ専用産業用制御プログラム(PRG)を用いるステップをさらに備えることを特徴する18または19項記載の方法。
21. 前記第1のデータストレージユニット(5)の前記第1の専用記憶位置に記憶されたデータを前記第2のデータストレージユニット(6)上でオープンされたファイルに書き込むために前記所定のシステムタスク群のうちの少なくとも1つのシステムタスクを用いるステップをさらに備えることを特徴とする18〜20項のいずれか1項記載の方法。
22. データを前記第2のデータストレージユニット(6)上でオープンされたファイルから前記第1のデータストレージユニット(5)の前記第2の専用記憶位置に書き込むために前記所定のシステムタスク群のうちの少なくとも1つのシステムタスクを用いるステップをさらに備えることを特徴とする18〜21項のいずれか1項記載の方法。
23. 前記所定のシステムタスク群のコンフィギュレーションパラメータを複数定義したコンフィギュレーションテーブルを介して、前記所定のシステムタスク群をさらにコンフィギュレーションするステップをさらに備えることを特徴とする18〜22項のいずれか1項記載の方法。
24.前記コンフィギュレーションパラメータは、
ファイル名、
データの種類、
ファイルの種類、
前記第1の専用記憶位置に対応する前記第1のデータストレージユニット(5)の位置、
前記第2の専用記憶位置に対応する前記第1のデータストレージユニット(5)の位置、
前記ユーザ専用産業用制御プログラム(PRG)のデータ変数、
前記所定のシステムタスク群のうちの1つのシステムタスクの繰り返しの時間を定義するスキャン時間、
前記所定のシステムタスク群のうちの1つのシステムタスクの有効化フラグであって、前記システムタスクを有効または無効にする有効化フラグ、
前記所定のシステムタスク群のうちの1つのシステムタスクのスタート時間を定義したタイマー、
ファイルへ書込、または、ファイルから読出をするためのデータ変数の選択、
一纏まりでファイルに書込む、または、ファイルから読出すかを選択したデータ変数の順番を定義したグループ定義、および
前記所定のシステムタスク群のうちの1つの関連したシステムタスクの処理のトリガーとなるイベントを定義したイベントパラメータ、
の少なくとも1つを備えることを特徴とする23項記載の方法。
25. 前記複数のコンフィギュレーションパラメータにネットワークを介して遠隔でアクセス可能にするウェッブインターフェースを用いるステップをさらに備えることを特徴とする23項または24項記載の方法。
26. 前記ユーザ専用産業用制御プログラム(PRG)がシステムサービスにアクセスするのを有効または抑制する少なくとも1つのパラメータを定義したクセステーブルを用いるステップをさらに備え、
前記少なくとも1つのパラメータが前記ユーザ専用工業用制御プログラム(PRG)によってアクセス不可能であることを特徴とする18〜25項のいずれか1項記載の方法。
27. 前記少なくとも1つの産業用制御装置(1)のマイクロプロセッサー(μP)上で、前記システム専用ファームウェア(SSF)を実行するステップをさらに備えることを特徴とする18〜26項のいずれか1項記載の方法。
28. 前記少なくとも1つの産業用制御装置(1)と離れたコンピュータ上で前記システム専用ファームウェア(SSF)を実行するステップをさらに備え、
前記コンピュータは、前記コンピュータのファイルシステムサービスを利用して前記第1のデータストレージユニット(5)の専用記憶位置および前記第2のデータストレージユニット(6)の専用記憶位置間でデータを転送するために、通信ネットワークを介して前記少なくとも1つの産業用制御装置(1)と通信を行うことを特徴とする18〜27項のいずれか1項記載の方法。