高レベル言語プログラムを実行するプログラマブルロジックコントローラのシンボルテーブルを生成するシンボルテーブル生成方法であって、高レベル言語プログラムと、前記プログラマブルロジックコントローラにより制御されるデバイスと前記高レベル言語プログラム内の変数名との関係を規定する関連テーブルと、を読み取るステップと、各前記変数名の物理アドレスおよび対応する前記デバイスを判定するために、前記高レベル言語プログラムと前記関連テーブルとをコンパイルしリンクさせるステップと、前記コンパイル及びリンクにより、前記デバイスそれぞれに対して判定された前記物理アドレスを定義する前記シンボルテーブルを生成するステップと、前記シンボルテーブルを前記プログラマブルロジックコントローラのメモリに記憶するステップと、を含むことを特徴とするシンボルテーブル生成方法。高レベル言語プログラムを実行するプログラマブルロジックコントローラによる周辺機器との通信方法であって、前記プログラマブルロジックコントローラにより制御されるデバイスに対し読み取りまたは書き込みを行う要求を前記周辺機器から受信するステップと、シンボルテーブルを読み取り、前記デバイスに対し前記プログラマブルロジックコントローラのメモリ内の物理アドレスを判定するステップと、前記判定された物理アドレスに対し読み取りまたは書き込みを行うステップと、を含むことを特徴とする周辺機器との通信方法。デバイスを制御するための高レベル言語プログラムを実行するプログラマブルロジックコントローラであって、前記プログラマブルロジックコントローラにより制御されるデバイスに対し読み取りまたは書き込みを行う要求を周辺デバイスから受信する要求受信部と、シンボルテーブルを読み取り、前記デバイスに対し前記プログラマブルロジックコントローラのメモリ内の物理アドレスを判定するシンボルテーブル読み取り部と、前記判定された物理アドレスに対し読み取りまたは書き込みを行う物理アドレス読み取り/書き込み部と、を備えることを特徴とするプログラマブルロジックコントローラ。前記要求は前記デバイスの名称を含み、前記シンボルテーブルは、前記デバイスの前記名称と、前記デバイスに対応し前記高レベル言語プログラムで使用される変数名と、前記変数名に対応する前記プログラマブルロジックコントローラの前記メモリ内の物理アドレスとの関係を定義することを特徴とする請求項2に記載の周辺機器との通信方法。前記要求は前記デバイスの名称を含み、前記シンボルテーブルは、前記デバイスの前記名称と、前記デバイスに対応し前記高レベル言語プログラムで使用される変数名と、前記変数名に対応する前記プログラマブルロジックコントローラの前記メモリ内の物理アドレスとの関係を定義することを特徴とする請求項3に記載のプログラマブルロジックコントローラ。ここで、コントローラがデバイスを認識しない高レベル言語プログラムを実行する場合、こうした問い合わせはコントローラにより認識されないことがある。高レベル言語プログラム例えば、C言語で書かれたプログラムを実行するコントローラは、デバイス名の代わりに、変数名とその変数名に対するコントローラのメモリ内の物理アドレスとを認識する。高レベル言語プログラムを実行するこうしたコントローラが既存の生産システムにインストールされると、既存の周辺機器はコントローラと通信することができなくなる。しかし、高レベル言語プログラムは使い勝手が良く維持し易いこと、プログラマーがラダープログラムよりも高レベル言語プログラムを好むことから、顧客は高レベル言語プログラムを実行できる新型のコントローラの利用を希望する。こうした問題に対する可能な解決方法としては、十分とはいえないものの、コントローラと周辺機器との間に高価なミドルウェアを用いることが考えられる。このように、旧型の周辺機器と新型のコントローラとの通信における上記の問題を克服できるシステムが求められている。本発明の実施の形態は、少なくとも上記の問題やデメリットと、上述していない他のデメリットとに取り組むものである。なお、本発明は上述のデメリットを克服することを求められるものではなく、本発明の実施の形態は上述の問題のいずれかを克服しないこともある。高レベル言語プログラムを実行するプログラマブルロジックコントローラのシンボルテーブルを生成する方法の一例を提供する。この方法は、高レベル言語プログラムと、上記プログラマブルロジックコントローラにより制御されるデバイスと上記高レベル言語プログラム内の変数名との関係を規定する関連テーブルと、を読み取るステップと、各上記変数名の物理アドレス及び対応する上記デバイスを判定するために、上記高レベル言語プログラムと上記関連テーブルとをコンパイルしリンクさせるステップと、上記コンパイル及びリンクにより、各上記デバイスについて判定された上記物理アドレスを定義する上記シンボルテーブルを生成するステップと、上記シンボルテーブルを上記プログラマブルロジックコントローラのメモリに記憶するステップと、を含む。また、上記高レベル言語プログラムを実行し上記シンボルテーブルを記憶するプログラマブルロジックコントローラの一例を提供する。更に、周辺機器と高レベル言語プログラムを実行するプログラマブルロジックコントローラとの通信の方法の一例を提供する。この方法は、上記プログラマブルロジックコントローラにより制御されるデバイスに対し読み取りまたは書き込みを行う要求を上記周辺機器から受信するステップと、シンボルテーブルを読み取り上記プログラマブルロジックコントローラのメモリ内の上記デバイスの物理アドレスを判定するステップと、判定された上記物理アドレスに対し読み取りまたは書き込みを行うステップと、を含む。本発明にかかるシンボルテーブル生成方法、周辺機器との通信方法およびプログラマブルロジックコントローラは、高レベル言語プログラムを実行できるプログラマブルロジックコントローラが既存の周辺機器と容易に通信できるようになるという効果を奏する。以下に、本発明にかかるシンボルテーブル生成方法、周辺機器との通信方法およびプログラマブルロジックコントローラの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。実施の形態.以下の説明では、異なる図面であっても同様の構成要素には同様の参照符号を用いる。明細書中に定義された詳細な構成や構成要素といった事項は、本発明の包括的な理解のためのものである。しかしながら、本発明は、このように特別に定義された事項がなくても実施することができる。また、徒に本発明を不明瞭とする恐れがあるため、公知の機能や構造の詳細は記載しない。本願に開示される実施の形態では、各デバイスを対応する変数名によりマッピングした関連テーブルを提供することにより、背景技術で述べた問題を解決する。しかし、当該実施の形態を説明する前に、高レベルアプリケーションプログラムのコンパイルプロセスを理解することが必要である。コンパイル部は、高レベル言語プログラム高レベルプログラムとも称すをオブジェクトモジュールへとコンパイルする。つまり、コンパイル部は、高レベルプログラムソースコードを基本ハードウェア例えば、パイプラインプロセッサにより理解されるアセンブリコードへと変換する。リンク部は、物理アドレスを、高レベルプログラム内で宣言された各オブジェクトファイルおよび各変数へと割り当てる。更に、リンク部は、各変数を、コントローラPLCはここではコントローラと称すのメモリ内の各々の物理アドレスとマッピングさせたシンボルテーブルを生成する。図2は、3つの異なるプログラムのコンパイルとコンパイルおよびリンク後の物理メモリ内のプログラム構成とを示す。図2からわかるように、リンク部は、各変数を、コントローラメモリ内の各々の物理アドレスとマッピングするためのシンボルテーブル201を生成する。本開示の実施の形態によると、コンパイルの際には関連テーブル301が与えられる。この関連テーブル301は、開発者または高レベルプログラムを開発するエンジニアにより与えられる。コンパイル及びリンクの処理は図3で説明されるが、従来技術と実施の形態との違いは、コンパイル中に関連テーブル301が存在することである。シンボルテーブル302は、コンパイル及びリンクの処理の結果生成される。図3からわかるように、このシンボルテーブル302は、デバイス名と、変数高レベルプログラムで宣言されると、メモリ内の物理アドレスとの対応を含む。シンボルテーブル302は、列311、312、313、314、315、および316を有する。列311はデバイス名デバイスメモリ名を記述し、列312はデバイス番号デバイスを記述し、列313はデータ型またはデータ単位を記述し、列314は列313のデータ型の情報量を記述し、列315はデバイスに関連付けられた変数名を記述する。シンボルテーブル302からわかるように、デバイスD200コントローラの温度センサーにより測定される温度を記述は、高レベルプログラム内で変数Temperatureinsystemと表される。更に、変数Temperatureinsystemには、新型コントローラ内の物理アドレスを記述した列316に見られるようにコントローラメモリ内で物理アドレスAddress3が割り当てられる。図4は、コンパイルリンク後のコントローラのメモリ構成を示している。図4に示すように、シンボルテーブル302はコントローラのメモリ内に記憶される。図5は、デバイス名、変数名、および物理アドレス間の対応を記憶するシンボルテーブルを作成する方法を示す。S501で、高レベルプログラムおよび関連テーブル例えば301がコンパイル部により読み取られる。コンパイル部は、各高レベルプログラムおよび関連テーブルのアセンブリ言語ファイルを生成する。S502で、リンク部は高レベルプログラムで宣言される各変数に物理アドレスを割り当て、関連テーブルおよびコンパイルされた高レベルプログラムを読み取ることによりシンボルテーブル302を作成する。ステップS503で、コンパイル部は生成されたシンボルテーブル302をコントローラのメモリに記憶する。高レベル言語プログラムをコンパイルおよびリンクさせてオブジェクトファイルおよびシンボルファイルを生成するコントローラ102の外部には、高レベル言語処理ツールプログラミングツール400を設けることができる。つまり、プログラミングツール400は図5に示すプロセスを行う。プログラミングツール400は、入力として関連テーブル301および高レベルプログラムを受信し、後にコントローラにダウンロードされるシンボルテーブル302を出力してもよい。プログラミングツールは、ソースプログラムをコンパイルおよびリンクさせ、デバイスの関連テーブルと変数名とをコンパイルおよびリンクさせ、シンボルテーブルを生成する。つまり、プログラミングツール400は、シンボルテーブル302を含む実行ファイルを準備し実行ファイルをPLCへとダウンロードする。ここで、図3を参照して、プログラミングツール400により行われるリンクプロセスを詳細に説明する。プログラミングツール400は、プログラミングツール400へ入力される高レベル言語ソースプログラム21をコンパイルする高レベル言語プログラムコンパイル部401を含む。高レベル言語ソースプログラム21は、高レベルプログラミング言語で書かれたプログラムである。高レベル言語プログラムコンパイル部401は、オブジェクトモジュール24オブジェクトファイル24を出力する。オブジェクトファイル24は、高レベル言語ソースプログラム21に対応する。オブジェクトファイル24は、高レベル言語ソースプログラム21のソースコードからコンパイルされた機械用指令コードと高レベル言語ソースプログラム21で用いられる変数を表すシンボル情報とを含む。プログラミングツール400は、更に、オブジェクトファイル24と他のオブジェクトファイルとを統合してユーザーライブラリ26を作成するライブラリアン402を備える。プログラミングツール400に含まれるリンク部403は、オブジェクトファイル24と、ユーザーライブラリ26と、高レベル言語プログラム標準ライブラリ27とをリンクさせてロードモジュール29とシンボルテーブル302とを作成する。高レベル言語プログラム標準ライブラリ27は、頻繁に用いられるサブルーチンの機械指令コードを含む。主に、高レベル言語プログラム標準ライブラリ27は、高レベル言語プログラムコンパイル部401のプロバイダにより提供される。しかし、ユーザーが、自身の標準ライブラリを準備することもできる。シンボルテーブル302は、デバイス間の関係の定義の列またはリストと、変数と、物理アドレスとを含む。次に、周辺機器101からコントローラ102へのデータ読み取り要求に対応する処理を説明する。S601でコントローラは、コントローラ内に備えられたまたはコントローラにより制御されるデバイスの情報の要求を受信する。この要求は、デバイスのステータスを読み取る要求であってもよい。S602で、コントローラは、メモリからシンボルテーブル302を読み込む。S603で、コントローラは、シンボルテーブル302に基づいてデバイスの物理アドレスを判定する。S604で、コントローラは、メモリ内の物理アドレスに記憶されるデータを読み取り、S605で、読み取った情報を要求元の周辺機器へと送信する。なお、独立したプログラムをコントローラに記憶させ、そのプログラムがシンボルテーブルを読み込んでコントローラのメモリから物理アドレスを読み取ることとしてもよい。次に、周辺機器101からコントローラ102へのデータ書き込み要求を処理する処理を説明する。S701で、コントローラは、コントローラ内に備えられたまたはコントローラにより制御されるデバイスに対するデータ書き込みの要求を受信する。S702で、コントローラはメモリからシンボルテーブル302を読み取る。S703で、コントローラはシンボルテーブル302に基づいてデバイスの物理アドレスを判定する。S704で、コントローラは読み取ったメモリ内の物理位置にデータを書き込む。図8は、図6および図7の処理を実施するコントローラ800コントローラ102の構成の一例を示す。コントローラ800は、周辺機器から要求を受信して要求の内容を判定する要求受信部801を備える。シンボルテーブル読み取り部802は、コントローラのメモリに記憶されたシンボルテーブル302を読み取る。物理アドレス読み取り/書き込み部803は、シンボルテーブル302および受信要求に基づいて、コントローラのメモリ位置に対しデータの読み取りまたは書き込みを行う。コントローラのメモリは、記憶媒体の限定的リストから構成されてもよく、記憶媒体は、1以上のワイヤを有する電気接続、フレキシブルディスクなどのポータブルコンピュータディスケット、磁気テープや他の磁気媒体、ハードディスク、RAMrandomaccessmemory、ROMread-onlymemory、EPPEOMerasableprogrammableread-onlymemoryやFlashメモリ、メモリカード、他のメモリチップやメモリカートリッジ、光ファイバ、ポータブルCD-ROMcompactdiscread-onlymemory、他の光学媒体、パンチカード、ペーパーテープ、他のホールパターンを有する物理媒体、コンピュータ/コントローラが読み取りを行うことができる他の媒体、または前述したものを適切に組み合わせたものを含む。更に、要求受信部801、シンボルテーブル読み取り部802、および物理アドレス読み取り/書き込み部803はプロセッサを用いて実装してもよい。上記実施の形態は、高レベルプログラムを実行し、更に、周辺機器からのデバイスに対して読み取りまたは書き込みを行うデバイス名を指定した要求を処理することができる新たなコントローラを提供する。新型コントローラは、シンボルテーブルを読み取り、デバイス名を、読み取りまたは書き込みが可能な物理アドレスへと変換する。これにより、新型コントローラは、ミドルウェアや周辺機器の更新を必要とせずに周辺機器からのデータアクセスの要求に対応することができる。シンボルテーブルは、プログラミングツールにより外部で用意することとし、プログラミングツールによりコントローラへとダウンロードされるとしてもよい。プログラミングツール400は、高レベル言語プログラムコンパイル部401、ライブラリアン402、およびリンク部403のタスクを行う、特定用途向け集積回路やデジタル信号プロセッサなどのプロセッサを備えてもよい。また、プログラミングツール400は、PLCと通信するための適切な手段を備えてもよい。例えば、プログラミングツール400は、USBuniversalserialbusを介してPLCと通信してもよい。更に、図5~7で説明した処理は、有形のコンピュータ読み取り可能な記憶媒体に記憶される指示に応じて操作する特定用途のコンピュータにより実施されてもよい。上記の例示の実施の形態は、単なる例であり、本発明を限定するものとは解釈されない。本教示は他の種類の装置にも容易に適用することができる。また、本発明の実施の形態の記載は説明を目的としたものであり、特許請求の範囲を限定するものではない。また、多くの代替、改良、変更は当業者にとって容易である。