(57)【要約】  高レベル言語プログラムを実行するプログラマブルロジックコントローラが既存の周辺機器と容易に通信できるようにするために、シンボルテーブル生成方法は、前記高レベル言語プログラムと、前記プログラマブルロジックコントローラにより制御されるデバイスと前記高レベル言語プログラム内の変数名との関係を規定する関連テーブルと、を読み取るステップ（Ｓ５０１）と、各前記変数名の物理アドレスおよび対応する前記デバイスを判定するために、前記高レベル言語プログラムと前記関連テーブルとをコンパイルしリンクさせるステップと、前記コンパイル及びリンクにより、前記デバイスそれぞれに対して判定された前記物理アドレスを定義する前記シンボルテーブルを生成するステップ（Ｓ５０２）と、前記シンボルテーブルを前記プログラマブルロジックコントローラのメモリに記憶するステップ（Ｓ５０３）と、を含む。
2013005350.tif 000002
【特許請求の範囲】
【請求項１】
高レベル言語プログラムを実行するプログラマブルロジックコントローラのシンボルテーブルを生成するシンボルテーブル生成方法であって、
高レベル言語プログラムと、前記プログラマブルロジックコントローラにより制御されるデバイスと前記高レベル言語プログラム内の変数名との関係を規定する関連テーブルと、を読み取るステップと、
各前記変数名の物理アドレスおよび対応する前記デバイスを判定するために、前記高レベル言語プログラムと前記関連テーブルとをコンパイルしリンクさせるステップと、
前記コンパイル及びリンクにより、前記デバイスそれぞれに対して判定された前記物理アドレスを定義する前記シンボルテーブルを生成するステップと、
前記シンボルテーブルを前記プログラマブルロジックコントローラのメモリに記憶するステップと、
を含むことを特徴とするシンボルテーブル生成方法。
【請求項２】
高レベル言語プログラムを実行するプログラマブルロジックコントローラによる周辺機器との通信方法であって、
前記プログラマブルロジックコントローラにより制御されるデバイスに対し読み取りまたは書き込みを行う要求を前記周辺機器から受信するステップと、
シンボルテーブルを読み取り、前記デバイスに対し前記プログラマブルロジックコントローラのメモリ内の物理アドレスを判定するステップと、
前記判定された物理アドレスに対し読み取りまたは書き込みを行うステップと、
を含むことを特徴とする周辺機器との通信方法。
【請求項３】
デバイスを制御するための高レベル言語プログラムを実行するプログラマブルロジックコントローラであって、
前記プログラマブルロジックコントローラにより制御されるデバイスに対し読み取りまたは書き込みを行う要求を周辺デバイスから受信する要求受信部と、
シンボルテーブルを読み取り、前記デバイスに対し前記プログラマブルロジックコントローラのメモリ内の物理アドレスを判定するシンボルテーブル読み取り部と、
前記判定された物理アドレスに対し読み取りまたは書き込みを行う物理アドレス読み取り／書き込み部と、
を備えることを特徴とするプログラマブルロジックコントローラ。
【請求項４】
前記要求は前記デバイスの名称を含み、
前記シンボルテーブルは、前記デバイスの前記名称と、前記デバイスに対応し前記高レベル言語プログラムで使用される変数名と、前記変数名に対応する前記プログラマブルロジックコントローラの前記メモリ内の物理アドレスとの関係を定義することを特徴とする請求項２に記載の周辺機器との通信方法。
【請求項５】
前記要求は前記デバイスの名称を含み、
前記シンボルテーブルは、前記デバイスの前記名称と、前記デバイスに対応し前記高レベル言語プログラムで使用される変数名と、前記変数名に対応する前記プログラマブルロジックコントローラの前記メモリ内の物理アドレスとの関係を定義することを特徴とする請求項３に記載のプログラマブルロジックコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業オートメーション（自動化）環境におけるプログラマブルロジックコントローラで実行されるプログラムにかかるシンボルテーブル生成方法、プログラマブルロジックコントローラによる周辺機器との通信方法およびプログラマブルロジックコントローラに関する。
【背景技術】
【０００２】
現代の製造施設では、多くの場合、自動化プロセスが低レベルの自動化プロセス制御および監視システムにより制御されている。低レベルの自動化システムは、プログラマブルロジックコントローラ（ＰＬＣ：Ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｃｏｎｔｒｏｌｌｅｒ）により制御または監視される専用のロボット装置または自動化システムを備えても良い。また、こうしたプロセスを監視する、マシンビジョンシステム、バーコードリーダー、温度センサーなどの多様な検知装置および器具が用いられてもよい。【０００３】
図１は、従来の産業オートメーション環境／生産システム１００を示す。周辺機器１０１はネットワーク１０３を介してＰＬＣ１０２に接続される。ＰＬＣ１０２は、多様なデバイスを制御するラダープログラムを実行する。管理者は、周辺機器１０１を介してＰＬＣ１０２に問い合わせ（クエリー）を行うことにより実行の状態や多様なデバイスの結果にアクセスすることができる。例えば、周辺機器の例としては、ＳＣＡＤＡ（ｓｕｐｅｒｖｉｓｏｒｙ  Ｃｏｎｔｒｏｌ  ａｎｄ  Ｄａｔａ  Ａｃｑｕｉｓｉｔｉｏｎ）システム、ヒューマン・マシン・インターフェース（ＨＭＩ：Ｈｕｍａｎ  ｍａｃｈｉｎｅ  ｉｎｔｅｒｆａｃｅ）システム、コンピュータ上で起動するユーザーアプリケーションなどがある。ＰＬＣは電源モジュールとＰＬＣ情報を周辺機器へと伝達するネットワークモジュールとに接続される。【０００４】
本明細書で用いられる「デバイス」とは、ＰＬＣに取り付けられＰＬＣにより制御される物理的な装置を含む。センサー、スイッチ、リレーなどは、本開示に記載されるデバイスの例である。しかし、本開示に係る「デバイス」は物理的な装置に限定されない。デバイスは、ＰＬＣ内でメモリアドレスを割り当てられるレジスタや内部リレーなどの内部要素を指すこともある。また、デバイスは、共用アクセスメモリを介してＰＬＣと通信できるソフトウェアを指してもよい。【０００５】
周辺機器がＰＬＣに問い合わせを行う際、問い合わせは、周辺機器が監視したいコントローラ内のデバイスを提示する。例えば、問い合わせは「デバイスＸはオンかオフか」といったものである。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、コントローラがデバイスを認識しない高レベル言語プログラムを実行する場合、こうした問い合わせはコントローラにより認識されないことがある。高レベル言語プログラム（例えば、Ｃ言語で書かれたプログラム）を実行するコントローラは、デバイス名の代わりに、変数名とその変数名に対するコントローラのメモリ内の物理アドレスとを認識する。高レベル言語プログラムを実行するこうしたコントローラが既存の生産システムにインストールされると、既存の周辺機器はコントローラと通信することができなくなる。【０００７】
しかし、高レベル言語プログラムは使い勝手が良く維持し易いこと、プログラマーがラダープログラムよりも高レベル言語プログラムを好むことから、顧客は高レベル言語プログラムを実行できる新型のコントローラの利用を希望する。こうした問題に対する可能な解決方法としては、十分とはいえないものの、コントローラと周辺機器との間に高価なミドルウェアを用いることが考えられる。【０００８】
このように、旧型の周辺機器と新型のコントローラとの通信における上記の問題を克服できるシステムが求められている。【０００９】
本発明の実施の形態は、少なくとも上記の問題やデメリットと、上述していない他のデメリットとに取り組むものである。なお、本発明は上述のデメリットを克服することを求められるものではなく、本発明の実施の形態は上述の問題のいずれかを克服しないこともある。
【課題を解決するための手段】
【００１０】
高レベル言語プログラムを実行するプログラマブルロジックコントローラのシンボルテーブルを生成する方法の一例を提供する。この方法は、高レベル言語プログラムと、上記プログラマブルロジックコントローラにより制御されるデバイスと上記高レベル言語プログラム内の変数名との関係を規定する関連テーブルと、を読み取るステップと、各上記変数名の物理アドレス及び対応する上記デバイスを判定するために、上記高レベル言語プログラムと上記関連テーブルとをコンパイルしリンクさせるステップと、上記コンパイル及びリンクにより、各上記デバイスについて判定された上記物理アドレスを定義する上記シンボルテーブルを生成するステップと、上記シンボルテーブルを上記プログラマブルロジックコントローラのメモリに記憶するステップと、を含む。【００１１】
また、上記高レベル言語プログラムを実行し上記シンボルテーブルを記憶するプログラマブルロジックコントローラの一例を提供する。【００１２】
更に、周辺機器と高レベル言語プログラムを実行するプログラマブルロジックコントローラとの通信の方法の一例を提供する。この方法は、上記プログラマブルロジックコントローラにより制御されるデバイスに対し読み取りまたは書き込みを行う要求を上記周辺機器から受信するステップと、シンボルテーブルを読み取り上記プログラマブルロジックコントローラのメモリ内の上記デバイスの物理アドレスを判定するステップと、判定された上記物理アドレスに対し読み取りまたは書き込みを行うステップと、を含む。
【発明の効果】
【００１３】
本発明にかかるシンボルテーブル生成方法、周辺機器との通信方法およびプログラマブルロジックコントローラは、高レベル言語プログラムを実行できるプログラマブルロジックコントローラが既存の周辺機器と容易に通信できるようになるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、従来の産業オートメーション環境／生産システムを示す図である。
【図２】図２は、従来の方法に係る３つの異なるプログラムのコンパイルとコンパイルおよびリンク後の物理メモリ内のプログラム構成とを示す図である。
【図３】図３は、実施の形態に係る、３つの異なるプログラムのコンパイルとコンパイルおよびリンク後の物理メモリ内のプログラム構成とを示す図である。
【図４】図４は、実施の形態に係るコントローラのシンボルテーブルおよびメモリ構成を示す図である。
【図５】図５は、シンボルテーブルを生成する方法の一例を示す図である。
【図６】図６は、周辺機器からコントローラへのデータ読み取り／書き込み要求に対応する方法の例を示す図である。
【図７】図７は、周辺機器からコントローラへのデータ読み取り／書き込み要求に対応する方法の例を示す図である。
【図８】図８は、コントローラの構成の一例を示す図である。
【発明を実施するための形態】
【００１５】
以下に、本発明にかかるシンボルテーブル生成方法、周辺機器との通信方法およびプログラマブルロジックコントローラの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１６】
実施の形態．
以下の説明では、異なる図面であっても同様の構成要素には同様の参照符号を用いる。明細書中に定義された詳細な構成や構成要素といった事項は、本発明の包括的な理解のためのものである。しかしながら、本発明は、このように特別に定義された事項がなくても実施することができる。また、徒に本発明を不明瞭とする恐れがあるため、公知の機能や構造の詳細は記載しない。
【００１７】
本願に開示される実施の形態では、各デバイスを対応する変数名によりマッピングした関連テーブルを提供することにより、背景技術で述べた問題を解決する。しかし、当該実施の形態を説明する前に、高レベルアプリケーションプログラムのコンパイルプロセスを理解することが必要である。
【００１８】
コンパイル部は、高レベル言語プログラム（「高レベルプログラム」とも称す）をオブジェクトモジュールへとコンパイルする。つまり、コンパイル部は、高レベルプログラムソースコードを基本ハードウェア（例えば、パイプラインプロセッサ）により理解されるアセンブリコードへと変換する。リンク部は、物理アドレスを、高レベルプログラム内で宣言された各オブジェクトファイルおよび各変数へと割り当てる。更に、リンク部は、各変数を、コントローラ（ＰＬＣはここではコントローラと称す）のメモリ内の各々の物理アドレスとマッピングさせたシンボルテーブルを生成する。図２は、３つの異なるプログラムのコンパイルとコンパイルおよびリンク後の物理メモリ内のプログラム構成とを示す。図２からわかるように、リンク部は、各変数を、コントローラメモリ内の各々の物理アドレスとマッピングするためのシンボルテーブル２０１を生成する。
【００１９】
本開示の実施の形態によると、コンパイルの際には関連テーブル３０１が与えられる。この関連テーブル３０１は、開発者または高レベルプログラムを開発するエンジニアにより与えられる。コンパイル及びリンクの処理は図３で説明されるが、従来技術と実施の形態との違いは、コンパイル中に関連テーブル３０１が存在することである。シンボルテーブル３０２は、コンパイル及びリンクの処理の結果生成される。図３からわかるように、このシンボルテーブル３０２は、デバイス名と、変数（高レベルプログラムで宣言される）と、メモリ内の物理アドレスとの対応を含む。
【００２０】
シンボルテーブル３０２は、列３１１、３１２、３１３、３１４、３１５、および３１６を有する。列３１１はデバイス名（デバイスメモリ名）を記述し、列３１２はデバイス番号（デバイス＃）を記述し、列３１３はデータ型またはデータ単位を記述し、列３１４は列３１３のデータ型の情報量を記述し、列３１５はデバイスに関連付けられた変数名を記述する。シンボルテーブル３０２からわかるように、デバイスＤ２００（コントローラの温度センサーにより測定される温度を記述）は、高レベルプログラム内で変数「Temperature_in_system」と表される。更に、変数「Temperature_in_system」には、新型コントローラ内の物理アドレスを記述した列３１６に見られるようにコントローラメモリ内で物理アドレス（#Address3）が割り当てられる。
【００２１】
図４は、コンパイル・リンク後のコントローラのメモリ構成を示している。図４に示すように、シンボルテーブル３０２はコントローラのメモリ内に記憶される。
【００２２】
図５は、デバイス名、変数名、および物理アドレス間の対応を記憶するシンボルテーブルを作成する方法を示す。Ｓ５０１で、高レベルプログラムおよび関連テーブル（例えば３０１）がコンパイル部により読み取られる。コンパイル部は、各高レベルプログラムおよび関連テーブルのアセンブリ言語ファイルを生成する。Ｓ５０２で、リンク部は高レベルプログラムで宣言される各変数に物理アドレスを割り当て、関連テーブルおよびコンパイルされた高レベルプログラムを読み取ることによりシンボルテーブル３０２を作成する。ステップＳ５０３で、コンパイル部は生成されたシンボルテーブル３０２をコントローラのメモリに記憶する。
【００２３】
高レベル言語プログラムをコンパイルおよびリンクさせてオブジェクトファイルおよびシンボルファイルを生成するコントローラ１０２の外部には、高レベル言語処理ツール（プログラミングツール４００）を設けることができる。つまり、プログラミングツール４００は図５に示すプロセスを行う。プログラミングツール４００は、入力として関連テーブル３０１および高レベルプログラムを受信し、後にコントローラにダウンロードされるシンボルテーブル３０２を出力してもよい。プログラミングツールは、ソースプログラムをコンパイルおよびリンクさせ、デバイスの関連テーブルと変数名とをコンパイルおよびリンクさせ、シンボルテーブルを生成する。つまり、プログラミングツール４００は、シンボルテーブル３０２を含む実行ファイルを準備し実行ファイルをＰＬＣへとダウンロードする。
【００２４】
ここで、図３を参照して、プログラミングツール４００により行われるリンクプロセスを詳細に説明する。プログラミングツール４００は、プログラミングツール４００へ入力される高レベル言語ソースプログラム２１をコンパイルする高レベル言語プログラムコンパイル部４０１を含む。高レベル言語ソースプログラム２１は、高レベルプログラミング言語で書かれたプログラムである。高レベル言語プログラムコンパイル部４０１は、オブジェクトモジュール２４（オブジェクトファイル２４）を出力する。オブジェクトファイル２４は、高レベル言語ソースプログラム２１に対応する。オブジェクトファイル２４は、高レベル言語ソースプログラム２１のソースコードからコンパイルされた機械用指令コードと高レベル言語ソースプログラム２１で用いられる変数を表すシンボル情報とを含む。
【００２５】
プログラミングツール４００は、更に、オブジェクトファイル２４と他のオブジェクトファイルとを統合してユーザーライブラリ２６を作成するライブラリアン４０２を備える。プログラミングツール４００に含まれるリンク部４０３は、オブジェクトファイル２４と、ユーザーライブラリ２６と、高レベル言語プログラム標準ライブラリ２７とをリンクさせてロードモジュール２９とシンボルテーブル３０２とを作成する。高レベル言語プログラム標準ライブラリ２７は、頻繁に用いられるサブルーチンの機械指令コードを含む。主に、高レベル言語プログラム標準ライブラリ２７は、高レベル言語プログラムコンパイル部４０１のプロバイダにより提供される。しかし、ユーザーが、自身の標準ライブラリを準備することもできる。シンボルテーブル３０２は、デバイス間の関係の定義の列またはリストと、変数と、物理アドレスとを含む。
【００２６】
次に、周辺機器１０１からコントローラ１０２へのデータ読み取り要求に対応する処理を説明する。Ｓ６０１でコントローラは、コントローラ内に備えられたまたはコントローラにより制御されるデバイスの情報の要求を受信する。この要求は、デバイスのステータスを読み取る要求であってもよい。Ｓ６０２で、コントローラは、メモリからシンボルテーブル３０２を読み込む。Ｓ６０３で、コントローラは、シンボルテーブル３０２に基づいてデバイスの物理アドレスを判定する。Ｓ６０４で、コントローラは、メモリ内の物理アドレスに記憶されるデータを読み取り、Ｓ６０５で、読み取った情報を要求元の周辺機器へと送信する。
【００２７】
なお、独立したプログラムをコントローラに記憶させ、そのプログラムがシンボルテーブルを読み込んでコントローラのメモリから物理アドレスを読み取ることとしてもよい。
【００２８】
次に、周辺機器１０１からコントローラ１０２へのデータ書き込み要求を処理する処理を説明する。Ｓ７０１で、コントローラは、コントローラ内に備えられたまたはコントローラにより制御されるデバイスに対するデータ書き込みの要求を受信する。Ｓ７０２で、コントローラはメモリからシンボルテーブル３０２を読み取る。Ｓ７０３で、コントローラはシンボルテーブル３０２に基づいてデバイスの物理アドレスを判定する。Ｓ７０４で、コントローラは読み取ったメモリ内の物理位置にデータを書き込む。
【００２９】
図８は、図６および図７の処理を実施するコントローラ８００（コントローラ１０２）の構成の一例を示す。コントローラ８００は、周辺機器から要求を受信して要求の内容を判定する要求受信部８０１を備える。シンボルテーブル読み取り部８０２は、コントローラのメモリに記憶されたシンボルテーブル３０２を読み取る。物理アドレス読み取り／書き込み部８０３は、シンボルテーブル３０２および受信要求に基づいて、コントローラのメモリ位置に対しデータの読み取りまたは書き込みを行う。
【００３０】
コントローラのメモリは、記憶媒体の限定的リストから構成されてもよく、記憶媒体は、１以上のワイヤを有する電気接続、フレキシブルディスクなどのポータブルコンピュータディスケット、磁気テープや他の磁気媒体、ハードディスク、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＥＰＰＥＯＭ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙやＦｌａｓｈメモリ）、メモリカード、他のメモリチップやメモリカートリッジ、光ファイバ、ポータブルＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、他の光学媒体、パンチカード、ペーパーテープ、他のホールパターンを有する物理媒体、コンピュータ／コントローラが読み取りを行うことができる他の媒体、または前述したものを適切に組み合わせたものを含む。
【００３１】
更に、要求受信部８０１、シンボルテーブル読み取り部８０２、および物理アドレス読み取り／書き込み部８０３はプロセッサを用いて実装してもよい。
【００３２】
上記実施の形態は、高レベルプログラムを実行し、更に、周辺機器からのデバイスに対して読み取りまたは書き込みを行うデバイス名を指定した要求を処理することができる新たなコントローラを提供する。新型コントローラは、シンボルテーブルを読み取り、デバイス名を、読み取りまたは書き込みが可能な物理アドレスへと変換する。これにより、新型コントローラは、ミドルウェアや周辺機器の更新を必要とせずに周辺機器からのデータアクセスの要求に対応することができる。シンボルテーブルは、プログラミングツールにより外部で用意することとし、プログラミングツールによりコントローラへとダウンロードされるとしてもよい。
【００３３】
プログラミングツール４００は、高レベル言語プログラムコンパイル部４０１、ライブラリアン４０２、およびリンク部４０３のタスクを行う、特定用途向け集積回路やデジタル信号プロセッサなどのプロセッサを備えてもよい。また、プログラミングツール４００は、ＰＬＣと通信するための適切な手段を備えてもよい。例えば、プログラミングツール４００は、ＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）を介してＰＬＣと通信してもよい。
【００３４】
更に、図５〜７で説明した処理は、有形のコンピュータ読み取り可能な記憶媒体に記憶される指示に応じて操作する特定用途のコンピュータにより実施されてもよい。
【００３５】
上記の例示の実施の形態は、単なる例であり、本発明を限定するものとは解釈されない。本教示は他の種類の装置にも容易に適用することができる。また、本発明の実施の形態の記載は説明を目的としたものであり、特許請求の範囲を限定するものではない。また、多くの代替、改良、変更は当業者にとって容易である。
【符号の説明】
【００３６】
２１  高レベル言語ソースプログラム
２４  オブジェクトファイル
２６  ユーザーライブラリ
２７  高レベル言語プログラム標準ライブラリ
２９  ロードモジュール
１００  生産システム
１０１  周辺機器
１０２、８００  コントローラ
１０３  ネットワーク
２０１、３０２  シンボルテーブル
３０１  関連テーブル
３１１〜３１６  列
４００  プログラミングツール
４０１  高レベル言語プログラムコンパイル部
４０２  ライブラリアン
４０３  リンク部
８０１  要求受信部
８０２  シンボルテーブル読み取り部
８０３  物理アドレス読み取り／書き込み部
【図１】
2013005350.tif 000003
【図２】
2013005350.tif 000004
【図３】
2013005350.tif 000005
【図４】
2013005350.tif 000006
【図５】
2013005350.tif 000007
【図６】
2013005350.tif 000008
【図７】
2013005350.tif 000009
【図８】
2013005350.tif 000010
【手続補正書】
【提出日】平成24年2月24日(2012.2.24)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
高レベル言語プログラムを実行するプログラマブルロジックコントローラのシンボルテーブルを生成する方法の一例を提供する。この方法は、高レベル言語プログラムと、上記プログラマブルロジックコントローラにより制御されるデバイスと上記高レベル言語プログラム内の変数名との関係を規定する関連テーブルと、を読み取るステップと、上記高レベル言語プログラムと上記関連テーブルとをコンパイルしリンクすることによって、上記高レベル言語プログラム内の変数に前記プログラマブルロジックコントローラのメモリの物理アドレスを割り当てるステップと、上記関連テーブルと前記変数に割り当てられた物理アドレスとに基づいて、デバイスと物理アドレスとの対応関係をデバイス毎に定義するシンボルテーブルを生成するステップと、上記シンボルテーブルを上記プログラマブルロジックコントローラのメモリに記憶するステップと、を含む。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
高レベル言語プログラムを実行するプログラマブルロジックコントローラのシンボルテーブルを生成するシンボルテーブル生成方法であって、
高レベル言語プログラムと、前記プログラマブルロジックコントローラにより制御されるデバイスと前記高レベル言語プログラム内の変数名との関係を規定する関連テーブルと、を読み取るステップと、
前記高レベル言語プログラムと前記関連テーブルとをコンパイルしリンクすることによって、前記高レベル言語プログラム内の変数に前記プログラマブルロジックコントローラのメモリの物理アドレスを割り当てるステップと、
前記関連テーブルと前記変数に割り当てられた物理アドレスとに基づいて、デバイスと物理アドレスとの対応関係をデバイス毎に定義する前記シンボルテーブルを生成するステップと、
前記シンボルテーブルを前記プログラマブルロジックコントローラのメモリに記憶するステップと、
を含むことを特徴とするシンボルテーブル生成方法。
【請求項２】
高レベル言語プログラムを実行するプログラマブルロジックコントローラによる周辺機器との通信方法であって、
高レベル言語プログラムと、前記プログラマブルロジックコントローラにより制御されるデバイスと前記高レベル言語プログラム内の変数名との関係を規定する関連テーブルと、を読み取るステップと、前記高レベル言語プログラムと前記関連テーブルとをコンパイルしリンクすることによって、前記高レベル言語プログラム内の変数に前記プログラマブルロジックコントローラのメモリの物理アドレスを割り当てるステップと、前記関連テーブルと前記変数に割り当てられた物理アドレスとに基づいて、デバイスと物理アドレスとの対応関係をデバイス毎に定義する前記シンボルテーブルを生成するステップと、により生成された前記シンボルテーブルを前記プログラマブルロジックコントローラのメモリに予め記憶するステップと、
前記デバイスに対し読み取りまたは書き込みを行う要求を前記周辺機器から受信するステップと、
前記メモリが記憶するシンボルテーブルに基づいて、前記読み取り要求または書き込み要求されたデバイスに対応する前記プログラマブルロジックコントローラのメモリ内の物理アドレスを判定するステップと、
前記判定された物理アドレスに対し読み取りまたは書き込みを行うステップと、
を含むことを特徴とする周辺機器との通信方法。
【請求項３】
デバイスを制御するための高レベル言語プログラムを実行するプログラマブルロジックコントローラであって、
メモリであって、高レベル言語プログラムと、前記プログラマブルロジックコントローラにより制御されるデバイスと前記高レベル言語プログラム内の変数名との関係を規定する関連テーブルと、を読み取るステップと、前記高レベル言語プログラムと前記関連テーブルとをコンパイルしリンクすることによって、前記高レベル言語プログラム内の変数に前記メモリの物理アドレスを割り当てるステップと、前記関連テーブルと前記変数に割り当てられた物理アドレスとに基づいて、デバイスと物理アドレスとの対応関係をデバイス毎に定義する前記シンボルテーブルを生成するステップと、により生成された前記シンボルテーブルを予め記憶するメモリと、
前記デバイスに対し読み取りまたは書き込みを行う要求を周辺デバイスから受信する要求受信部と、
前記メモリが記憶するシンボルテーブルに基づいて、前記読み取り要求または書き込み要求されたデバイスに対応する前記メモリ内の物理アドレスを判定するシンボルテーブル読み取り部と、
前記判定された物理アドレスに対し読み取りまたは書き込みを行う物理アドレス読み取り／書き込み部と、
を備えることを特徴とするプログラマブルロジックコントローラ。
【請求項４】
前記要求は前記デバイスの名称を含み、
前記シンボルテーブルは、前記デバイスの前記名称と、前記デバイスに対応し前記高レベル言語プログラムで使用される変数名と、前記変数名に対応する前記プログラマブルロジックコントローラの前記メモリ内の物理アドレスとの関係を定義することを特徴とする請求項２に記載の周辺機器との通信方法。
【請求項５】
前記要求は前記デバイスの名称を含み、
前記シンボルテーブルは、前記デバイスの前記名称と、前記デバイスに対応し前記高レベル言語プログラムで使用される変数名と、前記変数名に対応する前記プログラマブルロジックコントローラの前記メモリ内の物理アドレスとの関係を定義することを特徴とする請求項３に記載のプログラマブルロジックコントローラ。
【手続補正書】
【提出日】平成24年7月6日(2012.7.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
高レベル言語プログラムを実行するプログラマブルロジックコントローラのシンボルテーブルを生成する方法の一例を提供する。この方法は、高レベル言語プログラムと、上記プログラマブルロジックコントローラにより制御されるデバイスと上記高レベル言語プログラム内の変数名との関係を規定する関連テーブルと、を読み取るステップと、上記高レベル言語プログラムと上記関連テーブルとをコンパイルしリンクすることによって、上記高レベル言語プログラム内の変数に前記プログラマブルロジックコントローラのメモリの物理アドレスを割り当てるステップと、上記関連テーブルと前記変数に割り当てられた物理アドレスとに基づいて、デバイスと当該デバイスに対応する変数に割り当てられた物理アドレスとの対応関係をデバイス毎に定義するシンボルテーブルを生成するステップと、上記シンボルテーブルを上記プログラマブルロジックコントローラのメモリに記憶するステップと、を含む。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
高レベル言語プログラムを実行するプログラマブルロジックコントローラのシンボルテーブルを生成するシンボルテーブル生成方法であって、
高レベル言語プログラムと、前記プログラマブルロジックコントローラにより制御されるデバイスと前記高レベル言語プログラム内の変数名との関係を規定する関連テーブルと、を読み取るステップと、
前記高レベル言語プログラムと前記関連テーブルとをコンパイルしリンクすることによって、前記高レベル言語プログラム内の変数に前記プログラマブルロジックコントローラのメモリの物理アドレスを割り当てるステップと、
前記関連テーブルと前記変数に割り当てられた物理アドレスとに基づいて、デバイスと当該デバイスに対応する変数に割り当てられた物理アドレスとの対応関係をデバイス毎に定義する前記シンボルテーブルを生成するステップと、
前記シンボルテーブルを前記プログラマブルロジックコントローラのメモリに記憶するステップと、
を含むことを特徴とするシンボルテーブル生成方法。
【請求項２】
高レベル言語プログラムを実行するプログラマブルロジックコントローラによる周辺機器との通信方法であって、
高レベル言語プログラムと、前記プログラマブルロジックコントローラにより制御されるデバイスと前記高レベル言語プログラム内の変数名との関係を規定する関連テーブルと、を読み取るステップと、前記高レベル言語プログラムと前記関連テーブルとをコンパイルしリンクすることによって、前記高レベル言語プログラム内の変数に前記プログラマブルロジックコントローラのメモリの物理アドレスを割り当てるステップと、前記関連テーブルと前記変数に割り当てられた物理アドレスとに基づいて、デバイスと当該デバイスに対応する変数に割り当てられた物理アドレスとの対応関係をデバイス毎に定義する前記シンボルテーブルを生成するステップと、により生成された前記シンボルテーブルを前記プログラマブルロジックコントローラのメモリに予め記憶するステップと、
前記デバイスに対し読み取りまたは書き込みを行う要求を前記周辺機器から受信するステップと、
前記メモリが記憶するシンボルテーブルに基づいて、前記読み取り要求または書き込み要求されたデバイスに対応する前記プログラマブルロジックコントローラのメモリ内の物理アドレスを判定するステップと、
前記判定された物理アドレスに対し読み取りまたは書き込みを行うステップと、
を含むことを特徴とする周辺機器との通信方法。
【請求項３】
デバイスを制御するための高レベル言語プログラムを実行するプログラマブルロジックコントローラであって、
メモリであって、高レベル言語プログラムと、前記プログラマブルロジックコントローラにより制御されるデバイスと前記高レベル言語プログラム内の変数名との関係を規定する関連テーブルと、を読み取るステップと、前記高レベル言語プログラムと前記関連テーブルとをコンパイルしリンクすることによって、前記高レベル言語プログラム内の変数に前記メモリの物理アドレスを割り当てるステップと、前記関連テーブルと前記変数に割り当てられた物理アドレスとに基づいて、デバイスと当該デバイスに対応する変数に割り当てられた物理アドレスとの対応関係をデバイス毎に定義する前記シンボルテーブルを生成するステップと、により生成された前記シンボルテーブルを予め記憶するメモリと、
前記デバイスに対し読み取りまたは書き込みを行う要求を周辺デバイスから受信する要求受信部と、
前記メモリが記憶するシンボルテーブルに基づいて、前記読み取り要求または書き込み要求されたデバイスに対応する前記メモリ内の物理アドレスを判定するシンボルテーブル読み取り部と、
前記判定された物理アドレスに対し読み取りまたは書き込みを行う物理アドレス読み取り／書き込み部と、
を備えることを特徴とするプログラマブルロジックコントローラ。
【請求項４】
前記要求は前記デバイスの名称を含み、
前記シンボルテーブルは、前記デバイスの前記名称と、前記デバイスに対応し前記高レベル言語プログラムで使用される変数名と、前記変数名に対応する前記プログラマブルロジックコントローラの前記メモリ内の物理アドレスとの関係を定義することを特徴とする請求項２に記載の周辺機器との通信方法。
【請求項５】
前記要求は前記デバイスの名称を含み、
前記シンボルテーブルは、前記デバイスの前記名称と、前記デバイスに対応し前記高レベル言語プログラムで使用される変数名と、前記変数名に対応する前記プログラマブルロジックコントローラの前記メモリ内の物理アドレスとの関係を定義することを特徴とする請求項３に記載のプログラマブルロジックコントローラ。
【国際調査報告】
2013005350.tif 000011
2013005350.tif 000012