(57)【要約】【課題】制御装置からのデータの検索及び／又は処理を最適化する方法を提供する。【解決手段】制御装置は、そのメモリ中のデータに実行時ダイナミックにアクセスするため、制御装置自身に向けて命令を処理できる。そこでは、命令に付随する文字列タグ中に含めることのできるタグ名が、メモリ中のデータやメモリ領域と関連づけされ、このタグ名を参照することでデータが間接的にアクセスできる。複数のタグ、即ち、データのそれぞれの項目と関連づけされた各タグは、実行時ダイナミックに検索又は参照され、一つの命令によってデータのそれぞれの項目にアクセスできる。そこでは、あるタグは第１の構造体、アレイ、及び／又はスコープと関連づけされ、異なるタグは異なる構造体、異なるアレイ、及び／又は異なるスコープと関連づけされる。【選択図】図１
2008210377.tif 000002
【特許請求の範囲】
【請求項１】
可変のタグ名をデータ、タグオブジェクト、又は物理メモリ領域の少なくとも一つにリンクするのを支援するタグ管理コンポーネントと、
制御装置内に組み込まれ、前記タグ管理コンポーネントと関連があり、前記制御装置で命令を実行するのを支援し、実行時ダイナミックに前記可変のタグ名と関連づけされた前記物理メモリ領域への又はからのデータのアクセスを支援するため、前記可変のタグ名を表す１以上の文字を含む文字列タグを使用するアクセスコンポーネントと、
を備える、制御装置内でデータを利用するのを支援するシステム。
【請求項２】
前記制御装置がプログラマブル論理制御装置である請求項１に記載のシステム。
【請求項３】
前記命令が前記制御装置に向けられ、前記物理メモリ領域が前記制御装置のメモリ中にある請求項１に記載のシステム。
【請求項４】
前記命令が、実行時ダイナミックに、タグ、構造体、又はメモリ中の第１のアレイの一つと関連づけされた物理メモリ領域へ又はからデータにアクセスするのを支援し、また、異なるタグ、異なる構造体、又は前記メモリ中の異なるアレイの少なくとも一つと関連づけされた少なくとも一つの他の物理メモリ領域へ又はから異なるデータにアクセスするのを支援する請求項３に記載のシステム。
【請求項５】
前記命令が、単一ブロックのコードを使用して実行される請求項４に記載のシステム。
【請求項６】
前記アクセスコンポーネントが、第１のスコープと関連づけされた第１のタグである該第１のタグと関連づけされたデータにアクセスするのを支援し、また、異なるスコープと関連づけされた異なるタグである該異なるタグと関連づけされた異なるデータにアクセスするのを支援する請求項１に記載のシステム。
【請求項７】
前記文字列タグを生成するのを支援する外部デバイスをさらに備え、該外部デバイスがＭＨＩ、情報技術データベース、異なるシステム、又は異なる制御装置の少なくとも一つである請求項６に記載のシステム。
【請求項８】
前記可変のタグ名及び該可変のタグ名と関連づけされたスコープを、データ、前記タグオブジェクト、又は前記物理メモリ領域の少なくとも一つにリンクするリンクコンポーネントをさらに備える請求項１に記載のシステム。
【請求項９】
前記制御装置内でデータのアクセス中、権限及びデータの完全性を与えるセキュリティコンポーネントをさらに備える請求項１に記載のシステム。
【請求項１０】
データと関連づけされた書き込みリクエスト又は読み出しリクエストの少なくとも一つと関連のあるコードを書き込むステップと、
タグオブジェクト、前記データ、又はプログラマブル論理制御装置内のメモリ中の物理メモリアドレスの少なくとも一つに名前をリンクするステップと、
該名前を文字列タグに付随するデータに記憶するステップと、
を含む、プログラマブル論理制御装置内でデータにアクセスするのを支援する方法。
【請求項１１】
前記コードと関連のある命令の前記文字列タグをロードするステップと、
前記プログラマブル理論制御装置内で前記命令を実行するステップと、
前記名前と関連づけされた情報、及び前記タグオブジェクト、前記データ、又は前記物理メモリアドレスの少なくとも一つ、を有する記号テーブル中の前記名前を参照するステップと、
前記メモリから、前記名前と関連づけされた情報を検索するステップと、をさらに含み、該情報が、前記タグオブジェクト、前記データ、又は前記物理メモリアドレスの少なくとも一つと関連づけされた情報を少なくとも有する情報である請求項１０に記載の方法。
【請求項１２】
前記データと関連づけされた前記書き込みリクエスト又は前記読み出しリクエストの少なくとも一方を実行するステップと、
前記メモリ内の前記物理メモリ領域へ、又はから前記データに実行時ダイナミックにアクセスするステップと、
をさらに含む請求項１１に記載の方法。
【請求項１３】
異なる名前を、異なるタグオブジェクト、異なるデータ、又は前記メモリ中の異なる物理メモリ領域の少なくとも一つにリンクするステップと、
異なる文字列タグに付随するデータに前記異なる名前を記録するステップと、
前記命令中の前記異なる文字列タグをロードするステップと、
をさらに含み、前記異なる名前が、異なる構造体、異なるアレイ、又は異なるスコープの少なくとも一つと関連づけされ、前記名前が、第１の構造体、第１のアレイ、又は第１のスコープと関連づけされる請求項１０に記載の方法。
【請求項１４】
前記プログラマブル論理制御装置内で前記命令を実行するステップと、
前記異なる名前と関連づけされた情報、及び前記異なるタグオブジェクト、前記異なるデータ、又は前記異なる物理メモリアドレスの少なくとも一つを有する前記記号テーブル中の前記異なる名前を参照するステップと、
前記メモリから、前記異なる名前と関連づけされた情報を検索するステップと、
をさらに含み、該情報が、前記異なるタグオブジェクト、前記異なるデータ、又は前記メモリ中の前記異なる物理メモリアドレスの少なくとも一つと関連づけされた情報を少なくとも有する情報である請求項１３に記載の方法。
【請求項１５】
前記異なるデータと関連づけされた前記書き込みリクエスト又は前記読み出しリクエストの少なくとも一方を実行するステップと、
前記メモリ内の前記異なる物理メモリ領域へ又はから前記異なるデータに実行時ダイナミックにアクセスするステップと、
をさらに含む請求項１４に記載の方法。
【請求項１６】
記号テーブル中の前記名前の参照を実行時ダイナミックに実行するステップをさらに含む請求項１０に記載の方法。
【請求項１７】
前記名前を前記文字列タグ中にロードするのに、ヒューマンマシンインターフェース（ＨＭＩ）を使用する請求項１０に記載の方法。
【請求項１８】
名前をタグにリンクする手段と、
該タグを、データ又はプログラマブル論理制御装置のメモリ中の物理メモリ領域の少なくとも一つと関連づけする手段と、
前記名前を文字列タグ中に書き込む手段と、
該文字列タグを命令と関連づけする手段と、
を備える、プログラマブル論理制御装置中のデータにアクセスするのを支援するシステム。
【請求項１９】
前記命令を実行する手段と、
前記文字列タグ中の前記名前を認識する手段と、
記号テーブル中の前記名前を認識する手段と、
前記名前にリンクされている前記タグと関連づけされた前記データを検索する手段と、
実行時ダイナミックに、前記メモリから前記データを読み出す手段、又は前記メモリへ前記データを書き込む手段の少なくとも一方の手段と、
をさらに備える請求項１８に記載のシステム。
【請求項２０】
異なる名前を異なるタグとリンクする手段と、
前記異なるタグを、異なるデータ又は前記プログラマブル論理制御装置の前記メモリ中の異なる物理メモリ領域の少なくとも一つと関連づけする手段と、
前記記号テーブル中の前記異なる名前を認識する手段と、
前記名前にリンクされている前記タグと関連づけされた前記異なるデータを検索する手段と、
実行時ダイナミックに、前記メモリから前記異なるデータを読み出す手段、又は前記メモリへ前記異なるデータを書き込む手段の少なくとも一方の手段と、
をさらに備え、前記異なる名前が、異なる構造体、異なるアレイ、又は異なるスコープの少なくとも一つと関連づけされ、前記名前が、第１の構造体、第１のアレイ、又は第１のスコープの少なくとも一つと関連づけされている請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用の制御システムに関し、より詳細には、制御装置からのデータの検索及び／又は処理を最適化することに関する。
【背景技術】
【０００２】
コンピュータ技術の進歩により、今日のビジネスは、ほんの２、３年前のほぼ同様のビジネスと比べ、より効率的に行うことができる。例えば、内部ネットワークは、会社の従業員が、Ｅメールにより即座に通信する、異なる従業員に即座にデータファイルを転送する、データファイルを巧みに取り扱う、プロジェクトに関するデータを共有し、仕事上の商品に関する複写物を削減するなどを可能とする。さらに、技術の進歩は、工場のアプリケーションを部分的もしくは完全に自動化するのを可能とした。例えば、かつて労働者に、大型機械やその他様々な危険な状況の近くでの労働を課していた作業は、現在では、そこから安全な距離で行える。
【０００３】
産業プロセスの自動化に関して様々な進歩が図られている一方で、制御装置の利用や設計は大部分変化していない。さらに詳細には、産業用の制御装置は効率的にリアルタイム制御するよう設計されている。例えば、従来型の産業用の制御装置はセンサーからデータを受信し、その受信したデータを基にアクチュエータ、駆動装置等を制御する。これらの制御装置は、発信元及び／又は発信先と関連づけされた記号及び／又はアドレスによりデータの発信元及び／又は発信先を認識する。更に、産業用の制御装置は、通信ポート及び／又は通信アダプタを備えることができ、センサー、アクチュエータ、駆動装置等は、上記ポート／アダプタに通信できるよう接続される。このようにして、制御装置はデータが受信されるとデバイスアイデンティティを認識し、更に適切なデバイスに制御データを送信することができる。
【０００４】
上記から分かるように、従来型の産業用の制御装置に関連するデータは、平面物理アドレス空間で作られ、伝送され、及び／又は記録される。言い換えれば、制御装置により受信された及び／又は発信されたデータをレビューすることで識別されるのは、アクチュエータ又はセンサーに関するデータ及びステータスに関するデータの存在するメモリ位置である。さらに、記述的な名前やタグが制御装置のメモリ中のデータと関連付けされ、そこでは、平面物理アドレスとは異なりそのタグが参照される。
【０００５】
従来、タグは設計時に設定され、実行時の編集で変更できる。さらに、一般的に、記号アドレス指定（例えば、タグリファレンス）が使用されるところでは、制御装置は、実行時にダイナミックに制御装置内のデータにアクセスする命令を実行できない。制御装置が実行中に、制御装置自身の内部で実行時ダイナミックにデータにアクセス（例えば、読み出し／書き込み）するのが望ましい。
【０００６】
さらに、制御装置のメモリは、スコープとして知られる隔離領域に分割され、それによって各スコープ中のタグデータへのアクセスが、同じスコープに含まれるコード内に埋め込まれたアプリケーションプログラム命令に制限される。従来、複数エリア内又は複数のスコープ内でコードによってアクセスされなければならないデータは、一般にアクセス可能なグローバルエリアに置かれなければならない。このことは、仮にタグ名がグローバルエリアと制御装置のエリアにわたって再利用されると、複雑な状態を生じてしまう。あるプログラムスコープに含まれるアプリケーションコードが、タグの履歴を調べる制御装置に戻す必要なく、別のプログラムスコープのデータにアクセスできるのが望ましい。
【発明の開示】
【課題を解決するための手段】
【０００７】
下記には、本明細書に記載したいくつかの態様の基本的な理解を与えるために、開示した発明の簡約した概要を示している。この概要は冗長な概略ではなく、必須の／重要な要素を特定すること、もしくは開示した発明の範囲を示すことを意図するものではない。その目的はただ、後述する詳細な説明の前置きとして簡単な形式でいくつかの概念を表すことにある。
【０００８】
開示した発明は、制御装置のデータの間接アクセスを支援するシステム及び／又は方法に関する。開示した発明の一形態では、タグ管理コンポーネントは、例えば、プログラマブル論理制御装置（以下「ＰＬＣ」と示す）などの制御装置内のメモリに書き込まれたデータ又はメモリから読み込まれたデータと関連づけされるタグ名を生成するのに使用できる。また、このタグ管理コンポーネントは、タグ名をデータがアクセス（例えば、読み出し、書き込み）されるメモリ内のメモリ領域と関連づけるのを支援することもできる。その後、そのタグ名と関連づけされたデータは、そのタグ名を含む文字列タグを参照する命令（インストラクション）を介してメモリ領域からアクセスされる。そこでは、例えば、文字列タグ中のデータは、物理メモリ領域／アドレスを直接参照するのではなく、アクセスすべきタグ名を表す文字の組合せ（例えば、ＡＳＣＩＩ）を含む。
【０００９】
別の態様では、制御装置は、他の制御装置又はデバイスと対照的に、命令と関連づけされた文字列タグ中にタグ名を含めることで、制御装置自身にある命令を処理し、データにアクセスすることができる。その結果、アクセス（例えば、読み出し、書き込み）リクエストが実行時ダイナミックに実行できる。例えば、タグ名はタグ（例えば、タグオブジェクト）、データ、及び／又はそのデータがアクセスされる（例えば、読み出される、書き込まれる）物理メモリ領域と関連づけできる。命令には、それと関連のある読み出しリクエスト又は書き込みリクエストが制御装置自身の内部で実行できるように書き込める。リクエストされているタグ名は、その命令と関連づけされた文字列タグのデータ中に含めることができる。実行時、その命令が実行でき、アクセスコンポーネントがその文字列タグ中の所望のタグ名を検出できる。タグ管理コンポーネントは、タグオブジェクトとそれと関連づけられた情報（例えば、メモリアドレス、データ値）を識別するため、記号テーブル（例えば、ルックアップテーブル、データテーブル）中のタグ名を参照するのを支援できる。その情報はアクセスコンポーネントに与えられ、アクセスコンポーネントは、その関連づけされたデータを、そのタグ名と関連づけされた物理メモリ領域へ／物理メモリ領域から実行時ダイナミックにアクセスできる。それによって制御装置は、メモリ内の所望のタグの物理的位置についてのどんな所定の知識もなしに、そのタグ名を使用して、そのタグと関連づけされたデータに間接的に実行時ダイナミックにアクセスすることができる。
【００１０】
開示した発明のさらに別の態様では、同じ命令により異なる構造体のメンバ及び／又は異なるアレイのデータにアクセスするため、複数のタグを実行時ダイナミックに橋渡しできる。例えば、タグ名は文字列タグのデータ中に記録でき、そこでは、そのタグ名はデータ及びそのデータがアクセスされる制御装置のメモリの第１のアレイ内のメモリ領域と関連づけできる。制御装置がデータにアクセスするため命令を実行すると、アクセスコンポーネントは文字列タグのデータ中のタグ名を識別又は認識できる。タグ管理コンポーネントはそのタグ名を参照できる。その結果、アクセスコンポーネントは第１のアレイ中のそれと関連づけされたデータにアクセスできる。続いて、命令と関連づけされた文字列タグのデータ中に別のタグ名を含めることができ、そこでは、その別のタグ名は別のアレイに記録されたデータと関連づけされる。制御装置がその命令を実行する次のときには、アクセスコンポーネントはその文字列タグのデータ中のその別のタグ名を認識できる。タグ管理コンポーネントはその別のタグ名及びそれと関連づけされた別のアレイ中にあるデータを参照できる。さらに、複数のデータメンバ又は要素を含む構造体が橋渡しされ、異なる構造体のそれぞれのデータメンバが実行時ダイナミックにアクセスされる。各データメンバは個々の名前が割り当てられ、データメンバと関連づけされたデータ値が、命令と関連づけされた文字列タグのデータ中のその関連する名前を参照することでアクセスされる。続いて、別のデータメンバ（例えば、構造体の要素）が、その同じ命令を使用してアクセスされる。その命令では、その文字列タグのデータがその別のデータメンバと関連づけされた名前を含む。このように、複数のタグ、異なる構造体の要素、及び異なるアレイを橋渡しすることで、全てが、同じ命令を用いて実行時ダイナミックに遂行される。
【００１１】
さらに別の態様では、制御装置は、異なるスコープを橋渡しすることで、異なるスコープとそれぞれ関連づけされたデータ項目に実行時ダイナミックにアクセスできる。制御装置のメモリは、スコープ（例えば、制御装置のスコープ、プログラムスコープ）として知られる隔離領域に分割される。通常、各スコープのタグと関連づけされたデータへのアクセスは、同じスコープ中に含まれるコード内に組み込まれたアプリケーションプログラムの命令に制限される。従って、複数のデータ領域又はスコープ内でコードによってアクセスされねばならないデータは、一般にアクセス可能なグローバルエリアに置かれなければならない。これは、仮にタグ名がグローバルエリアと制御装置エリアにわたって再利用されると面倒な事態を生じる。開示した発明は、文字列タグのデータ中のタグ名を参照することによって、実行時ダイナミックに異なるスコープを橋渡しするのを支援できる。あるプログラムスコープ内で使用されたタグ名が別のプログラムスコープによって再利用される場合、又は別のプログラムスコープのタグ名と重複する場合、名前のコリジョンを避けるため、プログラムスコープの名前とタグ名の両方を文字列タグ中に記入できる。命令中には文字列タグのデータをロードでき、その命令は、その文字列タグのデータに記録されたタグ名及びプログラム名（例えばスコープ）のランタイムルックアップを実行し、そしてそのタグと関連づけされたデータを戻すのに使用され、それによってダイナミックアクセス（例えば、読み出し／書き込み）とともに、スコープの橋渡し又はデータ領域の橋渡しの両方が可能となる。従って、名前のコリジョンを避けるため名前を変える必要性ばかりでなく、情報をグローバルエリアに配置する必要性も減じられる。
【００１２】
前述のこと及び関連する目的を達成するため、本発明の特定の例示的態様を、以下の記述及び付属図面とともに本明細書に記載する。これらの態様は、開示した本発明の原理を用いることのできるほんの数例の様々な方法を表示するが、開示した本発明はかかる態様及びそれらと同等のもの全てを含むことを意図している。開示した発明のその他の利点及び顕著な特徴は、図面とともに考えられると、開示した発明の以下の詳細な説明から明らかとなるであろう。
【発明を実施するための最良の形態】
【００１３】
次に、開示した発明を図面を参照して説明する。ここでは、同じ参照番号は全体を通して同じ要素を参照するのに用いる。以下の説明では、説明のため、開示した発明の十分な理解を与えるため様々な具体的な詳細を記述する。しかしながら、このような具体的な詳細が無くともかかる発明を実施できることは明らかであろう。他の例では、ここに開示した発明の説明を容易にするため、良く知られた構造やデバイスはブロック図で示した。
【００１４】
特定の産業用制御装置では、タグがメモリ中のデータと関連づけされるのに使用され、そこでは、平面物理アドレスを参照するのではなく、そのタグがデータにアクセスするのに参照される。従来、タグは設計時に設定され、実行時の編集で変更できる。しかしながら、文字列タグのデータにタグ名を記録し、次に、実行時間中に、命令を使用してそのタグと関連づけされたデータをランタイムルックアップし検出することは有効であり、それにより、制御装置が実行中に、制御装置自身の内部でタグと関連づけされたデータにダイナミックアクセス（例えば、読み出し／書き込み）することが可能となる。さらに、実行時にダイナミックに、様々なアレイに又は様々なアレイから様々な構造体のメンバ及び／又はデータ項目を読み出す又は書き込むため、１つの命令を使って複数のタグにアクセスする性能が、効率などの理由から望ましい。加えて、この同じ技術を使用して、分離された様々なデータ領域やスコープに橋渡しする性能が、さらにプログラミング効率のため望ましい。
【００１５】
開示した本発明では、制御装置は、実行時ダイナミックに制御装置のメモリ中のデータ項目にアクセスするため、制御装置自身の内部にある命令を処理し、そこで、メモリ中のそのデータとメモリ領域と関連づけされたタグ名を参照することで、そのデータが間接的にアクセスされる。そしてそこでは、そのタグ名はその命令に付随する文字列タグのデータ中に含まれる。さらに、複数のタグが、単一の命令を用いて、様々な構造体及び／又は様々なメモリアレイにある各々のタグと関連づけされたそれぞれのデータにアクセスするため、実行時にダイナミックに橋渡しされる。また、制御装置は、実行時ダイナミックに様々なスコープを橋渡しするため、文字列タグのデータに含まれ、第１のスコープ中のあるデータ項目と関連づけされたタグ名を参照し、それから次に、文字列タグのデータに含まれ、別のスコープ中のデータ項目と関連づけされた別のタグ名を参照することで、それぞれ様々なスコープと関連づけされたそれぞれのデータ項目に間接的にアクセスすることができる。
【００１６】
次に図面を参照すると、図１は、制御装置でのプログラム的なアクセス性能を最適化するのを支援するシステム１００を示している。システム１００は、データを制御装置１０２に送信する、又はデータを制御装置１０２から受信するのを支援するインターフェースコンポーネント１０４（以下、「インターフェース」と言う）を備える、例えばＰＬＣなどの制御装置１０２を備えている。さらに、制御装置１０２は、インターフェース１０４と接続され、データ記憶装置１０８への／からのデータのアクセスを支援するアクセスコンポーネント１０６を備えている。例えば、アクセスコンポーネント１０６は、インターフェース１０４を介してデータを受信し、制御装置１０２から名前が分配され、その名前がそのデータと関連付けられる。さらに、アクセスコンポーネント１０６は、実行時ダイナミックにその名前とそれぞれのデータ領域にプログラム的なアクセスを供与することができる。
【００１７】
さらに、アクセスコンポーネント１０６は、タグ名を、アクセスコンポーネント１０６によりデータがアクセス（例えば、読み出し、書き込み）されるデータ記憶装置１０８のメモリ領域と関連付けするのを支援するタグ管理コンポーネント１１０と接続される。タグ管理コンポーネント１１０は、制御装置１０２（例えば、ＰＬＣ）内で、データ記憶装置１０８に書き込まれた、又はデータ記憶装置１０８から読み出されたデータとともに、タグ（例えば、オブジェクトタグ）及び／又はデータ記憶装置１０８中の物理メモリ領域と関連付けされるタグ名を生成することができる。また、このタグ管理コンポーネント１１０は、そのタグ名を、アクセスコンポーネント１０６によりデータがアクセス（例えば、読み出し、書き込み）されるデータ記憶装置１０８中のタグ名及びメモリ領域と関連づけ又はリンクするのを支援することができる。タグは、データのファイル形式やデータ型を定義する情報、データを検索したり、あるいはデータを書き込んだりする物理メモリ領域、メタデータのほか、そのデータやメモリ領域と関連のあるその他の情報を含むことができる。データは、そのデータと関連づけされた実際の物理メモリ領域／アドレスを参照するのとは異なり、例えば、所望のタグの名前がそのデータ中に含まれている文字列タグを参照する命令によってメモリ領域からアクセスされる。
【００１８】
タグには、例えば、制御装置スコープタグ（ＣＯＮＴＲＯＬＬＥＲ  ＳＣＯＰＥＤ  ＴＡＧ）やプログラムスコープタグ（ＰＲＯＧＲＡＭ  ＳＣＯＰＥＤ  ＴＡＧ）を含めることができる。制御装置スコープタグは、様々なプログラムの複数のルーチンによりアクセス又は処理される情報を共有するのに使用できる。制御装置スコープタグは、制御装置１０２内で全てのコードによってアクセス可能とすることができる。制御装置スコープ（ＣＯＮＴＲＯＬＬＥＲ  ＳＣＯＰＥ）に存在するタグには、入力／出力モジュールタグ、生成される／消されるタグ（ＰＲＯＤＵＣＥＤ／ＣＯＮＳＵＭＥＤ  ＴＡＧＳ）、メッセージタグ、並びにモーショングループタグ（ＭＯＴＩＯＮ  ＧＲＯＵＰ  ＴＡＧ）及びモーション軸タグ（ＭＯＴＩＯＮ  ＡＸＩＳ  ＴＡＧ）が含まれる。プログラムスコープタグは、たとえば、本明細書に詳述するように、それぞれの異なる構造体のメンバ及び／又はアレイのデータにアクセスするため、様々なプログラムと関連づけされた複数のタグが橋渡しされる場所を除き、一般的に、制御装置１０２の単一のプログラムの範囲内でのルーチンにアクセスを制限することができる。プログラムスコープタグは、設定されたアクセスをより一層制限するため、様々なプログラム間に分離レベルを設けることができる。
【００１９】
タグと関連づけされたデータは、ブール型もしくはビット型、整数型もしくは浮動小数点数型などの単純でアトミックなデータ型、又は複数のデータ値を含むよう作られた複合データ型から構成される。構造体は複数のデータ値を含み、構造体の各データメンバは個々の名前（例えば、タグ名）が割り当てられる。さらに、数値インデックスが使用されるデータベースと同様のリスト又はテーブルが、アクセスすべき特定の要素又は記録を特定するように、アレイは、単純でアトミックなデータ型又は構造化されたデータ型（例えば、合成データ型）のいずれかと同じデータ型の複数のデータ要素を記録するのに用いられる。実行中の制御装置では、アレイのインデックスが算出され、アクセスすべき要素の割当て位置を判断する。
【００２０】
データは、例えば、データ記憶装置１０８のアレイに記録される。メモリアレイに関しては、データ記憶装置１０８がデータの保管のため複数のアレイから成るよう構成される。そこでは、例えば、アレイは１次元又は２次元以上の値を繰り返すテーブルのような特定のデータ型を記録するよう定められた連続するメモリのブロックであるが、アレイの定義はこれに限定されない。加えて、データ記憶装置１０８は、ユーザが情報を記録するためのカスタムテーブルを作成することのできるユーザ定義のアレイを備えていても良い。アレイは、その内容やアレイに関連する用途の判断が容易になるよう象徴的に命名すると良い。さらに、アレイは、例えば、含める予定のデータを表示するため１次元又は２次元以上（例えば、２次元、３次元・・・）で形成できるが、これに限定はされない。アレイは、基礎とされるデータ型（例えば、ブール型（ＢＯＯＬＥＡＮ）、整数型（ＩＮＴＥＧＥＲ）、倍精度浮動小数点型（ＤＯＵＢＬＥ  ＩＮＴＥＧＥＲ）など）又は構造体（タイマー、カウンターなど）を含むよう形成でき、またそこでは、ユーザに物理メモリアドレスを知らなければならないことによる負担を負わせることなくプロセスをミラー処理できるようにするため、データ型がユーザによって定義されるようにできる。
【００２１】
アレイの要素は固定リファレンス（ＦＩＸＥＤ  ＲＥＦＥＲＥＮＣＥ）又は間接リファレンス（ＩＮＤＩＲＥＣＴ  ＲＥＦＥＲＥＮＣＥ）を用いてアクセスされる。固定リファレンスは命令（インストラクション）のタグリファレンスに埋め込まれた即値を使用できる。例えば、固定リファレンスは実行時間中に変更できないハードコードリファレンスにできる。バリデーションは、検査の影響を最小限にするようコンパイル時間に実行される。また、間接リファレンスは、例えば、命令のタグリファレンスに埋め込まれたタグ名が間接リファレンスとなるところで使用される。さらに、間接インデックス付き表記リファレンス（ＥＸＰＲＥＳＳＩＯＮ  ＲＥＦＥＲＥＮＣＥ）を使用することもでき、そこでは、実行時間中にアクセスすべきアレイ中の場所を判断するため、タグ名が数学的な演算中に含まれる。例えば、タグ名が「オフセット」の場合、命令（インストラクション）は、特定の演算を「オフセット＋１」で実行すべきことを指定する。このように、「オフセット」の意味が実行時間中に検索され、１がその値に加えられ、その結果として得られた値が命令に従って処理される。アクセスすべき実際の場所は、実行時ダイナミックに確認できる。これは、実行時ダイナミックに目的とするデータをプログラム的に選択するのを支援できる。
【００２２】
このように、記号アドレッシング、タグ名の利用は、データと設定されたメモリの場所を結びつける必要性を無くすのに使用できる。それによって、これは、より柔軟なアプローチをプログラム開発に与えることができる。さらに、生成される／消されるタグは、制御装置から別のデバイス、例えば別の制御装置に、かかるタスクを実行するコードを書き込む必要なく情報を送るのを支援することができる。また、データと関連づける代わりの名前を付与するのに用いられる別名のタグを使用することにより柔軟性を付加することもできる。
【００２３】
例えば、制御装置１０２（例えば、ＰＬＣ）と接続されたデバイスであって、制御装置１０２がそのデバイスを効率的に制御するのに必要な入力／出力（Ｉ／Ｏ）ポイントに対して物理的にプログラム化されていないデバイスがあっても良い。ヒューマン・マシン・インターフェース（以下「ＨＭＩ」）は、例えば、制御装置１０２のデータ記憶装置１０８からアクセスされるのに必要なＩ／Ｏポイントと関連のある名前（例えば、タグ名）を入力するのに利用される。制御装置内で、コードがアクセスコンポーネント１０６に対する要求（例えば、メッセージ命令による）を開始するため実行され、所望のＩ／Ｏポイントと関連のあるその名前に関連づけされたデータを読み出す。タグ管理コンポーネント１１０は、制御装置１０２内に記録されたテーブル中の名前を調べるのに利用され、その名前とリンクされた情報を判断する。かかる情報は、例えば、Ｉ／Ｏポイントと関連づけられたデータ項目が記録されたそれぞれの物理メモリアドレスを有していても良い。そのデータ項目は、データ記憶装置１０８中のその物理メモリアドレスから読み出され、デバイスを制御すべく制御装置１０２によって使用されるよう戻される。このように、所望のデータは、そのデータと関連づけされたタグ名を使用して、データ記憶装置１０８から間接的にアクセスされ得る。
【００２４】
開示した発明の一態様によれば、タグ管理コンポーネント１１０は、制御装置内で実行時ダイナミックにデータの間接アクセスを支援することができる。従って、制御装置１０２は、実行時に、別の制御装置（図示せず）又はデバイス（図示せず）と関連のあるデータにアクセスできるのみならず、実行時ダイナミックに制御装置１０２自身のデータに間接的にアクセスすることができる。例えば、制御装置１０２にあるデータを読み出す要求（リクエスト）又は書き込む要求（リクエスト）を指示する命令を含むコードが書き込める。例えば、所望のデータを含むタグ名が、その命令に付随する文字列タグのデータ内に存在し得る。実行時間中、制御装置１０２はその命令を読み出し、その命令が実行され、その文字列タグのデータ中そのタグ名が検索される。次に、そのタグ名は、例えば、制御装置１０２の記号テーブルから参照され、データ記憶装置１０８のどこに所望のデータがあるか（例えば、読み出し要求に対して）、又はどこにその所望のデータを記録すべきか（例えば、書き込み要求に対して）を判断する。そのデータは、アクセスコンポーネント１０６によって、そのタグ名及びデータと関連づけされたデータ記憶装置１０８のメモリ領域へ／から実行時ダイナミックにアクセスされる。それによって、この制御装置は、そのタグ名を使用して実行時ダイナミックに、そのタグと関連づけされたデータに間接的にアクセスできる。
【００２５】
開示した本発明の更に別の態様によれば、同じ命令によって様々なタグのデータ、様々な構造体のメンバ、及び／又は様々なアレイにアクセスするため、複数のタグが実行時ダイナミックに橋渡しされる。例えば、制御装置１０２は、データ記憶装置１０８へ／からデータにアクセスする命令を更に有するコードを含むことができる。文字列タグはその命令中に含めることができ、タグ名はその文字列タグのデータに記憶することができる。そのタグ名はデータ及び／又はそのデータがアクセスされる制御装置１０２のデータ記憶装置１０８の第１のアレイ内のメモリ領域と関連づけされる。制御装置１０２がそのデータにアクセスするためその命令を実行すると、その命令は文字列タグ中のタグ名を探し出す。制御装置１０２は、制御装置１０２の記号テーブルからそのタグを参照し、データ記憶装置１０８内のどの場所（及びアレイ）か判断し、実行時ダイナミックにそのタグと関連づけられたデータにアクセスする。続いて、その命令と関連づけられた文字列タグ中に別のタグ名を含めることができ、そこでは、そのタグ名はデータ記憶装置１０８の別のアレイに記録されたデータと関連づけされる。次に制御装置がその命令を実行するときには、その命令は文字列タグ中の別のタグ名を探索することができる。制御装置１０２はその別のアレイと関連づけされたデータと関連づけされたタグを参照することができる。このように、複数のタグを橋渡しすることで、同じ命令を用いて様々なメモリアレイが全て、実行時にダイナミックに遂行され得る。
【００２６】
さらに、様々な構造体のメンバ中のデータにアクセスするために、複数のタグが橋渡しされる。例えば、制御装置１０２は、データ記憶装置１０８の様々な構造体のメンバ（例えば、データメンバ）へ／からデータにアクセスするため、更に命令を有するコードを含むことができる。文字列タグはその命令に含めることができ、タグ名は、その文字列タグ中に含まれるデータに記録される。そのタグ名は、データ及び／又はそのデータがアクセスされるデータ記憶装置１０８中の第１の構造体のメンバ内にあるメモリ領域と関連づけされる。制御装置１０２がその命令を実行しそのデータにアクセスすると、その命令は文字列タグ中のそのタグ名を探し出すことができる。制御装置１０２は、制御装置１０２の記号テーブルからそのタグを参照することができ、実行時ダイナミックにアクセスするのがどの構造体のメンバ（例えば、第１の構造体のメンバ）か判断する。続いて、その命令に付随する文字列タグ中に別のタグ名を含めることができ、そこでは、そのタグ名はデータ記憶装置１０８に記録された別の構造体のメンバと関連づけできる。次に制御装置がその命令を実行するときには、その命令は文字列タグ中のその別のタグ名を探し出すことができる。制御装置１０２はそのタグ名を参照し、その関連のある構造体メンバを判断することができる。その後、その関連のある構造体メンバはデータ記憶装置１０８から検索できる。その別の構造体メンバは、第１の構造体メンバと同じアレイに存在しても良いし、あるいは、第１の構造体メンバと異なるアレイに存在しても良い。このように、複数のタグを橋渡しすることで、同じ命令を用いて様々な構造体のメンバが全て実行時にダイナミックに遂行され得る。
【００２７】
更なる例として、開示した発明は、文字列タグのデータ中に含まれるタグ名を参照することによって、実行時にダイナミックに各スコープとそれぞれ関連のある要素にアクセスするため、複数のスコープの橋渡しを支援することができる。例えば、制御装置１０２は、第１のプログラムスコープと関係のあるプッシャー・コントロール・プログラム（ＰＵＳＨＥＲ−ＣＯＮＴＲＯＬ  ＰＲＯＧＲＡＭ）と関連のあるタグと関連づけされたデータにアクセスするよう命令を実行することができ、そこでは、そのタグ名及びそれと関連のあるプログラム名（例えば、スコープ）を文字列タグ中に含めることができる。そのタグと関連づけられたデータは、タグ管理コンポーネント１１０によって参照され、その関連するデータをデータ記憶装置１０８から取り出すことができる。次に、制御装置１０２は、異なるプログラムスコープの機械制御プログラム（例えば、コンベアーを制御するプログラム）と関連のある異なるタグと関連づけされた異なるデータにアクセスするよう命令を実行でき、そこでは、その異なるタグの名前とその異なるスコープの名前（例えば、プログラム名）を文字列タグに含めることができる。その異なるタグと関連づけされたデータは、タグ管理コンポーネント１１０によって参照され、その関連づけされた異なるデータをデータ記憶装置１０８から検索できる。このように、制御装置１０２は、あるプログラムスコープのプッシャー関連のタグと関連づけされたデータにアクセスするのを超えて橋渡し、異なるスコープ中にあるコンベアー関連のタグと関連づけされたデータにアクセスすることができる。このことは有効であり、プッシャーのプログラムがどの作業をとるべきか判断するため、プッシャーのプログラムと関連するコンベアーの操作が作動中かどうかを認識するのはプッシャーのプログラムにとって望ましいであろう。
【００２８】
インターフェース１０４によって受信されるデータは、制御装置１０２及び／又はオートメーション環境によって利用される如何なるデータとも関係があると認識すべきである。制御装置１０２について言えば、データは、オン（ＯＮ）状態又はオフ（ＯＦＦ）状態を表す特有のビット、整数及び／又は浮動小数点の形をとる数値、（例えば、ＡＳＣＩＩコードなどによって表される）特有の文字として記録されるテキスト文字列、の形式をとることができる。データは、例えば、ブール型、短整数型、整数型、倍精度浮動小数点型、長整数型及び実数型などの形式を含むデータ型と関連がある。アクセスコンポーネント１０６はそのようなデータを受信し、如何なる名前（及び対応するデータ領域）もオープンとし、オートメーション環境下でのそのデータの使用及び／又はその受信したデータに基づくデータ領域の使用を可能とする。制御装置１０２と関連のあるデータは、コンポーネント及び／又はポーションに構築され、そこの各パーティション及び／又はセクションは名前を有することができる。アクセスコンポーネント１０６は、（名前により参照する）データ領域内にあるデータの一部を、そのデータの中心的な機能性を依然維持しつつ異なる名前を用いて異なるデータ領域で利用することを可能とする。
【００２９】
制御装置（例えばＰＬＣ）は、内蔵型の一つの専用のハードウェア、又は「ソフトコントローラ」（例えば、ソフトＰＬＣ）の場合、コンピュータ上で起動し、制御装置のような制御を行う一つのソフトウェアとすることができることに留意されたい。例えば、ソフトコントローラの場合、ソフト制御装置によってコードが引き出され、直接プロジェクトのデータベースにアクセスして名前情報を引き出す。
【００３０】
制御装置１０２は、これに限定されないが、ＨＭＩ、コンピュータ、異種の制御装置、圧延機、ステーション、溶接機、スキャナー、ベルトコンベアー、プッシャー、ポンプ、圧縮機、ファン、フォトアイ（ＰＨＯＴＯ  ＥＹＥ）など、又はオートメーションシステムで利用されるその他の適切なデバイス、である別のデバイス（オートメーションデバイスとも称される）と接続することができると理解すべきである。さらに、そのオートメーションデバイスは制御装置１０２によって制御できる。制御装置１０２は、工業生産デバイス／プロセスをオートメーション化するに当たって利用できる入力及び／又は出力を有するソフトウェアコンポーネント及びハードウェアコンポーネントを備えることができると理解すべきである。加えて、アクセスコンポーネント１０６は、複数の制御装置用にプログラム化を強化することができると理解すべきである。開発発明全体に渡り簡素化のため、単一の制御装置１０２を記述したが、開示した本発明はそれに限定されない。
【００３１】
さらに、データ記憶装置１０８についてであるが、データ記憶装置１０８は、名前や、オートメーション環境下で利用されるどの適切なエンティティ（ＥＮＴＩＴＹ）とも、例えば、これに限定されないが、タスク（例えば、実行可能なフラグメントなど）、プログラム（例えば、コードのバケット（ＢＵＣＫＥＴＳ  ＯＦ  ＣＯＤＥ）など）、ルーチン（例えば、コードのチャンク（ＣＨＵＮＫ  ＯＦ  ＣＯＤＥ）など）、制御装置、コンポーネント、制御装置により利用されるコードの一部、モジュール、Ｉ／Ｏモジュール、ネットワーク、ドライブ、モーションアクシス（ＭＯＴＩＯＮ  ＡＸＩＳ）、トレンド（ＴＲＥＮＤ）、構造体、タグ、オブジェクト、及びモジュール式の制御装置のコンポーネントなど、と関係のあるその他の情報を記憶することができる。
【００３２】
このデータ記憶装置１０８は、例えば、揮発性メモリ又は不揮発性メモリの何れでも良く、あるいは、揮発性メモリと不揮発性メモリの両方を備えていても良い。限定ではなく実例として、不揮発性メモリは、リードオンリメモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的にプログラム可能なＲＯＭ（ＥＰＲＯＭ）、電気的消去可能でプログラム可能なＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリを含む。揮発性メモリは、ランダムアクセスメモリ（ＲＡＭ）を含み、それは外部キャッシュメモリとして働く。限定ではなく実例として、ＲＡＭは多様な形、例えば、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、エンハンストＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ）、ランバスダイレクトＲＡＭ（ＲＤＲＡＭ）、ダイレクトランバスダイナミックＲＡＭ（ＤＲＤＲＡＭ）及びランバスダイナミックＲＡＭ（ＲＤＲＡＭ）などの形で使用できる。本発明のシステム及び方法のデータ記憶装置１０８は、これに限定されないが、これら及びその他の適切なメモリのタイプで構成することを意図している。さらに、データ記憶装置１０８はサーバ、データベース、ハードドライブなどにすることができることを認識されたい。
【００３３】
さらに、システム１００は、適切及び／又は必要などんなインターフェースコンポーネント１０４をも備えることができ、このインターフェースコンポーネント１０４は、アクセスコンポーネント１０６を実質的にどんなオペレーティングシステム及び／又はデータシステムとも結合するよう、様々なアダプタ、コネクター、チャネル、通信路などを備えることができる。その上、このインターフェースコンポーネント１０４は、アクセスコンポーネント１０６との相互作用を与える様々なアダプタ、コネクター、チャネル、通信路などを備えることもできる。
【００３４】
図２は、実行時間中における制御装置のデータへのプログラム的なアクセスの利用を支援するシステム２００を示している。このシステム２００は、データを他のデバイスに送信する、あるいは他のデバイスから制御装置２０２にデータを受信するのを支援するインターフェースコンポーネント１０４（以下「インターフェース」と言う）を有する制御装置２０２（例えば、ＰＬＣ）を備えている。さらに、制御装置２０２は、制御装置２０２が有する複数のデータ記憶装置への／からのデータのアクセスを支援するアクセスコンポーネント１０６を備えている。この複数のデータ記憶装置は、ハードウェア構成を記憶する第１のデータ記憶装置２０４（例えば、ハードウェアデータ記憶装置とも言う）、タグデータを格納する第２のデータ記憶装置２０６（例えば、タグデータ記憶装置とも言う）、及びデータを格納する第３のデータ記憶装置２０８を含む。
【００３５】
さらにシステム２００は、これに限定されないが、ハードウェア構成、アプリケーションコード、データ値、名前、資料などを含むプロジェクトファイル２１０を有する。制御装置２０２にロードされるタグ情報、コード及びデータは、全てプロジェクトファイル２１０によってもたらされる。当然のことながら、プログラミングソフトウェア２１２は、プロジェクトファイルの少なくとも一つ及び／又は制御装置２０２を利用することができる。さらに実行時、制御装置２０２のコードは、タグデータ記憶装置２０６のタグ情報を読み出すためアクセスコンポーネント１０６を利用し、データ記憶装置２０８に記録されたタグと関連づけされたデータにアクセスするのに使用される。つまり、アクセスコンポーネント１０６は、実行時ダイナミックに、タグデータ記憶装置２０６やデータ記憶装置２０８へのプログラム的なアクセスを与えることができる。制御装置２０２内のアプリケーションコード２１４は、命令の実行を支援することができ、またデータを使用して、少なくとも一つの制御決定の基礎とし、メッセージのテキスト文字列を作成し、ディスプレイで使用すべくＨＭＩ（図示せず）によって読み出される等する。さらに、制御装置２０２は、プログラミングソフトウェア２１２にプロジェクトファイル２１０を再生成するため、複数のデータ記憶装置２０４，２０６，２０８中のデータ値を引き出すこと、及び制御装置２０２からコードを引き出すのを支援するアップロードコンポーネント２１６を含む。さらに、このアップロードコンポーネント２１６は、制御装置２０２のメモリ中にコンパイルされロードされたプログラム命令を引き出すのを支援し、また、そのプログラム命令と関連づけされた実際のソースコードが再生成されるように、その情報をアップロード又はオフロードしてプログラミングソフトウェア２１２に戻すことができる。
【００３６】
また、システム２００は、タグ名と、アクセスコンポーネント１０６によってデータがアクセス（例えば、読み出し、書き込み）されるデータ記憶装置２０８のメモリ領域との関連づけを支援するタグ管理コンポーネント１１０を含む。タグ管理コンポーネント１１０は、制御装置２０２（例えばＰＬＣ）内のデータ記憶装置２０８に書き込み又はデータ記憶装置２０８から読み出されるデータと関連づけされる名前とともにタグオブジェクトを生成できる。また、タグ管理コンポーネント１１０は、そのタグオブジェクトと名前を、アクセスコンポーネント１０６によってデータがアクセス（例えば、読み出し、書き込み）されるデータ記憶装置２０８のメモリ領域と関連づけ又はリンクするのを支援することもできる。このタグオブジェクトは、名前（例えば、タグ名）とそれと関連のある属性（例えば、データ型）の他、データ記憶装置２０８中の関連のあるデータの物理的な位置に関する情報を有するように構成される。そのタグオブジェクト及び名前と関連のある情報は、タグデータ記憶装置２０６に記録される。例えば、特定のタグオブジェクト及び名前と関連づけされたデータはデータ記憶装置２０８に記録される。そのデータとそのタグオブジェクトとの関連についての情報、例えば、そのデータが記憶されるデータ記憶装置２０８中のメモリ領域の物理的な位置（例えば、アドレス）などは、タグデータ記憶装置２０６に記憶される。実行時、制御装置２０２は命令（インストラクション）を実行することができ、その命令には、その命令に付随する文字列タグのデータ中のタグオブジェクトと関連づけされた（例えば、ＡＳＣＩＩ文字の）名前を含めることができる。アクセスコンポーネント１０６は、文字列タグ中のタグ名を検出又は認識でき、また、タグ管理コンポーネント１１０を使用してデータテーブル中のタグ名を参照し、そのタグ名と関連づけされたデータを読み出すにはデータ記憶装置２０８のどのメモリ領域かを判断する。このように、タグと関連づけされたデータは、そのデータと関連のある実際の物理メモリ領域を参照するのではなく、タグを参照することによって、間接的にデータ記憶装置２０８からアクセスされることができる。
【００３７】
開示した発明の一態様によれば、タグ管理コンポーネント１１０は、実行時にダイナミックに、制御装置１０２のデータの間接アクセスを支援することができる。従って、制御装置２０２は、実行時間中に他の制御装置（図示せず）又はデバイス（図示せず）と関連のあるデータにアクセスできるばかりでなく、実行時ダイナミックに制御装置２０２自身のデータに間接的にアクセス（例えば、読み出し、書き込み）できる。例えば、制御装置２０２で行われる読み出し要求又は書き込み要求を指示する命令（インストラクション）を含むコードを書き込める。例えば、その命令に関連する文字列タグが、データと関連づけされたタグ名を含める。実行時、制御装置２０２は命令を読み出し、この命令が実行され、文字列タグのデータ中そのタグ名が検出される。次に、そのタグ名は、例えば、記号テーブルから参照され、データ記憶装置２０８のどこにその所望のデータがあるか（例えば、読み出し要求に対して）、又はどこにその所望のデータを記録すべきか（例えば、書き込み要求に対して）を判断する。その記号テーブル及びそれと関連のある情報は、タグ管理コンポーネント１１０と関連づけられ、タグデータ記憶装置２０６に記録でき、また、データ及び／又はそのデータが読み出され又は書き込まれる物理メモリ領域、ならびに、例えばそのデータと関連のある属性（例えば、データ型）に関連する情報、にタグオブジェクト（及びタグ名）を関連づける又はリンクする情報を含むこともできる。データは、タグ名及びデータと関連づけされたデータ記憶装置２０８のメモリ領域に／から、アクセスコンポーネント１０６によって実行時ダイナミックにアクセスされる。このように、アクセスコンポーネント１０６は、タグ名を使用するとともに、そのタグ名と関連づけされた情報のランタイムルックアップを行うことで、そのタグと関連づけされたデータに実行時ダイナミックに間接的にアクセスすることができる。さらに、アクセスコンポーネント１０６は制御装置２０２内のどんなタグでも、制御装置のスコープでもプログラムスコープでも、間接的に読み出す性能を有する。
【００３８】
一例として、制御装置２０２自身に向けられる命令によってデータに間接的にアクセスする場合、仮に、制御装置２０２によって制御される２０のコンベアー（図示せず）があと、各コンベアーについての関連要素である名前を有するテーブルを作成することが望ましい。実行時、その名前を含む命令が実行されると、アクセスコンポーネント１０６がその名前を認識し、タグ管理コンポーネント１１０がその名前を参照して、タグデータ記憶装置２０６中のそのタグ名と関連づけされた情報をルックアップ（検索）する。かかる情報は、関連づけされたデータを、データ記憶装置２０８の関連する物理メモリアドレスに書き込む／から読み出すのを支援するのに使用できる。次に、コンベアーの数を２５に増やしたい場合には、新たなコンベアーを認識するようコードや命令を変更するためにオフラインにする必要はない。その代わり、５つの新たなコンベアーと関連づけされたコードが加えられ、命令（例えば、メッセージ命令）はその５つの新たなコンベアーが制御装置２０２によって認識されるように拡張される。
【００３９】
更なる例として、システム２００は、外部ソース（例えば、ＨＭＩ、情報技術データベース、異なるシステム、又は異なる制御装置）によって与えられるタグ名を使用して、制御装置１０２自身のデータに間接的にアクセスするための性能を高めることができる。例えば、ＨＭＩ（図示せず）は、タグ名を有する文字列タグのデータ値の設定を支援するのに使用でき、そこでは、そのタグ名がＨＭＩに入力されると、そのタグ名が文字列タグ中に書き込まれる。ＨＭＩはその文字列タグを制御装置２０２に与えることができる。アクセスコンポーネント１０６はその文字列タグのデータ中に記録されたタグ名を参照することができる。タグ管理コンポーネント１１０は、ルックアップテーブル（例えば、記号テーブル、データテーブル）を参照し、そのタグ名と関連づけされた情報を読み出すことができ、その結果、データがそのタグと関連づけされた物理メモリアドレスに／からアクセスされる。
【００４０】
開示した本発明の更に別の態様によれば、複数のタグが実行時ダイナミックに橋渡しされ、様々なタグ、様々な構造体及び／又は様々なアレイ中のデータにアクセスすることができる。例えば、命令、例えば、データをデータ記憶装置２０８に／からアクセスするためのメッセージ命令、を含むコードを書き込める。文字列タグは命令中に含めることができ、そこでは、タグ名が文字列タグ中に記録される。そのタグ名及びそれと関連のあるタグオブジェクトは、データ、構造体のメンバ、及び／又はそのデータがアクセスされるデータ記憶装置２０８内の第１のアレイ中の物理メモリ領域と関連づけできる。制御装置２０２がそのデータにアクセスするため命令を実行すると、その命令はその文字列タグのデータ中のタグ名を検出する。制御装置２０２は、タグ管理コンポーネント１１０と関連のある記号テーブルからそのタグを参照し、データ記憶装置２０８中のどの位置（及びアレイ）か判断し、そのタグと関連づけされたデータにアクセスする。その記号テーブル及びそれと関連する情報は、タグデータ記憶装置２０６に記録でき、また、データ及び／又はそのデータが読み出し又は書き込みされる物理メモリ領域、並びに、例えば、そのデータと関連する属性（例えば、データ型）に関する情報に、タグオブジェクト（例えば、タグ名）を関連づけする又はリンクする情報を含めることができる。その後、アクセスコンポーネント１０６は、データ記憶装置２０８から／へその関連づけされたデータにアクセス（例えば、読み出し、書き込み）することができる。このように、結果として、実行時ダイナミックにデータにアクセスすることができる。
【００４１】
続いて、異なるタグ名をその命令と関連する文字列タグ中に含めることができ、そこでは、タグ名及びそれと関連づけされたタグオブジェクトが、データ、構造体のメンバ、及び／又はデータ記憶装置２０８の別のアレイ中の物理メモリ領域と関連づけされる。次に制御装置がその命令を実行するときには、その命令はその文字列タグのデータ中のその異なるタグ名を検出できる。制御装置２０２は、そのタグ名、ひいては関連するタグオブジェクトを、タグ管理コンポーネント１１０と関連する記号テーブルから参照し、そのタグと関連づけされたデータにアクセスするにはデータ記憶装置２０８中のどの位置（及びアレイ）か判断する。その後、アクセスコンポーネント１０６は、データ記憶装置２０８のその別のアレイのメモリ位置から／へ、その関連づけされたデータにアクセス（例えば、読み出し、書き込み）することができる。このように、単一ブロックからなるコード及び命令は複数のタグの橋渡しを支援し、例えば、データ記憶装置２０８の様々なアレイ中に記録された様々なデータ部分に実行時ダイナミックにアクセスすることができる。
【００４２】
更なる例として、開示した発明は、各スコープと関連したそれぞれの要素に実行時ダイナミックにアクセスするため、文字列タグのデータに含まれるタグ名を参照することによって、様々なスコープを橋渡しするのを支援することができる。例えば、制御装置２０２は、命令を実行し、第１のプログラム及び第１のプログラムスコープと関連のあるタグと関連づけされたデータにアクセスするため、命令を実行することができ、そこでは、タグ名及びその関連するプログラム名（例えば、第１のスコープ）が文字列タグに含まれる。そのタグと関連づけされたデータはタグ管理コンポーネント１１０によって参照され、その関連づけられたデータはデータ記憶装置２０８から検索される。さらに、制御装置２０２は異なるプログラム及び異なるプログラムスコープと関連のある異なるタグと関連づけされた異なるデータにアクセスするため、命令を実行することができ、そこでは異なるタグ名及び異なるプログラム名（例えば、異なるスコープ）が文字列タグに含まれる。その異なるタグと関連づけされたデータはタグ管理コンポーネント１１０によって参照され、その関連づけされた異なるデータはデータ記憶装置２０８から検索される。このように、制御装置２０２は、あるプログラムスコープのタグと関連づけされたデータにアクセスするのを越えて橋渡しでき、異なるスコープの異なるタグと関連づけされたデータにもアクセスすることができる。
【００４３】
図１にかかる開示した発明は、特に制御装置、制御装置のコンポーネント、メモリ、アレイ、データ型、タグなどについては、図２にかかる開示した発明の態様に対して適用できると理解すべきである。
【００４４】
図３は、開示した発明にかかるタグ管理コンポーネントのブロック図３００である。タグ管理コンポーネント１１０は、タグオブジェクトのために、名前（例えば、タグ名）と関連づけされるタグオブジェクトを発生するタグオブジェクトジェネレータ３１０を含む。このタグオブジェクトは、データ及び／又は物理メモリ位置（例えば、アドレス）と関連づけされ、そのデータ及び／又はデータを制御装置のメモリ（例えば、データ記憶装置２０８）に記録する物理メモリ位置と関連のある情報と関連づけされた情報を含むことができる。例えば、タグオブジェクトは、データの一部分のデータ値、そのデータに関する属性（例えば、データ型）、アクセスコンポーネント（例えば、１０６）によってデータをアクセスするメモリアドレスなどの情報を含むことができる。さらに、タグ管理コンポーネント１１０は、タグ名、タグオブジェクト、並びにデータ及び／又はタグオブジェクトと関連づけされたデータが記録される物理メモリ位置の間のリンクを生成及び維持するのを支援するリンキングコンポーネント３２０を含む。さらに、タグ管理コンポーネント１１０は、命令がそれと関連する文字列タグ中にそのタグ名を含み、その命令が実行されているとき、そのタグ名と関連づけされた情報の検索を支援するタグ参照コンポーネント３３０を含む。そのタグ名と関連づけされた情報は、それと関連するタグオブジェクトと関連のある情報を含む。タグ管理コンポーネント１１０は、単独型のコンポーネント、アクセスコンポーネント１０６に組み込まれたもの、制御装置２０２（又は１０２）に組み込まれたもの、及び／又はそのいずれかの組合せとすることができることを認識すべきである。
【００４５】
図４は、産業のオートメーション環境下でのプログラミングを支援するシステム４００を示している。このシステム４００は、制御装置４０２内のデータに実行時ダイナミックにプログラム的にアクセスするのを支援するアクセスコンポーネント１０６を含む。例えば、アクセスコンポーネント１０６は、文字列タグのデータ内に含まれるタグ名を使用して、そのタグ名（及びそれによりタグオブジェクト）と関連づけられたデータに実行時ダイナミックに間接アクセスするのを支援でき、そこでは、そのタグ名と関連づけされた情報のランタイムルックアップが実行され、その関連づけされたデータがアクセスされるのが制御装置４０２のメモリ（図示せず）中のどこなのかを判断する。別の例としては、アクセスコンポーネント１０６は複数のタグを橋渡しするのを支援し、単一ブロックのコード及び単一の命令を使用して、様々なタグ、様々な構造体、様々なスコープ、及び／又はメモリ（例えば、データ記憶装置２０８）の様々なアレイに記録された様々なデータ部分に実行時ダイナミックにアクセスすることができる。制御装置４０２は、図２及び図１において上記説明した制御装置２０２及び制御装置１０２とほぼ同様とすることができる。
【００４６】
アクセスコンポーネント１０６は、制御装置４０２内で変数名（可変の名前）を追跡するログコンポーネント４０４を利用できる。ログコンポーネント６０６は、単独型のコンポーネント、アクセスコンポーネント１０６に組み込まれたもの、制御装置４０２に組み込まれたもの、及び／又はそのいずれかの組合せとすることができることを認識すべきである。例えば、ユーザＡがある変数名を突き止めるためアクセスコンポーネント１０６を利用すると、ログコンポーネント４０４はアクセスされたユーザ（例えば、ＩＰアドレス、ネットワークアドレス、ユーザ名、コンピュータ名などを介して）、アクセスされたデータ及び時間、並びにアクセスされた変数名を追跡する。ログコンポーネント４０４は、受信するタグに関係する様々な態様、例えば、これに限定されないが、名前の変更、名前の更新、データ型の変更、物理メモリ位置、名前の編集、構成の設定、セキュリティーの設定、タイムスタンプ、データ、ユーザ名及び／又はコンピュータ名などをログする（記録を取る）。さらに、ログコンポーネント４０４はログされたエンティティをデータ記憶装置（図示せず）に記録する。
【００４７】
さらに、アクセスコンポーネント１０６は、システム４００と関連のあるどんなデータでもクエリーを行う（問い合わせを行う）のを支援する検索コンポーネント４０６を実行することができる。検索コンポーネント４０６は、ユーザ及び／又はどのコンポーネントでも、タグ名、ユーザ定義のデータ型、コードの一部、データの一部などに関し、システム４００にクエリーを行う（問い合わせを行う）のを可能とする。例えば、ユーザは、あるプラント施設内の特定の制御装置によって利用されるコンベアーと関連のあるデバイスの名前及び／又はデータを見つけだすため、検索コンポーネント４０６を利用してシステム４００にクエリーを行うことができる。別の例では、検索コンポーネント４０６は、制御装置Ａによって制御される特定の産業部門内、及び特定のセル内にあるデバイスと関連のある全ての名前を開発者に与えることが可能である。検索コンポーネント４０６によって複数の検索及び／又はクエリーを実行できること、並びに上記例は開示した発明に限定するものではないことを認識されるべきである。さらに、検索コンポーネント４０６は単独型のコンポーネントとして示されているが、この検索コンポーネント４０６はアクセスコンポーネント１０６に組み込まれる、制御装置４０２に組み込まれる、単独型のコンポーネントとする、及び／又はそのいずれかの組合せとできることを認識すべきである。
【００４８】
さらに、アクセスコンポーネント１０６は、データの完全性及び／又はアクセスを保証するため、システム４００にセキュリティを提供するセキュリティコンポーネント４０８を利用できる。特に、セキュリティコンポーネント４０８は、予め設定された階層、セキュリティレベル、ユーザ名、パスワード、アクセス権、データの重要度（例えば、より重要なデータは高いセキュリティの使用許可と関連づける）などの少なくとも一つに従って、セキュリティ、権限、及び／又は特権を定める。例えば、特定の名前は明確なセキュリティ権限及び／又はセキュリティ特権をもつ第１のセキュリティレベルであり、一方、異なる名前は異なるセキュリティ権限及び／又はセキュリティ特権をもつ第２のセキュリティレベルを有する。このようにして、セキュリティコンポーネント４０８は、タグ、一群のタグ、タグ位置、タグスコープ、タグ名、タグデータ、データ型、コードの一部分などに関連して、粒度の高いセキュリティを提供できる。各レベルと関係のある多数の特徴を持つ様々なセキュリティレベルがあり得ること、及び本発明が上記の例に限定されないことを理解されるべきである。さらに、セキュリティコンポーネント４０８は粒度の高いセキュリティ及び／又は特権をシステム４００に提供することができる。セキュリティコンポーネント４０８が、単独型のコンポーネント、アクセスコンポーネント１０６に組み込まれたもの、制御装置４０２に組み込まれたもの、及び／又はそのいずれかの組合せとすることができることを認識すべきである。
【００４９】
さらに、アクセスコンポーネント１０６は、産業のオートメーション環境下におけるネットワークの構築を支援するブリッジコンポーネント４１０を含む。言い換えると、ブリッジコンポーネント４１０はネットワークブリッジの機能を果たすことができる。ブリッジコンポーネント４１０が、単独型のコンポーネント、アクセスコンポーネント１０６に組み込まれたもの、制御装置４０２に組み込まれたもの、及び／又はそのいずれかの組合せとすることができることを認識すべきである。このようにして、異なるネットワークにより運ばれたデータは、共通ネットワークに準じるように扱われる。従って、ブリッジコンポーネント４１０は、制御装置４０２と関係のある受信命令と関連のあるネットワークプロトコルを認識し、予め設定されたプロトコルに適合するように、そのデータを変換する処理を実行することができる。かかる変換において、（平面の名前空間に使われるデータモデルよりもむしろ）階層的に構造化されたデータモデルに準拠するようにデータを変換するため、マッピングが使用される。その後、このマッピングは、ネットワーク上の上記データのリクエスタに階層的に構造化されたデータを提供でき、そこでは、予め設定されたプロトコルにそのネットワークが適合している。例えば、第１のネットワークプロトコルは、フィールドバス、プロフィバス、ハート、モドバス、ＡＳＩバス、及びファンデーションフィールドバスの少なくとも一つとすることができ、一方、第２のネットワークプロトコルは共通産業用プロトコル（ＣＩＰ）とすることができる。
【００５０】
図５から図７を参照して、特許請求の範囲に記載された発明の様々な態様に従う方法を説明する。説明を簡単にするため、一連の処理としてその方法を開示し説明するが、この特許請求の範囲に記載された発明は、処理の順番により限定されるものではなく、いくつかの処理は、本明細書に開示し説明したことに基づき、違った順序で行われる処理及び／又は他の処理と同時に行われる処理でも良いことを理解かつ認識すべきである。例えば、方法が状態図のように一続きの相互に関係のある状態又は事象として選択的に表現し得ることを当業者は理解かつ認識するはずである。さらに、説明した処理の全てが、請求の範囲に記載された発明にかかる方法を実施するのに必要であるとは限らない。加えて、本明細書の以下全体にわたって開示される方法は、かかる方法をコンピュータに移植したり転送したりするのを容易にするため、製品に記録され得ることを更に認識すべきである。ここで使用される製品との用語は、コンピュータに読み出し可能なデバイス、キャリア、又はメディアの何れかからアクセス可能なコンピュータプログラムを含むことを意味する。
【００５１】
次に、具体的に図５を見ると、方法５００は、文字列タグのデータに含まれる名前を参照して、実行時ダイナミックに、その名前と関連づけられたデータに間接的にアクセスすることを説明する。参照番号５０５では、制御装置による１以上のオペレーションの実行を支援するためコードが書き込まれる。そこで、この制御装置としては、例えばＰＬＣである。参照番号５１０では、タグ名がタグオブジェクト、データ及び／又は制御装置のメモリ（例えば、データ記憶装置）中の物理メモリ領域、並びに、それと関連のある全ての情報とリンク又は関連づけされる。参照番号５１５では、そのタグ名が文字列タグのデータ中に記録又は書き込まれる。参照番号５２０では、そのタグ名を内部に含むその文字列タグが、そのコードと関連のある命令中にロードされ、及び／又は記録され、及び／又は書き込まれる。その命令は読み出し要求（リクエスト）又は書き込み要求（リクエスト）、即ち言い換えると、例えばメッセージ命令などのアクセスリクエストと関連づけできる。さらに、その命令は制御装置自身、即ち、その命令を実行する制御装置に対して行われ、あるいは別のデバイス（例えば、異なる制御装置、ＨＭＩ、コンピュータ、圧延機、ステーション、溶接機、スキャナー、ベルトコンベアー、プッシャー、ポンプ、圧縮機、ファン、フォトアイなど）に対して行われる。参照番号５２５では、その命令が制御装置内で、又は制御装置によって実行される。参照番号５３０では、アクセスコンポーネントはその命令中の文字列タグのデータ中のタグ名を参照する。このタグ名を参照することは、例えば、制御装置のメモリ（例えば、タグデータ記憶装置２０６）に記録された記号テーブル中のそのタグ名を探索するのを支援し、そのタグ名と関連づけされた情報、例えば、関連するタグオブジェクトと関連のある情報、データ、及び／又は制御装置のメモリ（例えば、データ記憶装置）中の物理メモリ領域などを検出する。参照番号５３５では、そのタグ名と関連づけされた情報が、制御装置のメモリ（例えば、タグデータ記憶装置２０６）から検索される。参照番号５４０では、そのタグ名と関連づけされたデータ、及び／又は物理メモリ領域、及び／又はタグオブジェクトと関連のある書き込みリクエスト又は読み出しリクエストが実行され、書き込みリクエストに関しては、データを、制御装置のメモリ（例えば、データ記憶装置２０８）のその関連のある物理メモリ領域に書き込み、あるいは、読み出しリクエストに関しては、データを、制御装置のメモリ（例えば、データ記憶装置２０８）のその関連のある物理メモリ領域から読み出す。
【００５２】
図６は、様々なタグ、様々な構造体、メモリ中の様々なアレイと関連する様々なデータ部分に実行時ダイナミックにアクセスするため、複数のタグを橋渡しするのを支援する方法６００を説明する。参照番号６０５では、制御装置による１以上のオペレーションの実行を支援するためコードが書き込まれる。そこで、この制御装置としては、例えばＰＬＣである。参照番号６１０では、第１のタグ名がタグオブジェクト、データ及び／又は制御装置のメモリ（例えば、データ記憶装置）中の物理メモリ領域、並びに、それと関連のある全ての情報とリンク又は関連づけされる。さらに、第１のタグ名は第１の構造体（例えば、データメンバ）及び／又は第１のアレイと関連づけされる。参照番号６１５では、その第１のタグ名が文字列タグのデータ中に記録又は書き込まれる。参照番号６２０では、その第１のタグ名を内部に含むその文字列タグが、そのコードと関係のある命令中にロードされ、及び／又は記録され、及び／又は書き込まれる。その命令は読み出しリクエスト又は書き込みリクエスト、即ち言い換えると、例えばメッセージ命令などのアクセスリクエストと関連づけされる。さらに、その命令は制御装置自身、即ち、その命令を実行する制御装置に対して行われ、あるいは別のデバイス（例えば、異なる制御装置、ＨＭＩ、コンピュータ、圧延機、ステーション、溶接機、スキャナー、ベルトコンベアー、プッシャー、ポンプ、圧縮機、ファン、フォトアイなど）に対して行われる。参照番号６２５では、その命令が制御装置内で、又は制御装置によって実行される。参照番号６３０では、その第１のタグ名が参照される。例えば、アクセスコンポーネントが、その命令中の文字列タグに含まれる第１のタグ名の参照を開始できる。この第１のタグ名を参照することは、例えば、制御装置内のメモリ（例えば、タグデータ記憶装置２０６）に記録された記号テーブル（又はルックアップテーブル）中のその第１のタグ名を探索することを含み、その第１のタグ名と関連づけされた情報、例えば、関連するタグオブジェクトと関連のある情報、データ、及び／又は制御装置のメモリ（例えば、データ記憶装置）中の物理メモリ領域などを検出する。参照番号６３５では、その第１のタグ名と関連づけされた情報が、制御装置のメモリ（例えば、タグデータ記憶装置２０６）から検索される。上記のように、その情報又はデータはメモリに付随する第１の構造体又は第１のアレイと関連づけできる。参照番号６４０では、その第１のタグ名と関連づけされたデータ、及び／又は物理メモリ領域、及び／又はタグオブジェクトと関連のある書き込みリクエスト又は読み出しリクエストが実行され、書き込みリクエストに関しては、データを、制御装置のメモリ（例えば、データ記憶装置２０８）のその関連する物理メモリ領域に書き込み、あるいは、読み出しリクエストに関しては、データを、制御装置のメモリ（例えば、データ記憶装置２０８）のその関連する物理メモリ領域から読み出す。
【００５３】
参照番号６４５では、異なるタグ名が、異なるタグオブジェクト、異なるデータ、及び／又は制御装置のメモリ（例えば、データ記憶装置）内の異なる物理メモリ領域、並びにそれと関連のある全ての情報とリンク又は関連づけされる。さらに、第１のタグ名は第１の構造体（例えば、データメンバ）及び／又は第１のアレイと関連づけされる。参照番号６５０では、異なるタグ名が、文字列タグ中の一揃いのデータに含まれるデータとして（例えば、ＡＳＣＩＩ形式で）記録又は書き込みされる。参照番号６５５では、内部に異なるタグ名を含む別の文字列タグが、コードと関連のある命令中にロードされ、及び／又は記録され、及び／又は書き込まれる。そのコードは、第１のタグ名と関連のある同一のコードでも良いし、あるいは異なるコードでも良い。その命令は、第１のタグ名と関連のある命令と同一の命令でも良いし、あるいは異なる命令でも良い。その命令は読み出しリクエスト又は書き込みリクエスト、即ち言い換えると、例えばメッセージ命令などと関連づけされる。さらに、その命令は制御装置自身、即ち、その命令を実行する制御装置に対して行われ、あるいは別のデバイス（例えば、異なる制御装置、ＨＭＩ、コンピュータ、圧延機、ステーション、溶接機、スキャナー、ベルトコンベアー、プッシャー、ポンプ、圧縮機、ファン、フォトアイなど）に対して行われる。参照番号６６０では、その命令が制御装置内で、又は制御装置によって実行される。参照番号６６５では、その異なるタグ名が参照される。例えば、アクセスコンポーネントがその参照を開始する。その異なるタグ名を参照することは、例えば、制御装置内のメモリ（例えば、タグデータ記憶装置２０６）に記録された記号テーブル（又はルックアップテーブル）中のその異なるタグ名を探索することを含み、その異なるタグ名と関連づけされた情報、例えば、関連する異なるタグオブジェクトと関連のある情報、異なるデータ、及び／又は制御装置のメモリ（例えば、データ記憶装置）中の異なる物理メモリ領域などを検出する。参照番号６７０では、その異なるタグ名と関連づけされた情報が、制御装置のメモリ（例えば、タグデータ記憶装置２０６）から検索される。上記のように、その情報又はデータはメモリに付随する異なる構造体又は異なるアレイと関連づけできる。参照番号６７５では、その異なるタグ名と関連づけされた異なるデータ、及び／又は異なる物理メモリ領域、及び／又は異なるタグオブジェクトと関連する書き込みリクエスト又は読み出しリクエストが実行され、書き込みリクエストに関しては、その異なるデータを、制御装置のメモリ（例えば、データ記憶装置２０８）のその関連する異なる物理メモリ領域に書き込み、あるいは、読み出しリクエストに関しては、その異なるデータを、制御装置のメモリ（例えば、データ記憶装置２０８）のその関連する異なる物理メモリ領域から読み出す。
【００５４】
図７は、様々なスコープと関連づけされた様々なデータ部分に実行時ダイナミックにアクセスするため、複数のタグを橋渡しするのを支援する方法７００を説明する。参照番号７０５では、制御装置による１以上のオペレーションの実行を支援するためコードが書き込まれる。そこで、この制御装置としては、例えばＰＬＣである。参照番号７１０では、第１のスコープ（例えば、プログラムスコープ）と関連づけされた第１のタグ名がタグオブジェクト、データ及び／又は物理メモリ領域、並びに、それと関連のある全ての情報とリンク又は関連づけされる。データは制御装置のメモリ（例えば、データ記憶装置）に記録される。参照番号７１５では、第１のスコープと関連づけされた第１のタグ名及び関連するプログラム名が文字列タグデータ（例えば、文字列タグ中に含まれるデータ）に記録又は書き込まれる。参照番号７２０では、その第１のタグ名（例えば、その第１のタグ名を表すＡＳＣＩＩ文字）を含む文字列タグ及び関連するプログラム名が、コードと関連のある命令中にロードされ、及び／又は記録され、及び／又は書き込まれる。その命令は読み出しリクエスト又は書き込みリクエスト、即ち言い換えると、例えばメッセージ命令などのアクセスリクエストと関連づけされる。さらに、その命令は制御装置自身、即ち、その命令を実行する制御装置に対して行われ、あるいは別のデバイス（例えば、異なる制御装置、ＨＭＩ、コンピュータ、圧延機、ステーション、溶接機、スキャナー、ベルトコンベアー、プッシャー、ポンプ、圧縮機、ファン、フォトアイなど）に対して行われる。参照番号７２５では、その命令が制御装置内で、又は制御装置によって実行される。参照番号７３０では、その第１のタグ名及びプログラム名が参照される。例えば、アクセスコンポーネントが、その命令中の文字列タグに含まれるその第１のタグ名及びプログラム名の参照を開始する。その第１のタグ名及びプログラム名を参照することは、例えば、制御装置内のメモリ（例えば、タグデータ記憶装置２０６）に記録された記号テーブル（又はルックアップテーブル）中のその第１のタグ名及びプログラム名を探索することを含み、その第１のタグ名及びプログラム名と関連づけされた情報、例えば、関連するタグオブジェクトと関連のある情報、データ、及び／又は制御装置のメモリ（例えば、データ記憶装置）中の物理メモリ領域などを検出する。参照番号７３５では、その第１のタグ名及びプログラム名と関連づけされた情報が、制御装置のメモリ（例えば、タグデータ記憶装置２０６）から検索される。参照番号７４０では、その第１のタグ名及びプログラム名と関連づけされた、データ、及び／又は物理メモリ領域、及び／又はタグオブジェクトと関連する書き込みリクエスト又は読み出しリクエストが実行され、書き込みリクエストに関しては、データを、制御装置のメモリ（例えば、データ記憶装置２０８）のその関連する物理メモリ領域に書き込み、あるいは、読み出しリクエストに関しては、データを、制御装置のメモリ（例えば、データ記憶装置２０８）のその関連する物理メモリ領域から読み出す。
【００５５】
参照番号７４５では、異なるスコープ（例えば、異なるプログラムスコープ）と関連づけされた異なるタグ名が、異なるタグオブジェクト、異なるデータ、及び／又は異なる物理メモリ領域、並びにそれと関連のある全ての情報とリンク又は関連づけされる。参照番号７５０では、異なるタグ名が、文字列タグ中の一揃いのデータに含まれるデータとして（例えば、ＡＳＣＩＩ形式で）記録又は書き込みされる。参照番号７５５では、内部にその異なるタグ名を含み、異なるスコープと関連のある異なるプログラム名と関連づけされた別の文字列タグが、コードと関連のある命令中にロードされ、及び／又は記録され、及び／又は書き込まれる。そのコードは、第１のタグ名と関連のある同一のコードでも良いし、あるいは異なるコードでも良い。その命令は、第１のタグ名と関連のある命令と同一の命令でも良いし、あるいは異なる命令でも良い。その命令は読み出しリクエスト又は書き込みリクエスト、即ち言い換えると、例えばメッセージ命令などのアクセスリクエストと関連づけされる。さらに、その命令は制御装置自身、即ち、その命令を実行する制御装置に対して行われ、あるいは別のデバイス（例えば、異なる制御装置、ＨＭＩ、コンピュータ、圧延機、ステーション、溶接機、スキャナー、ベルトコンベアー、プッシャー、ポンプ、圧縮機、ファン、フォトアイなど）に対して行われる。参照番号７６０では、その命令が制御装置内で、又は制御装置によって実行される。参照番号７６５では、その異なるタグ名及び異なるプログラム名が参照される。例えば、アクセスコンポーネントがその参照を開始する。その異なるタグ名及び異なるプログラム名を参照することは、例えば、制御装置内のメモリ（例えば、タグデータ記憶装置２０６）に記録された記号テーブル（又はルックアップテーブル）中のその異なるタグ名及び異なるプログラム名を探索することを含み、その異なるタグ名及び異なるプログラム名と関連づけされた情報、例えば、関連する異なるタグオブジェクトと関連のある情報、異なるデータ、及び／又は制御装置のメモリ（例えば、データ記憶装置）中の異なる物理メモリ領域などを検出する。参照番号７７０では、その異なるタグ名及び異なるプログラム名と関連づけされた情報が、制御装置のメモリ（例えば、タグデータ記憶装置２０６）から検索される。参照番号７７５では、その異なるタグ名及び異なるプログラム名（例えば、異なるスコープの）と関連づけされた異なるデータ、及び／又は異なる物理メモリ領域、及び／又は異なるタグオブジェクトと関連する書き込みリクエスト又は読み出しリクエストが実行され、書き込みリクエストに関しては、その異なるデータを、制御装置のメモリ（例えば、データ記憶装置２０８）のその関連する異なる物理メモリ領域に書き込み、あるいは、読み出しリクエストに関しては、その異なるデータを、制御装置のメモリ（例えば、データ記憶装置２０８）のその関連する異なる物理メモリ領域から読み出す。
【００５６】
本明細書中では、用語「コンポーネント」及び「システム」などは、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア又は実行のソフトウェアのいずれかであるコンピュータ関連のエンティティを表すことを意図している。例えば、コンポーネントは、これに限定されないが、プロセッサ上で作動する処理、プロセッサ、オブジェクト、インスタンス、実行ファイル、実行のスレッド、プログラム、及び／又はコンピュータであれば良い。例であるが、コンピュータ上で作動するアプリケーションとコンピュータの両方をコンポーネントとすることもできる。１以上のコンポーネントがプロセス（処理）及び／又は実行のスレッド内に存在しても良く、１つのコンポーネントが１つのコンピュータに限定されても、及び／又は２以上のコンピュータ間に分配されても良い。
【００５７】
さらに、開示した発明は、この発明を実行するようコンピュータを制御するソフトウェア、ファームウェア、ハードウェア、又はそのいずれかの組合せを製造するため、標準のプログラミング技術及び／又はエンジニアリング技術を用いる方法、装置、又は製品として実行されても良い。ここで使用される用語「製品」は、コンピュータに読み込み可能なデバイス、キャリア又はメディアからアクセス可能なコンピュータプログラムを含むことを意図している。例えば、コンピュータに読み出し可能なメディアは、これに限定されないが、磁気記録デバイス（例えば、ハードディスク、フロッピー（登録商標）ディスク、磁気ストライプ・・・）、光ディスク（例えば、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）・・・）、スマートカード、フラッシュメモリデバイス（例えば、カード、スティック、キードライブ・・・）を含む。加えて、当然のことながら、電子メールを送信及び受信するのに使用されるデータ、又はインターネットもしくはローカルエリアネットワーク（ＬＡＮ）などのネットワークにアクセスするのに使用されるデータなどコンピュータ可読の電子データを伝達するため、搬送波が利用される。無論、当業者は、特許請求の範囲に記載の発明の範囲又は精神を逸脱することなく、多様な変更が本構成になし得ることを認識するであろう。
【００５８】
さらに、用語「例」とは、実例、事例又は説明との意味で本明細書中で使用されている。「例」として本明細書中に記載されたどんな態様又は構造も、他の態様や構造に関して必ずしも好ましい又は有利であるとみなす必要はない。
【００５９】
詳細な説明のいくつかの部分は、コンピュータメモリ内でのデータビットのオペレーションのアルゴリズム及び／又は記号表記に関して開示している。これらのアルゴリズム的な記述及び／又は表現は、同様に技術を有する他の者に研究内容を最も効率的に伝えるため、技術を認識する者によって使用される手段である。アルゴリズムは、ここでは、通常、目的とする結果を導く一連の自己無撞作業であると考えられる。その作業は物理量の物理的処理を必要とするものである。通常は、これら物理量は、必ずしもそうとは限らないが、記録され、転送され、結合され、比較され、及び／又は他の方法で処理されうる電気信号及び／又は磁気信号という形をとる。
【００６０】
これらの信号を、ビット、値、要素、記号、文字、ターム（ＴＥＲＭ）、数などと表現することは、主に一般的慣習のため、折々都合の良いことがわかっている。しかしながら、これら及び類似の用語の全ては適切な物理量と関連づけされるべきであり、それらはこれらの物理量に適用される単なる便利なラベルであることを念頭に置くべきである。上記説明から明らかなように、特に別途記述しない限り、開示された発明全体にわたって、処理する、演算する、計算する、判断する、及び／又は表示するなどの用語を用いる説明は、コンピュータ及び／又は機械装置のレジスタやメモリの内部において物理（電気及び／又は電子）量として表されるデータを、機械装置及び／又はコンピュータシステムのメモリもしくはレジスタ、又はその他の情報記憶装置、伝送装置及び／又はディスプレイ装置の内部において同じように物理量として表される別のデータに処理及び／又は変換するコンピュータシステム、及び／又は同様のコンシューマ及び／又は産業電子デバイス及び／又は機械装置の動作や処理を言及するものであると理解される。
【００６１】
特許請求の範囲に記載した発明の様々な態様を実施するための追加的な背景を付与するため、図８から図９及び以下の記述は、本発明の様々な態様が実施される適切なコンピュータ環境についての簡単な概要を与えることを目的とする。請求の範囲に記載した発明は、ローカルコンピュータ及び／又はリモートコンピュータ上で実行するコンピュータが実行可能なコンピュータプログラムの命令についての一般的な内容で上述したが、本発明が他のプログラムモジュールと組み合わせて実施されうることは当業者であれば認識するであろう。一般に、プログラムモジュールは、特定のタスクを実行する及び／又は特定の抽象データ型を実行するルーチン、プログラム、コンポーネント、データ構造などを含む。
【００６２】
さらに、本発明の方法が、各々が１つ又は複数の関連するデバイスと動作可能に通信することのできる、シングルプロセッサコンピュータシステム又はマルチプロセッサコンピュータシステム、小型コンピュータ、メインフレームコンピュータ、並びにパーソナルコンピュータ、携帯用コンピュータデバイス、マイクロプロセッサを用いた家庭用電子機器及び／又はプログラム可能な家庭用電子機器などを含む別のコンピュータシステム構成で実施できることは当業者であれば認識するであろう。また、請求の範囲に記載した発明について説明した態様は、通信ネットワークを介してリンクされた遠隔処理装置によって特定のタスクが実行される分散型のコンピュータ環境で実施されても良い。しかしながら、全てではないが、本発明の態様のいくつかは、独立型のコンピュータで実施されても良い。分散型のコンピュータ環境において、プログラムモジュールはローカルメモリ記憶装置及び／又はリモートメモリ記憶装置に置かれる。
【００６３】
図８は、特許請求の範囲に記載した発明が相互に作用するコンピュータ環境８００の例についての略ブロック図である。システム８００は１つ又は複数のクライアント８１０を有する。クライアント８１０はハードウェア及び／又はソフトウェア（例えば、スレッド、プロセス、コンピュータデバイス）とすることができる。また、システム８００は１つ又は複数のサーバ８２０も有する。サーバ８２０はハードウェア及び／又はソフトウェア（例えば、スレッド、プロセス、コンピュータデバイス）とすることができる。サーバ８２０は、例えば、スレッドを格納し、本発明を用いることで変換を実行できる。
【００６４】
クライアント８１０とサーバ８２０間の１つの可能な通信は、２以上のコンピュータのプロセス間で伝送されるのに適したデータパケットの形式とすることである。システム８００は、クライアント８１０とサーバ８２０の間の通信を支援するのに使用される通信フレームワーク８４０を含む。クライアント８１０は、そのクライアントにとって特定の情報を記録するのに使用される１以上のクライアントデータ記憶装置８５０に操作可能に接続される。同様に、サーバ８２０は、そのサーバにとって特定の情報を記録するのに使用される１以上のサーバデータ記憶装置８３０に操作可能に接続される。
【００６５】
図９を参照すると、特許請求の範囲に記載した発明の様々な態様を実施するための例示的な環境９００は、コンピュータ９１２を含む。コンピュータ９１２は、プロセシングユニット９１４、システムメモリ９１６及びシステムバス９１８を有する。システムバス９１８は、これに限定されないが、システムメモリ９１６を含むシステムコンポーネントをプロセシングユニット９１４につなげる。プロセシングユニット９１４は、各種利用可能なプロセッサの何れにすることもできる。また、デュアルマイクロプロセッサやその他のマルチプロセッサのアーキテクチャがプロセシングユニット９１４として利用できる。
【００６６】
システムバス９１８は、メモリバスもしくはメモリコントローラ、周辺機器用バスもしくは外部バス、及び／又は、これに限定されないが、業界標準アーキテクチャ（ＩＳＡ）、マイクロチャネルアーキテクチャ（ＭＳＡ）、拡張業界標準アーキテクチャ（ＥＩＳＡ）、インテリジェント・ドライブエレクトロニクス（ＩＤＥ）、ＶＥＳＡローカルバス（ＶＬＡ）、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）、カードバス、ユニバーサルシリアルバス（ＵＳＢ）、アドバンストグラフィックスポート（ＡＧＰ）、パーソナルコンピュータメモリカード国際協会のバス（ＰＣＭＣＩＡ）、ファイアワイア（ＩＥＥＥ  １３９４）、小型コンピュータシステムインターフェース（ＳＣＳＩ）を含む様々利用可能なバスアーキテクチャのいずれかを用いるローカルバス、を含む様々なタイプのバス構造のいずれでも良い。
【００６７】
システムメモリ９１６は、揮発性メモリ９２０及び不揮発性メモリ９３０を含む。起動時などコンピュータ９１２内の要素間で情報を伝送するための基本的なルーチンを含む基本入出力システム（ＢＩＯＳ）は、不揮発性メモリ９２２に記録される。限定ではなく例として、不揮発性メモリ９２２は、リードオンリメモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的にプログラム可能なＲＯＭ（ＥＰＲＯＭ）、電気的消去可能でプログラム可能なＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリを含む。揮発性メモリ９２０は、ランダムアクセスメモリ（ＲＡＭ）を含み、それは外部キャッシュメモリとして働く。限定ではなく例として、ＲＡＭは多様な形、例えば、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、エンハンストＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ）、ランバスダイレクトＲＡＭ（ＲＤＲＡＭ）、ダイレクトランバスダイナミックＲＡＭ（ＤＲＤＲＡＭ）及びランバスダイナミックＲＡＭ（ＲＤＲＡＭ）などの形で使用できる。
【００６８】
また、コンピュータ９１２は、着脱可能／固定式で揮発性／不揮発性のコンピュータ記憶メディアも含む。例えば、図９はディスク記憶装置９２４を示す。ディスク記憶装置９２４には、これに限定されないが、磁気ディスクドライブ、フロッピィディスクドライブ、テープドライブ、ＪＡＺドライブ、ＺＩＰドライブ、ＬＳ−１００ドライブ、フラッシュメモリカード、又はメモリスティック、のようなデバイスを含む。その上、ディスク記憶装置９２４は、独立した記憶メディア、又は、これに限定されないが、コンパクトディスクＲＯＭデバイス（ＣＤ−ＲＯＭ）などの光ディスクドライブ、ＣＤレコーダブルドライブ（ＣＤ−Ｒドライブ）、ＣＤリライタブルドライブ（ＣＤ−ＲＷドライブ）、もしくは読み出し専用ＤＶＤドライブ（ＤＶＤ−ＲＯＭドライブ）を含む他の記憶メディアと組み合わせた記憶メディアを有すこともできる。システムバス９１８へのディスク記憶装置９２４の接続を支援するため、通常、着脱可能インターフェース又は固定式インターフェースが、インターフェース９２６の如く使用される。
【００６９】
図９は、適切な動作環境９００内で表されたユーザと基本のコンピュータリソース間の媒介手段として機能するソフトウェアを記載していることを認識すべきである。かかるソフトウェアはオペレーティングシステム９２８を有する。ディスク記憶装置９２４に記録されうるオペレーティングシステム９２８は、コンピュータシステム９１２のリソースを制御し、且つ割り付けするため機能する。システムアプリケーション９３０は、システムメモリ９１６又はディスク記憶装置９２４のいずれかに記録されたプログラムモジュール９３２やプログラムデータ９３４によって、オペレーティングシステム９２８が管理するリソースを巧みに利用する。特許請求の範囲に記載の発明が、様々なオペレーティングシステム又はオペレーティングシステムの組合せで実施し得ることを認識すべきである。
【００７０】
ユーザは、入力デバイス９３６によりコンピュータ９１２にコマンド又は情報を入力する。入力デバイス９３６としては、これに限定されないが、マウス、トラックボール、スタイラス、タッチパッド、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナー、ＴＶチュナーカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラなどのポインティングデバイスがある。これらのデバイス又はその他の入力デバイスは、システムバス９１８を通りインターフェースポート９３８を介してプロセシングユニット９１４につながっている。インターフェースポート９３８には、例えば、シリアルポート、パラレルポート、ゲームポート、及びユニバーサルシリアルバス（ＵＳＢ）がある。出力デバイス９４０は、入力デバイス９３６といくつか同じタイプのポートを使用する。従って、例えば、ＵＳＢポートは、コンピュータ９１２に入力するのにも、コンピュータ９１２から出力デバイス９４０に情報を出力するのにも使用できる。出力アダプタ９４２は、いくつかある出力デバイス９４０のなかで専用のアダプタを必要とするモニタ、スピーカ、及びプリンターのようないくつかの出力デバイス９４０があることを説明するために設けられている。出力アダプタ９４２としては、限定ではなく例として、出力デバイス９４０とシステムバス９１８間をつなぐ手段を与えるビデオカードやサウンドカードがある。その他のデバイス及び／又はデバイスを有すシステムが、リモートコンピュータ９４４などの入力と出力の両方の機能を与えることに留意すべきである。
【００７１】
コンピュータ９１２は、リモートコンピュータ９４４などの１以上のリモートコンピュータへの論理接続を使用してネットワーク化された環境で作動する。リモートコンピュータ９４４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、電化製品をベースにしたマイクロプロセッサ、ピアーデバイス又はその他の共通ネットワークノードなどであり、一般的に、コンピュータ９１２に関して記載した多くの又は全ての要素を備えている。簡潔のため、ただ一つの記憶装置９４６だけをリモートコンピュータ９４４に例示している。リモートコンピュータ９４４はネットワークインターフェース９４８を介してコンピュータ９１２に理論的に接続され、それから通信接続９５０を介して物理的に接続される。ネットワークインターフェース９４８には、ローカルエリアネットワーク（ＬＡＮ）及び広域エリアネットワーク（ＷＡＮ）などの有線及び／又は無線通信ネットワークがある。ＬＡＮ技術には、光ファイバー分散データインターフェース（ＦＤＤＩ）、銅配線データインターフェース（ＣＤＤＩ）、イーサーネット、トークンリングなどがある。ＷＡＮ技術には、これに限定されないが、ポイントトゥポイントリンク、統合サービスデジタル通信網（ＩＳＤＮ）やその変形の通信網のような回路交換網、パケットスイッチングネットワーク、及びデジタル加入者回線（ＤＳＬ）がある。
【００７２】
通信接続９５０は、ネットワークインターフェース９４８をバス９１８に接続するのに使用されるハードウェア／ソフトウェアを言う。通信接続９５０は、説明を明瞭とするため、コンピュータ９１２の内部に示したが、コンピュータ９１２の外部にあっても良い。ネットワークインターフェース９４８に接続するため必要なそのハードウェア／ソフトウェアには、例示の目的でだけであるが、通常の電話レベルのモデム、ケーブルモデム、ＤＳＬモデム、ＩＳＤＮアダプタ、及びイーサネット（登録商標）カードがある。
【００７３】
上述したことは、開発発明の例を含む。無論、開示した発明を記述するために、認識しうる要素又は方法のあらゆる組合せを記述するのは可能ではないが、当業者であれば、開発発明の更に多くの組合せと順列をなし得ると認識される。従って、開示した発明は、添付された特許請求の範囲の精神と範囲に含まれるその代替、改良、及び変更の全てを含むことを意図している。
【００７４】
特に、上記コンポーネント、デバイス、回路、システムなどによって実施される様々な機能に関して、かかるコンポーネントを記述するのに使用された用語（「手段」への言及を含め）は、別段示さない限り、たとえ本明細書中で説明した開示した発明の例示の態様における機能を実施する開示した構造と構造的に同等でなくとも、その記載したコンポーネントの特定の機能（例えば、機能的に同等のもの）を実行するどんなコンポーネントにも該当することを意図している。この関連で、開示した発明が、その発明の様々な方法の処理及び／又は工程を実行するためコンピュータが実行可能な命令を有するコンピュータに読み出し可能な媒体に加えて制御系（ＳＹＳＴＥＭ）も含むことも認識されるであろう。
【００７５】
加えて、開示した発明の特定の特徴は、いくつかの実施形態のただ一つだけについて開示したが、かかる特徴は、必要であれば、及び所定又は特定のアプリケーションにとって有効であれば、他の実施形態の１つ以上の他の特徴と兼ね備えても良い。さらに、用語「含む」「含んでいる」及びその変形型の用語が詳細な説明か特許請求の範囲のいずれかに使用されている範囲において、これらの用語は、用語「備えている」と同様の方法で、含んでいることを意図している。
【図面の簡単な説明】
【００７６】
【図１】開示した発明に従って、制御装置内でデータのアクセスを支援するシステムのブロック図である。
【図２】開示した発明に従って、制御装置内でデータのアクセスを支援するシステムの別のブロック図である。
【図３】開示した発明に従うタグ管理コンポーネントのブロック図である。
【図４】開示した発明に従って、産業のオートメーション環境内でデータのプログラム的アクセスを支援するシステムのブロック図である。
【図５】開示した発明に従って、制御装置内でデータにアクセスする方法を説明する図である。
【図６】開示した発明に従って、異なる構造体又はメモリアレイとそれぞれ関連づけされたデータ項目にアクセスするための方法を説明する図である。
【図７】開示した発明に従って、異なるスコープと関連づけされた異なるデータ部分に実行時ダイナミックにアクセスするための方法を説明する図である。
【図８】開示した発明に従って、開示した本発明の態様が使用できるネットワーク環境を説明する図である。
【図９】開示した発明に従って使用されるオペレーティング環境を説明する図である。
【符号の説明】
【００７７】
１００、４００、８００・・・システム
１０２、２０２、４０２・・・制御装置
１０４、９２６・・・インターフェース
１０６・・・アクセスコンポーネント
１０８・・・データ記憶装置
１１０、３００・・・タグ管理コンポーネント
２０４・・・ハードウェアデータ記憶装置
２０６・・・タグデータ記憶装置
２０８・・・データ記憶装置
２１０・・・プロジェクトファイル
２１２・・・プログラミングソフトウェア
２１４・・・アプリケーションコード
２１６・・・アップロードコンポーネント
３１０・・・タグオブジェクトジェネレータ
３２０・・・リンキングコンポーネント
３３０・・・タグ参照コンポーネント
４０４・・・ログコンポーネント
４０６・・・検索コンポーネント
４０８・・・セキュリティコンポーネント
４１０・・・ブリッジコンポーネント
５００・・・方法
８１０・・・クライアント
８２０・・・サーバ
８３０・・・サーバデータ記憶装置
８４０・・・通信フレームワーク
８５０・・・クライアントデータ記憶装置
９００・・・環境
９１２・・・コンピュータ
９１４・・・プロセシングユニット
９１６・・・システムメモリ
９１８・・・システムバス
９２０・・・揮発性メモリ
９２２・・・不揮発性メモリ
９２４・・・ディスク記憶装置
９２８・・・オペレーティングシステム
９３０・・・システムアプリケーション
９３２・・・プログラムモジュール
９３４・・・プログラムデータ
９３６・・・入力デバイス
９３８・・・インターフェースポート
９４０・・・出力デバイス
９４２・・・出力アダプタ
９４４・・・リモートコンピュータ
９４６・・・記憶装置
９５０・・・通信接続
【図１】
2008210377.tif 000003
【図２】
2008210377.tif 000004
【図３】
2008210377.tif 000005
【図４】
2008210377.tif 000006
【図５】
2008210377.tif 000007
【図６】
2008210377.tif 000008
【図７】
2008210377.tif 000009
【図８】
2008210377.tif 000010
【図９】
2008210377.tif 000011
【外国語明細書】
2008210377.tif 000012
2008210377.tif 000013
2008210377.tif 000014
2008210377.tif 000015
2008210377.tif 000016
2008210377.tif 000017
2008210377.tif 000018
2008210377.tif 000019
2008210377.tif 000020
2008210377.tif 000021
2008210377.tif 000022
2008210377.tif 000023
2008210377.tif 000024
2008210377.tif 000025
2008210377.tif 000026
2008210377.tif 000027
2008210377.tif 000028
2008210377.tif 000029
2008210377.tif 000030
2008210377.tif 000031
2008210377.tif 000032
2008210377.tif 000033
2008210377.tif 000034
2008210377.tif 000035
2008210377.tif 000036
2008210377.tif 000037
2008210377.tif 000038
2008210377.tif 000039
2008210377.tif 000040
2008210377.tif 000041
2008210377.tif 000042
2008210377.tif 000043
2008210377.tif 000044
2008210377.tif 000045
2008210377.tif 000046
2008210377.tif 000047
2008210377.tif 000048
2008210377.tif 000049
2008210377.tif 000050
2008210377.tif 000051
2008210377.tif 000052
2008210377.tif 000053
2008210377.tif 000054
2008210377.tif 000055
2008210377.tif 000056