(57)【特許請求の範囲】
【請求項１】
プログラマブルコントローラと、前記プログラマブルコントローラと通信可能に接続されたプログラム表示装置と、を備えたプログラマブルコントローラシステムであって、
前記プログラマブルコントローラは、
外部機器を制御する命令を一義的に識別する命令番号を用いて記述されたプログラムと、
前記命令番号に対応した名称である命令名と前記命令番号との関連付けを定義して前記プログラム表示装置に保持される命令名変換テーブルに存在しない未対応命令番号について、前記命令番号と前記命令名との関連付けを定義する追加命令情報テーブルと、
前記未対応命令番号を前記追加命令情報テーブルに基づいて前記命令名に変換する第１変換部と、
を備え、
前記プログラム表示装置は、
前記命令名変換テーブルと、
前記プログラマブルコントローラから前記プログラムを受け取り、前記プログラムに記述された前記命令番号を前記命令名変換テーブルに基づいて前記命令名に変換する第２変換部と、
前記プログラムに記述された前記命令番号のうち前記未対応命令番号に対応する前記命令名を、前記追加命令情報テーブルに基づいて取得する未対応命令名取得部と、
前記第２変換部で変換された前記命令名および前記未対応命令名取得部が取得した前記命令名を表示する表示部と、
を備えること、
を特徴とするプログラマブルコントローラシステム。
【請求項２】
前記未対応命令名取得部は、前記未対応命令番号に対応する前記命令名を前記プログラマブルコントローラから取得すること、
を特徴とする請求項１に記載のプログラマブルコントローラシステム。
【請求項３】
前記未対応命令名取得部は、前記未対応命令番号に対応する前記命令名を前記プログラマブルコントローラに要求し、
前記第１変換部は、前記要求に対応して前記追加命令情報テーブルに基づいて前記未対応命令番号に対応する前記命令名を前記プログラム表示装置に送信すること、
を特徴とする請求項２に記載のプログラマブルコントローラシステム。
【請求項４】
前記プログラム表示装置は、
前記追加命令情報テーブルを前記プログラマブルコントローラから読み出す読み出し部と、
前記追加命令情報テーブルを格納する記憶部と、
を備え、
前記未対応命令名取得部は、前記プログラムにおいて前記未対応命令番号が発生した場合に、該未対応命令番号に対応する前記命令名を前記記憶部に格納された前記追加命令情報テーブルに基づいて取得すること、
を特徴とする請求項１に記載のプログラマブルコントローラシステム。
【請求項５】
前記追加命令情報テーブルは、前記プログラムを編集可能な外部機器により書き換えが不可能な、不揮発性メモリにおけるシステム領域に格納されること、
を特徴とする請求項１から４のいずれか１つに記載のプログラマブルコントローラシステム。
【請求項６】
前記プログラム表示装置の機能をバージョンアップするために前記プログラム表示装置に保持されるバージョンアップデータに、前記未対応命令番号に対応する前記命令名が含まれないこと、
を特徴とする請求項１から５のいずれか１つに記載のプログラマブルコントローラシステム。
【請求項７】
前記プログラム表示装置は、前記プログラムのコンパイル元のソースコードを保持していないこと、
を特徴とする請求項１から６のいずれか１つに記載のプログラマブルコントローラシステム。
【請求項８】
前記プログラムにおいて、前記命令番号が既定のデータサイズで記述されていること、
を特徴とする請求項１から７のいずれか１つに記載のプログラマブルコントローラシステム。
【請求項９】
外部機器を制御する命令を一義的に識別する命令番号を用いて記述されたプログラムを保持するプログラマブルコントローラと通信可能に接続されてプログラマブルコントローラシステムを構成するプログラム表示装置であって、
前記命令番号に対応した名称である命令名と前記命令番号との関連付けを定義した命令名変換テーブルと、
前記プログラマブルコントローラから前記プログラムを受け取り、前記プログラムに記述された前記命令番号を前記命令名変換テーブルに基づいて前記命令名に変換する変換部と、
前記プログラムに記述された前記命令番号のうち前記命令名変換テーブルに存在しない未対応命令番号に対応する前記命令名を、前記プログラマブルコントローラに保持されて前記命令名変換テーブルに存在しない前記命令番号について前記命令番号と前記命令名との関連付けを定義する追加命令情報テーブルに基づいて取得する未対応命令名取得部と、
前記変換部で変換された前記命令名および前記未対応命令名取得部が取得した前記命令名を表示する表示部と、
を備えること、
を特徴とするプログラム表示装置。
【請求項１０】
前記未対応命令名取得部は、前記追加命令情報テーブルを保持する前記プログラマブルコントローラから前記未対応命令番号に対応する前記命令名を取得すること、
を特徴とする請求項９に記載のプログラム表示装置。
【請求項１１】
前記追加命令情報テーブルを保持する前記プログラマブルコントローラから前記追加命令情報テーブルを読み出す読み出し部と、
前記追加命令情報テーブルを格納する記憶部と、
を備え、
前記未対応命令名取得部は、前記プログラムにおける前記未対応命令番号について、該未対応命令番号に対応する前記命令名を前記記憶部に格納された前記追加命令情報テーブルに基づいて取得すること、
を特徴とする請求項９に記載のプログラム表示装置。
【請求項１２】
前記プログラム表示装置の機能をバージョンアップするために前記プログラム表示装置に保持されるバージョンアップデータに、前記未対応命令番号に対応する前記命令名が含まれないこと、
を特徴とする請求項９から１１のいずれか１つに記載のプログラム表示装置。
【請求項１３】
前記プログラム表示装置は、前記プログラムのコンパイル元のソースコードを保持していないこと、
を特徴とする請求項９から１２のいずれか１つに記載のプログラム表示装置。
【請求項１４】
前記プログラムにおいて、前記命令番号が既定のデータサイズで記述されていること、
を特徴とする請求項９から１３のいずれか１つに記載のプログラム表示装置。
【請求項１５】
外部機器を制御する命令を一義的に識別する命令番号を用いて記述されたプログラムを保持し、プログラム表示装置と通信可能に接続されてプログラマブルコントローラシステムを構成するプログラマブルコントローラであって、
前記命令番号に対応した名称である命令名と前記命令番号との関連付けを定義して前記プログラム表示装置に保持される命令名変換テーブルに存在しない未対応命令番号について、前記命令番号と前記命令名との関連付けを定義する追加命令情報テーブルと、
前記プログラム表示装置からの要求に対応して、前記追加命令情報テーブルに基づいて前記未対応命令番号を前記命令名に変換して前記プログラム表示装置に送信する変換部と、
を備えることを特徴とするプログラマブルコントローラ。
【請求項１６】
前記追加命令情報テーブルは、前記プログラムを編集可能な外部機器により書き換えが不可能な、不揮発性メモリにおけるシステム領域に格納されること、
を特徴とする請求項１５に記載のプログラマブルコントローラ。
【請求項１７】
外部機器を制御する命令を一義的に識別する命令番号を用いて記述されたプログラムをプログラム表示装置に表示するプログラムの表示方法であって、
前記プログラムに記述された前記命令番号を、前記プログラム表示装置に保持されて前記命令番号に対応した名称である命令名と前記命令番号との関連付けを定義した命令名変換テーブルに基づいて前記命令名に変換する第１工程と、
前記プログラムに記述された前記命令番号のうち前記命令名変換テーブルに存在しない未対応命令番号に対応する前記命令名を、プログラマブルコントローラに保持されて前記命令名変換テーブルに存在しない前記命令番号について前記命令番号と前記命令名との関連付けを定義する追加命令情報テーブルに基づいて取得する第２工程と、
前記第１工程で変換した前記命令名および前記第２工程で取得した前記命令名を表示する第３工程と、
を含むことを特徴とするプログラムの表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、プログラマブルコントローラシステム、プログラマブルコントローラ、プログラム表示装置、プログラムの表示方法に関する。
【背景技術】
【０００２】  プログラム表示装置は、制御装置であるＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）に接続されて、ＰＬＣが保持するプログラムリスト等の情報を表示する。例えばＰＬＣによる被制御装置の制御においてトラブルが生じた場合、オペレータは、ＰＬＣが保持するプログラムリストをプログラム表示装置に表示させて、トラブルの原因究明などの検証を行う。【０００３】  ＰＬＣが保持するプログラムリストをプログラム表示装置において表示するには、まずプログラム表示装置がＰＬＣからプログラムリストを取得する。プログラムリストは、例えば「命令番号＋デバイスコード」の形式により構成されている。【０００４】  プログラム表示装置は、プログラム表示装置内に備える命令名変換テーブルを参照して、プログラムリストの命令番号を命令名に変換して、デバイスコードとともに表示する。命令名変換テーブルは、命令名と命令番号との関連付けを定義するテーブルである。命令名変換テーブルにおいて命令番号を検索することにより、命令番号に該当する命令名を特定することができる。これにより、プログラムリストが、「命令名＋デバイス番号」の命令名形式の表示形式に置き換えられて、プログラム表示装置に表示される。【０００５】  しかしながら、プログラムリスト中の命令が、プログラム表示装置の保持する命令名変換テーブルに対応していない場合は、プログラム表示装置に命令名形式で表示できない。例えば工場設備の更新などによりＰＬＣが新しいバージョンの製品に更新されるが、該ＰＬＣに付帯するプログラム表示装置は更新されない場合がある。このような場合は、新しいバージョンのＰＬＣに追加されたプログラムリスト中の新たな命令名を、更新されていないプログラム表示装置では表示できない、という問題が発生する。【０００６】  例えば、プログラム表示装置は命令番号：１０００ｈ〜１ＦＦＦｈに対応しており、ＰＬＣは命令番号：１０００ｈ〜２ＦＦＦｈに対応しているものとする。この場合は、ＰＬＣ内のプログラムリストに含まれる命令番号２１００ｈは、プログラム表示装置の命令名変換テーブル内に存在しない。このため、プログラム表示装置は、命令番号２１００ｈの命令コードを特定できない。そして、プログラム表示装置は、命令番号２１００ｈに該当する命令名を表示できず、例えば命令名不明などを示す“？？？”などの記号を表示する。【０００７】  上記のような問題は、ＰＬＣのシステムプログラムの追加等による新たな機能の追加によりＰＬＣとその周辺装置との仕様の違いにより発生する。システムプログラムの追加に関する技術としては、例えば特許文献１では、プログラマブル・ロジックコントローラ及びプログラマブル・ロジックコントローラのロジック更新支援ツールに関して、支援端末装置からシステムライブラリの機能群の追加コマンドが入力されると、支援端末装置は機能群１に追加すべき機能群２の情報を併せたシステムライブラリオブジェクトを作成している。そして、このシステムライブラリオブジェクトは、オブジェクトプログラムの一部として実行される時以外の読み出しができないＰＬＣの記憶部にダウンロードされ、システムライブラリオブジェクトを更新するこ��によりＰＬＣアプリケーションが実行されている。これにより、ＰＬＣとその周辺装置との仕様の違いによる相互間の作業が可能となる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−１８７１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】  しかしながら、上記従来の技術では、プログラムリスト中の命令がプログラム表示装置に対応していない場合における、プログラム表示装置でのプログラムリストの命令名形式での表示には対応できない。【００１０】  本発明は、上記に鑑みてなされたものであって、プログラム表示装置に対応していないプログラムリストを、プログラム表示装置において容易に命令名形式で表示可能なプログラマブルコントローラシステム、該プログラマブルコントローラシステムを実現可能なプログラマブルコントローラおよびプログラム表示装置、プログラムの表示方法を得ることを目的とする。
【課題を解決するための手段】
【００１１】  上述した課題を解決し、目的を達成するために、本発明にかかるプログラマブルコントローラシステムは、プログラマブルコントローラと、前記プログラマブルコントローラと通信可能に接続されたプログラム表示装置と、を備えたプログラマブルコントローラシステムであって、前記プログラマブルコントローラは、外部機器を制御する命令を一義的に識別する命令番号を用いて記述されたプログラムと、前記命令番号に対応した名称である命令名と前記命令番号との関連付けを定義して前記プログラム表示装置に保持される命令名変換テーブルに存在しない未対応命令番号について、前記命令番号と前記命令名との関連付けを定義する追加命令情報テーブルと、前記未対応命令番号を前記追加命令情報テーブルに基づいて前記命令名に変換する第１変換部と、を備え、前記プログラム表示装置は、前記命令名変換テーブルと、前記プログラマブルコントローラから前記プログラムを受け取り、前記プログラムに記述された前記命令番号を前記命令名変換テーブルに基づいて前記命令名に変換する第２変換部と、前記プログラムに記述された前記命令番号のうち前記未対応命令番号に対応する前記命令名を、前記追加命令情報テーブルに基づいて取得する未対応命令名取得部と、前記第２変換部で変換された前記命令名および前記未対応命令名取得部が取得した前記命令名を表示する表示部と、を備えること、を特徴とする。
【発明の効果】
【００１２】  本発明によれば、プログラム表示装置に対応していないプログラムリストをプログラム表示装置において容易に命令名形式で表示可能となる、という効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態１にかかるプログラマブルコントローラシステムの概略構成を示す図である。
【図２】図２は、デバイスコードのデータ構成例を示す図である。
【図３】図３は、本発明の実施の形態２にかかるプログラマブルコントローラシステムの構成を示す図である。
【図４】図４は、本発明の実施の形態２においてプログラム表示装置がＰＬＣから読み出したプログラムリストを表示する際のプログラムリストおよび命令名のデータの流れを示す図である。
【図５】図５は、本発明の実施の形態２においてプログラム表示装置がプログラムリストを表示する手順の例を示すフローチャートである。
【図６】図６は、本発明の実施の形態３においてプログラム表示装置がＰＬＣから読み出したプログラムリストを表示する際の各種データの流れを示す図である。
【図７】図７は、本発明の実施の形態３においてプログラム表示装置がプログラムリストを表示する手順の例を示すフローチャートである。
【図８】図８は、実施の形態１〜３にかかるプログラム表示装置およびＰＬＣとしての機能を実現するコンピュータ装置の構成の一例を模式的に示すブロック図である。
【発明を実施するための形態】
【００１４】  以下に、本発明にかかるプログラマブルコントローラシステム、プログラマブルコントローラ、プログラム表示装置、プログラムの表示方法の実施の形態を図面に基づいて詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１５】実施の形態１  まず、実施の形態１にかかるプログラマブルコントローラシステムの概要について説明する。図１は、実施の形態１にかかるプログラマブルコントローラシステムの概略構成を示す図である。プログラマブルコントローラシステムは、例えば複数の被制御装置の制御に用いられる制御システムである。プログラマブルコントローラシステムは、プログラム表示装置１００、制御装置であるＰＬＣ２００を備える。なお、本明細書においてオペレータとは、プログラム表示装置１００を操作する人を意味する。
【００１６】  ＰＬＣ２００は、プログラム表示装置１００および複数の被制御装置３０１〜３０３に接続されている。ＰＬＣ２００は、命令番号とデバイスコードとにより構成されるプログラムリスト２１１をＰＬＣ２００内のメモリのユーザ領域に備え、該プログラムリスト２１１に従って複数の被制御装置３０１〜３０３を制御する。プログラムリスト２１１については、後述する。
【００１７】  プログラム表示装置１００は、ＰＬＣ２００に通信可能に接続されている。プログラム表示装置１００は、ＰＬＣ２００が保持するプログラムリスト２１１の内容を命令名形式で表示する。プログラム表示装置１００にプログラムリスト２１１の内容を命令名形式で表示させることにより、オペレータは例えばＰＬＣ２００が保持するプログラムリスト２１１の確認およびプログラマブルコントローラシステムにおけるトラブル発生時の原因究明等を行うことができる。
【００１８】  つぎに、プログラムリスト２１１について説明する。プログラムリスト２１１は、外部機器である被制御装置３０１〜３０３を制御する命令を一義的に識別する命令番号を用いてプログラムが記述されたリストである。ＰＬＣ２００において、プログラムリスト２１１は、必要に応じて１つまたは複数が保持される。プログラムリスト２１１は、命令番号とデバイスコードとにより構成されるデータであるプログラムの集合である。命令番号およびデバイスコードは、例えば１６進数で表記される。以下では、数字の後にｈを記載して１６進数を示す場合がある。命令番号は、ＰＬＣ２００が実行できる命令を一意に特定して表現する数値である。すなわち、１つの命令番号により、ＰＬＣ２００が実行できる命令のうちの１つの命令が一義的に特定される。
【００１９】  図１に示されるプログラムリスト２１１では、左側に記載されている４桁の文字列が命令番号であり、命令番号よりも右側に記載されている４桁の文字列がデバイスコードである。例えば図１に示されるプログラムリスト２１１には、「１０００  １０３７」のデータが含まれる。このデータでは、「１０００」が命令番号であり、「１０３７」がデバイスコードである。デバイスコードは、ＰＬＣ２００が実行できる命令の演算対象であるデバイスメモリのアドレスおよびビット番号を示す情報である。図２は、デバイスコードのデータ構成例を示す図である。図２に示すデバイスコードは、デバイスメモリのアドレス（１０３）とビットＮｏ（７）とで構成される。このように、プログラムリスト２１１に命令番号を埋め込む形式の場合は、命令の種別に因らず命令番号のサイズを固定できる。
【００２０】  ＰＬＣ２００に格納されているプログラムリスト２１１をプログラム表示装置１００の表示画面１１２に表示する場合は、まずプログラム表示装置１００はプログラムリスト２１１をＰＬＣ２００から読み出す。そして、プログラム表示装置１００は、プログラム表示装置１００内部の命令名変換テーブル１１１を用いてプログラムリスト２１１内の命令番号を命令名に変換して、表示する。また、プログラム表示装置１００は、プログラム表示装置１００内部のデバイス番号変換テーブル１１３を用いてプログラムリスト２１１内のデバイスコードをデバイス番号に変換して、表示する。図１において表示画面１１２に表示している「ＬＤ」、「ＭＯＶ」、「ＩＮＣ」は、ＰＬＣ２００が実行できる命令を示す名称であり、命令名と称する。図１において表示画面１１２に表示している「Ｘ３７」、「Ｄ０」、「Ｄ１０」、Ｄ２０」は、ＰＬＣ２００が実行できる命令の演算対象であるデバイスメモリのアドレスを示す番号であり、デバイス番号と称する。
【００２１】  命令名変換テーブル１１１は、命令名と命令番号との関連付けを定義するテーブルである。プログラム表示装置１００は、命令名変換テーブル１１１においてプログラムリスト２１１内の命令番号を検索することにより、該命令番号に該当する命令名を特定することができる。デバイス番号変換テーブル１１３は、デバイスコードとデバイス番号との関連付けを定義するテーブルである。プログラム表示装置１００は、デバイス番号変換テーブル１１３においてプログラムリスト２１１内のデバイスコードを検索することにより、該デバイスコードに該当するデバイス番号の先頭文字を特定することができる。これにより、プログラムリスト２１１が、「命令名＋デバイス番号」の命令名形式の表示形式に置き換えられる。
【００２２】  図１に示す例においては、プログラムリスト２１１の命令番号「１０８０ｈ」が命令名変換テーブル１１１により「ＩＮＣ」命令の命令番号であることがわかる。したがって、表示画面１１２は、プログラムリスト２１１の命令番号「１０８０ｈ」から変換された命令名「ＩＮＣ」を表示することができる。
【００２３】  また、図１に示す例においては、プログラムリスト２１１のデバイスコード「３１４０ｈ」がデバイス番号変換テーブル１１３を用いて「Ｄ２０」のデバイス番号であることがわかる。デバイスコードをデバイス番号に変換する場合、デバイスコードの１０００番台の数字、すなわちデバイスメモリアドレスの１００番台の数字が、デバイス番号変換テーブル１１３を用いた変換によりデバイス番号の先頭の文字に変換される。また、デバイスコードの１００番台および１０番台の数字、すなわちデバイスメモリアドレスの１０番台および１番台の数字が１６進数から１０進数に変換される。これにより、プログラム表示装置１００は、ＰＬＣ２００内のプログラムリスト２１１を「命令名＋デバイス番号」の表示形式に置き換えて表示することができる。
【００２４】  ここで、プログラム表示装置１００は命令番号：「１０００ｈ〜１ＦＦＦｈ」に対応しており、ＰＬＣ２００は命令番号：「１０００ｈ〜２ＦＦＦｈ」に対応しているものとする。この場合は、ＰＬＣ２００内のプログラムリスト２１１に含まれる命令番号：「２１００ｈ」は、プログラム表示装置１００の命令名変換テーブル１１１内に存在しない。このため、プログラム表示装置１００は、命令番号：「２１００ｈ」に該当する命令名を特定できない。
【００２５】  そこで、本実施の形態にかかるＰＬＣ２００は、該ＰＬＣ２００内の不揮発性メモリエリアに追加命令情報テーブル２１２を格納する。追加命令情報テーブル２１２は、プログラムリスト２１１に含まれる命令のうちプログラム表示装置１００の命令名変換テーブル１１１に存在しない命令について、命令番号と命令名との関連付けを定義するテーブルである。追加命令情報テーブル２１２は、プログラムリスト２１１を格納するデータエリアであるユーザ領域およびＰＬＣ２００がプログラム実行時に使用するデータエリアであるワーク領域とは異なる、書き換え不可能な不揮発性メモリエリアであるシステム領域に格納される。ここで、書き換え不可とは、ＰＬＣ２００のユーザプログラムを編集する編集装置からの書き換え不可能を意味する。
【００２６】  プログラム表示装置１００は、ＰＬＣ２００からプログラムリスト２１１を読み出して表示画面１１２に表示する際に、プログラムリスト２１１内の命令番号がプログラム表示装置１００内の命令名変換テーブル１１１内に見つからない場合は、ＰＬＣ２００内の追加命令情報テーブル２１２から命令番号に対応する命令名を取得する。これにより、プログラム表示装置１００は、命令名変換テーブル１１１では見つからなかった命令番号を取得し、該命令番号に該当する命令名を特定して表示することができる。したがって、プログラム表示装置１００は、ＰＬＣ２００の備える追加命令情報テーブル２１２を用いることで、プログラムリスト２１１に存在していながらプログラム表示装置１００において命令名変換テーブル１１１が未対応の命令についても、命令名を表示画面１１２に表示することができる。
【００２７】  図１に示す例においては、プログラムリスト２１１の命令番号：「２１００ｈ」が追加命令情報テーブル２１２により「ＮＥＷＯＰ１」命令の命令番号であることがわかる。したがって、表示画面１１２は、プログラムリスト２１１の命令番号：「２１００ｈ」から変換された命令名：「ＮＥＷＯＰ１」を表示することができる。これにより、プログラム表示装置１００は、命令名変換テーブル１１１が未対応のプログラムリストを「命令名＋デバイス番号」の表示形式に置き換えて表示することができる。
【００２８】  このような追加命令情報テーブル２１２は、たとえばＰＬＣ２００のファームウェアのバージョンアップ時に、新たな命令が追加されたファームウェアとセットにされて、バージョンアップデータとしてユーザに提供される。そして、ユーザは、バージョンアップデータをＰＬＣ２００にインストールするのみで、上述した機能を利用できる。また、ＰＬＣ２００自体の新規製品への更新時には、新たな命令が追加されたファームウェアとともに予めＰＬＣ２００に組み込まれるため、ユーザは、特別な処理を行うこと無く、上述した機能を利用できる。
【００２９】  上述したように、実施の形態１においては、プログラム表示装置１００とＰＬＣ２００とにより構成されるプログラマブルコントローラシステムにおいて、ＰＬＣ２００が追加命令情報テーブル２１２を備える。これにより、プログラム表示装置１００の命令名変換テーブル１１１が対応していない命令がＰＬＣ２００から読み出したプログラムリスト２１１に存在する場合でも、プログラム表示装置１００は、ＰＬＣ２００から追加命令情報テーブル２１２に基づいて変換された命令名を取得することにより、命令名変換テーブル１１１が未対応の命令の命令名を表示できる。
【００３０】  また、実施の形態１においては、プログラム表示装置１００の命令名変換テーブル１１１が対応していない命令を該プログラム表示装置１００に表示させるために、プログラム表示装置１００をバージョンアップする必要がない。これは、工場設備または製造装置に据付されているプログラム表示装置において、特に有効なメリットとなる。すなわち、プログラム表示装置１００は、プログラム表示装置のバージョンアップに掛かる費用および手間ならびに設備の停止を発生させることなく、プログラム表示装置１００の命令名変換テーブル１１１が対応していない新たな命令の表示に対応することができる。
【００３１】  また、実施の形態１においては、プログラムリスト２１１をプログラム表示装置１００に表示させるために、プログラムリスト２１１および変換テーブル以外には、例えばプログラムリストのコンパイル元のソースコードなどのデータを、プログラム表示装置１００およびＰＬＣ２００のどちらにも持たなくてよい。これは、メモリ容量が少ないＰＬＣ２００において、特に有効なメリットとなる。すなわち、ＰＬＣ２００のメモリ容量を、被制御装置の制御に必要な用途に用いることができ、少ないメモリ容量を有効に活用することができる。
【００３２】実施の形態２  実施の形態２では、実施の形態１で説明した機能を実現するプログラマブルコントローラシステムの具体的な例について説明する。図３は、実施の形態２にかかるプログラマブルコントローラシステムの構成を示す図である。
【００３３】  プログラム表示装置１００は、通信部１３１、表示画面１３２、変換テーブル格納メモリ１３３、ワークメモリ１３４、制御部１３５、命令名変換テーブル１３６、デバイス番号変換テーブル１３７、プログラムリスト１３８、変換命令名１３９、追加命令情報テーブル１４０を備える。ＰＬＣ２００は、通信部２３１、デバイスメモリ２３２、プログラムリスト格納メモリ２３３、追加命令情報テーブル格納メモリ２３４、プログラムリスト２３６、追加命令情報テーブル２３７を備える。
【００３４】  まず、プログラム表示装置１００の構成について説明する。通信部１３１は、プログラム表示装置１００とＰＬＣ２００との間で相互にデータを送受信するために、ＰＬＣ２００の通信部２３１との間で通信を行う。通信部２３１との間の通信手段は特に問わない。
【００３５】
表示画面１３２は、ＰＬＣ２００が備えるプログラムリスト２３６の情報などを表示する表示部であり、例えば、ＬＣＤ（液晶表示デバイス）である。プログラムリスト２３６の内容は、「命令名＋デバイス番号」の形式に変換されて表示画面１３２に表示される。また、表示画面１３２は、例えば表示部と操作入力部との機能を兼ねてもよく、グラフィックおよび文字を表示し、かつ表示部におけるオペレータの操作部位を検出し、該操作部位に対応した入力情報をプログラム表示装置１００に入力する。操作入力部は、各種入力情報の入力手段であり、たとえばタッチパネルである。この入力情報により、プログラム表示装置１００自身を制御でき、また表示部に表示される画面の情報等を更新してＰＬＣ２００を制御することができる。なお、表示部と操作入力部とを個別に設けてもよい。
【００３６】  変換テーブル格納メモリ１３３は、命令名変換テーブル１３６およびデバイス番号変換テーブル１３７が格納されるメモリである。変換テーブル格納メモリ１３３は、書き換え可能な不揮発性メモリで構成される。命令名変換テーブル１３６およびデバイス番号変換テーブル１３７は、プログラム表示装置１００の出荷時、すなわち製造時に、変換テーブル格納メモリ１３３に書き込まれる。命令名変換テーブル１３６およびデバイス番号変換テーブル１３７の構成は、実施の形態１において示した命令名変換テーブル１１１およびデバイス番号変換テーブル１１３と同様である。
【００３７】  ワークメモリ１３４は、例えばＰＬＣ２００から読み出したプログラムリスト１３８、命令名変換テーブル１３６に存在しない命令番号に該当する命令名であってＰＬＣ２００から送信される変換命令名１３９、ＰＬＣ２００から読み出した追加命令情報テーブル１４０、プログラム表示装置１００の稼働時に生成された情報等が格納されるメモリである。ワークメモリ１３４は、プログラム表示装置１００の稼働時に制御部１３５から変更可能なメモリである。ワークメモリ１３４に格納されたデータは、プログラム表示装置１００の起動毎などの任意のタイミングで消去されてもよい。追加命令情報テーブル１４０は、基本的にプログラムリストの表示を行う際にＰＬＣ２００から読み出されるが、その後、任意の期間保持しておくことも可能である。なお、実施の形態２では、ワークメモリ１３４に追加命令情報テーブル１４０を格納しない形態について説明する。
【００３８】  制御部１３５は、プログラム表示装置１００内における処理全般を制御する。
【００３９】  つぎに、ＰＬＣ２００の構成について説明する。通信部２３１は、プログラム表示装置１００とＰＬＣ２００との間で相互にデータを送受信するために、プログラム表示装置１００の通信部１３１との間で通信を行う。通信部１３１との間の通信手段は特に問わない。
【００４０】  デバイスメモリ２３２は、プログラムリスト２３６の実行時の演算対象データが格納されるメモリである。デバイスメモリ２３２は、例えば図示しないプログラム編集装置などを用いて書き換え可能な不揮発性メモリまたはプログラマブルコントローラ２００の電源オン時に初期化される揮発性メモリで構成される。デバイスメモリ２３２においては、プログラムリスト２３６内のデバイスコードにより、演算対象データを指定することができる。
【００４１】  プログラムリスト格納メモリ２３３は、プログラムリスト２３６が格納されるメモリである。プログラムリスト格納メモリ２３３は、例えば図示しないプログラム編集装置などを用いて書き換え可能な不揮発性メモリで構成される。プログラムリスト２３６は、例えば図示しないプログラム編集装置などを用いて、プログラムリスト格納メモリ２３３に書き込まれる。
【００４２】  追加命令情報テーブル格納メモリ２３４は、追加命令情報テーブル２３７が格納されるメモリである。追加命令情報テーブル格納メモリ２３４には、プログラムリスト２３６を格納するデータエリアであるユーザ領域およびＰＬＣ２００がプログラム実行時に使用するデータエリアであるワーク領域とは異なる、不揮発性メモリのシステム領域が用いられる。追加命令情報テーブル格納メモリ２３４に格納された追加命令情報テーブル２３７の内容は、例えば図示しないプログラム編集装置などを用いた書き換えが不可能とされている。すなわち、追加命令情報テーブル２３７は、追加命令情報テーブル格納メモリ２３４に書き込まれた後は、例えば図示しないプログラム編集装置などを用いて書き換えることができない。追加命令情報テーブル２３７の構成は、実施の形態１において示した追加命令情報テーブル２１２と同様の構成とされる。
【００４３】  制御部２３５は、ＰＬＣ２００内における処理全般を制御する。また、制御部２３５は、プログラムリストを実行することにより、被制御装置に対する制御を実行する。
【００４４】  つぎに、プログラム表示装置１００がＰＬＣ２００から読み出したプログラムリストを表示する手順の例について説明する。図４は、実施の形態２においてプログラム表示装置１００がＰＬＣ２００から読み出したプログラムリストを表示する際のプログラムリストおよび命令名のデータの流れを示す図である。図５は、実施の形態２においてプログラム表示装置１００がプログラムリストを表示する手順の例を示すフローチャートである。
【００４５】  まず、プログラム表示装置１００の制御部１３５は、ＰＬＣ２００にプログラムリストの送信を要求するプログラムリスト要求情報Ｄ１を、通信部１３１を介してＰＬＣ２００に送信する。
【００４６】  ＰＬＣ２００の制御部２３５は、プログラムリスト要求情報Ｄ１を受信すると、プログラムリスト格納メモリ２３３内に格納されたプログラムリスト２３６のコピーを、プログラムリストＤ２として通信部２３１を介してプログラム表示装置１００に送信する。
【００４７】  プログラム表示装置１００の制御部１３５は、プログラムリストＤ２を受信すると該プログラムリストＤ２をプログラムリスト１３８としてワークメモリ１３４に格納する（ステップＳ２１０）。そして、プログラム表示装置１００の制御部１３５は、プログラムリスト１３８の内容を「命令名＋デバイス番号」の形式に変換して、表示画面１３２に表示する。すなわち、プログラム表示装置１００の制御部１３５は、ここではプログラムリストをＰＬＣ２００から読み出す読み出し部として機能する。
【００４８】  つぎに、プログラム表示装置１００の制御部１３５は、ワークメモリ１３４に格納したプログラムリスト１３８の１番目の命令番号から順に、ｎ番目の命令番号を変換対象命令番号として表示処理を行う。プログラム表示装置１００の制御部１３５は、変換テーブル格納メモリ１３３に格納された命令名変換テーブル１３６を検索して、変換対象命令番号が命令名変換テーブル１３６に存在するか否かを判定する（ステップＳ２２０）。
【００４９】  変換対象命令番号が命令名変換テーブル１３６に存在する場合は（ステップＳ２２０、Ｙｅｓ）、プログラム表示装置１００の制御部１３５は、変換対象命令番号に該当する変換命令名Ｄ３を命令名変換テーブル１３６から取得する（ステップＳ２３０）。そして、プログラム表示装置１００の制御部１３５は、命令名変換テーブル１３６から取得した変換対象命令番号に該当する変換命令名Ｄ３を表示画面１３２に表示させる（ステップＳ２４０）。また、プログラム表示装置１００の制御部１３５は、変換対象命令番号であるｎ番目の命令番号に付随するデバイスコードを、デバイス番号変換テーブル１３７を用いてデバイス番号に変換し、表示画面１３２に表示させる。すなわち、プログラム表示装置１００の制御部１３５は、ここではプログラムリスト１３８に記述された命令番号を命令名変換テーブル１３６に基づいて命令名に変換する変換部として機能する。
【００５０】
つぎに、プログラム表示装置１００の制御部１３５は、プログラムリスト１３８の全ての命令を表示画面１３２に表示したか否か、すなわち、プログラムリスト１３８の全ての命令を「命令名＋デバイス番号」の形式で表示画面１３２に表示したか否かを判定する（ステップＳ２５０）。プログラムリスト１３８の全ての命令番号について命令名を表示画面１３２に表示した場合は（ステップＳ２５０、Ｙｅｓ）、一連の表示処理を終了する。
【００５１】  一方、プログラムリスト１３８の全ての命令を表示画面１３２に表示していない場合、すなわち、プログラムリスト１３８の全ての命令を「命令名＋デバイス番号」の形式で表示画面１３２に表示していない場合は（ステップＳ２５０、Ｎｏ）、プログラム表示装置１００の制御部１３５は、命令名変換テーブル１３６の検索を行った命令番号の順番を１つインクリメントしたｎ＋１番目の命令番号を変換対象命令番号として（ステップＳ２６０）、ステップＳ２２０に戻って表示処理を行う。
【００５２】
一方、ステップＳ２２０に戻って、変換対象命令番号が命令名変換テーブル１３６に存在しない場合は（ステップＳ２２０、Ｎｏ）、プログラム表示装置１００の制御部１３５は、命令名変換テーブル１３６に存在しない変換対象命令番号に該当する命令名の送信を要求する命令名要求情報Ｄ４を、通信部１３１を介してＰＬＣ２００に送信する（ステップＳ２７０）。すなわち、プログラム表示装置１００の制御部１３５は、命令名変換テーブル１３６に存在しない未対応命令番号の命令名の変換を要求する。
【００５３】  ＰＬＣ２００の制御部２３５は、命令名要求情報Ｄ４を受信すると、追加命令情報テーブル格納メモリ２３４に格納された追加命令情報テーブル２３７を検索して、プログラム表示装置１００から要求された変換対象命令番号に該当する命令名を特定する。そして、ＰＬＣ２００の制御部２３５は、特定した変換対象命令番号に該当する変換命令名Ｄ５を、通信部２３１を介してプログラム表示装置１００に送信する。すなわち、ＰＬＣ２００の制御部２３５は、ここでは未対応命令番号を追加命令情報テーブル２３７に基づいて命令名に変換してプログラム表示装置１００に提供する変換部として機能する。
【００５４】
プログラム表示装置１００の制御部１３５は、命令名変換テーブル１３６に存在しない変換対象命令番号に該当する変換命令名Ｄ５を受信すると、該変換命令名Ｄ５を変換命令名１３９としてワークメモリ１３４に格納し、該変換命令名Ｄ５を表示画面１３２に表示させる（ステップＳ２８０）。また、プログラム表示装置１００の制御部１３５は、変換対象命令番号であるｎ番目の命令番号に付随するデバイスコードを、デバイス番号変換テーブル１３７を用いてデバイス番号に変換し、表示画面１３２に表示させる。これにより、プログラム表示装置１００では、命令名変換テーブル１３６に存在しない命令を「命令名＋デバイス番号」の形式に変換して、表示画面１３２に表示することができる。すなわち、プログラム表示装置１００の制御部１３５は、ここではプログラムリスト１３８に記述された命令番号のうち未対応命令番号に対応する命令名を、追加命令情報テーブル２３７に基づいて取得する未対応命令名取得部として機能する。
【００５５】  その後、プログラム表示装置１００の制御部１３５は、ステップＳ２５０に進んで表示処理を継続する。なお、ＰＬＣ２００から読み出されてワークメモリ１３４に格納されたプログラムリスト１３８および変換命令名Ｄ５は、プログラム表示装置１００の起動毎または終了毎などの任意のタイミングで消去されてもよい。
【００５６】  以上のような処理を行うことにより、実施の形態２にかかるプログラマブルコントローラシステムでは、命令名変換テーブル１３６に存在しない命令についても、「命令名＋デバイス番号」の形式に変換して、表示画面１３２に表示することができる。
【００５７】  上述した表示方法においては、プログラム表示装置１００における表示画面１３２へのプログラムリスト１３８の表示処理において、命令名変換テーブル１３６に存在しない命令番号が発生した場合に命令名要求情報Ｄ４をＰＬＣ２００に送信して、追加命令情報テーブル２３７を用いた該命令番号の命令名への変換をＰＬＣ２００に要求する。この場合には、プログラム表示装置１００のワークメモリ１３４に追加命令情報テーブル２３７を記憶するエリアを設ける必要がなく、プログラム表示装置１００の必要メモリ容量を小さくできる。また、プログラム表示装置１００のワークメモリ１３４の容量が少ない場合でもプログラム表示装置１００は命令名変換テーブル１３６が対応していない命令名を表示画面１３２に表示できるとともに、少ないメモリ容量を有効に活用することができる。
【００５８】  上述したように、実施の形態２においては、プログラム表示装置１００とＰＬＣ２００とにより構成されるプログラマブルコントローラシステムにおいて、ＰＬＣ２００が追加命令情報テーブル２３７を備える。これにより、プログラム表示装置１００の命令名変換テーブル１３６が対応していない命令がＰＬＣ２００から読み出したプログラムリスト１３８に存在する場合でも、プログラム表示装置１００は、ＰＬＣ２００から追加命令情報テーブル２３７に基づいて変換された命令名を取得することにより、命令名変換テーブル１３６が未対応の命令の命令名を表示できる。
【００５９】  また、実施の形態２においては、プログラム表示装置１００の命令名変換テーブル１３６が対応していない命令を該プログラム表示装置１００に表示させるために、プログラム表示装置１００をバージョンアップする必要がない。これは、工場設備または製造装置に据付されているプログラム表示装置において、特に有効なメリットとなる。すなわち、プログラム表示装置１００は、プログラム表示装置のバージョンアップに掛かる費用および手間ならびに設備の停止を発生させることなく、プログラム表示装置１００の命令名変換テーブル１３６が対応していない新たな命令の表示に対応することができる。
【００６０】  また、実施の形態２においては、プログラムリスト１３８をプログラム表示装置１００に表示させるために、プログラムリストおよび変換テーブル以外には、例えばプログラムリストのコンパイル元のソースコードなどのデータを、プログラム表示装置１００およびＰＬＣ２００のどちらにも持たなくてよい。これは、メモリ容量が少ないＰＬＣ２００において、特に有効なメリットとなる。すなわち、ＰＬＣ２００のメモリ容量を、被制御装置の制御に必要な用途に用いることができ、少ないメモリ容量を有効に活用することができる。
【００６１】  そして、実施の形態２においては、プログラム表示装置１００は、命令名変換テーブル１３６に存在しない命令番号が発生する度に命令名要求情報Ｄ４をＰＬＣ２００に送信して、追加命令情報テーブル２３７を用いた命令番号から命令名への変換をＰＬＣ２００に要求する。これにより、プログラム表示装置１００のワークメモリ１３４に追加命令情報テーブル２３７を記憶するエリアを設ける必要がなく、プログラム表示装置１００の必要メモリ容量を小さくできる。また、プログラム表示装置１００のワークメモリ１３４の容量が少ない場合でもプログラム表示装置１００は命令名変換テーブル１３６が対応していない命令名を表示画面に表示できるとともに、少ないメモリ容量を有効に活用することができる。
【００６２】実施の形態３  実施の形態３では、実施の形態２において示した構成のプログラマブルコントローラシステムにおいて、プログラム表示装置１００がＰＬＣ２００から読み出したプログラムリストを表示する際に、ワークメモリ１３４に追加命令情報テーブル１４０を格納する形態について説明する。図６は、実施の形態３においてプログラム表示装置１００がＰＬＣ２００から読み出したプログラムリストを表示する際の各種データの流れを示す図である。図７は、実施の形態３においてプログラム表示装置１００がプログラムリストを表示する手順の例を示すフローチャートである。
【００６３】  まず、プログラム表示装置１００の制御部１３５は、ワークメモリ１３４に追加命令情報テーブルを読み出し済みか否かを判定する（ステップＳ３１０）。ワークメモリ１３４に追加命令情報テーブルを読み出し済みで無い場合は（ステップＳ３１０、Ｎｏ）、プログラム表示装置１００の制御部１３５は、ＰＬＣ２００に追加命令情報テーブルの送信を要求する追加命令情報テーブル要求情報Ｄ１１を、通信部１３１を介してＰＬＣ２００に送信する。
【００６４】  ＰＬＣ２００の制御部２３５は、追加命令情報テーブル要求情報Ｄ１１を受信すると、追加命令情報テーブル格納メモリ２３４内に格納された追加命令情報テーブル２３７のコピーを、追加命令情報テーブルＤ１２として通信部２３１を介してプログラム表示装置１００に送信する。
【００６５】  プログラム表示装置１００の制御部１３５は、追加命令情報テーブルＤ１２を受信すると該追加命令情報テーブルＤ１２を追加命令情報テーブル１４０としてワークメモリ１３４に格納する（ステップＳ３２０）。すなわち、プログラム表示装置１００の制御部１３５は、ここでは追加命令情報テーブル１４０をＰＬＣ２００から読み出す読み出し部として機能する。
【００６６】  一方、ワークメモリ１３４に追加命令情報テーブルを読み出し済みである場合は（ステップＳ３１０、Ｙｅｓ）、ステップＳ２１０に進む。
【００６７】  つぎに、プログラム表示装置１００の制御部１３５は、ＰＬＣ２００からプログラムリストを読み出して、プログラムリスト１３８の内容を「命令名＋デバイス番号」の形式に変換して、表示画面１３２に表示する。ここで、命令名変換テーブル１３６を用いてプログラムリスト１３８の内容を表示する場合の処理は、実施の形態２におけるステップＳ２１０〜ステップＳ２６０と同じである。
【００６８】  一方、ステップＳ２２０において、変換対象命令番号が命令名変換テーブル１３６に存在しない場合は（ステップＳ２２０、Ｎｏ）、プログラム表示装置１００の制御部１３５は、ワークメモリ１３４に格納された追加命令情報テーブル１４０を検索して、命令名変換テーブル１３６に存在しない変換対象命令番号に該当する命令名を特定して取得する（ステップＳ３３０）。そして、プログラム表示装置１００の制御部１３５は、命令名変換テーブル１３６に存在しない変換対象命令番号に該当する変換命令名Ｄ１３を表示画面１３２に表示させる（ステップＳ３４０）。
【００６９】  また、プログラム表示装置１００の制御部１３５は、変換対象命令番号であるｎ番目の命令番号を付随するデバイスコードを、デバイス番号変換テーブル１３７を用いてデバイス番号に変換し、表示画面１３２に表示させる。これにより、プログラム表示装置１００では、命令名変換テーブル１３６に存在しない命令を「命令名＋デバイス番号」の形式に変換して、表示画面１３２に表示することができる。なお、実施の形態２の場合とは異なり、変換命令名Ｄ１３をワークメモリ１３４に格納する必要はない。
【００７０】  上述した表示方法においては、プログラム表示装置１００における表示画面１３２へのプログラムリスト１３８の表示処理において、命令名変換テーブル１３６に存在しない命令番号が発生した場合に、プログラム表示装置１００の制御部１３５はワークメモリ１３４に格納された追加命令情報テーブル１４０を用いて命令番号を命令名に変換する。この場合には、実施の形態２の場合に比べるとワークメモリ１３４の必要容量が増大する。しかし、一度、追加命令情報テーブル１４０をワークメモリ１３４に読み出しておくと、その後のプログラムリストの表示においてもプログラム表示装置１００は、ワークメモリ１３４に格納された追加命令情報テーブル１４０を再利用できるという利点がある。これにより、プログラム表示装置１００とＰＬＣ２００との間の通信量を低減できる。また、ＰＬＣ２００との通信を行わずに追加命令情報テーブル１４０を用いて命令番号を命令名に変換できるため、実施の形態２の場合に比べて表示処理時間が短くなる、という利点がある。
【００７１】
上述したように、実施の形態３においては、プログラム表示装置１００とＰＬＣ２００とにより構成されるプログラマブルコントローラシステムにおいて、ＰＬＣ２００から追加命令情報テーブル１４０を読み出す。これにより、プログラム表示装置１００の命令名変換テーブル１３６が対応していない命令がＰＬＣ２００から読み出したプログラムリスト１３８に存在する場合でも、プログラム表示装置１００はＰＬＣ２００から読み出した追加命令情報テーブル１４０に基づいて変換された命令名を取得することにより、該プログラム表示装置１００が未対応の命令の命令名を表示できる。
【００７２】  また、実施の形態３においては、プログラム表示装置１００の命令名変換テーブル１３６が対応していない命令を該プログラム表示装置１００に表示させるために、プログラム表示装置１００をバージョンアップする必要がない。これは、工場設備または製造装置に据付されているプログラム表示装置において、特に有効なメリットとなる。すなわち、プログラム表示装置１００は、プログラム表示装置のバージョンアップに掛かる費用および手間ならびに設備の停止を発生させることなく、プログラム表示装置１００の命令名変換テーブル１３６が対応していない新たな命令の表示に対応することができる。
【００７３】  そして、実施の形態３においては、プログラム表示装置１００はワークメモリ１３４に格納された追加命令情報テーブル１４０を用いて命令番号を命令名に変換する。一度、追加命令情報テーブル１４０をワークメモリ１３４に読み出しておくことにより、その後のプログラムリストの表示においてもプログラム表示装置１００は、ワークメモリ１３４に格納された追加命令情報テーブル１４０を再利用できる。これにより、プログラム表示装置１００とＰＬＣ２００との間の通信量を低減できる。また、ＰＬＣ２００との通信を行わずに追加命令情報テーブル１４０を用いて命令番号を命令名に変換できるため、実施の形態２の場合に比べて表示処理時間が短くなる。
【００７４】  つぎに、プログラムリスト中の命令が、プログラム表示装置の保持する命令名変換テーブルに対応していない場合の対応策として考えられる比較例の技術について説明する。
【００７５】  比較例１  プログラム表示装置が表示できないプログラムリスト中の命令処理をＰＬＣが新たにサポートする場合は、ＰＬＣが保持するプログラムリストに命令名文字列を直接埋め込む形式とすることが考えられる。プログラム表示装置は、ＰＬＣから読み出したプログラムリストに命令名形式で命令が埋め込まれている場合には、命令名変換テーブルを参照せずにプログラム表示画面に直接命令名を表示できる。しかし、プログラムリストに命令名文字列を直接埋め込む場合は、以下の２つの問題が発生する。
【００７６】（１）ＰＬＣにおける命令処理時間が延びる。  まず、プログラムリストの命令番号に基づいて命令処理を実行する機能の実装例について説明する。ＰＬＣは、命令番号と命令処理とを関連づける命令アドレステーブルを有する。例えば命令番号から１０００を減じた数値（命令番号−１０００）が、命令アドレステーブルのインデックスＮｏとなる。命令アドレステーブルでは、命令処理の命令アドレスと、インデックスＮｏとが関連付けられている。このため、命令アドレステーブルを用いることで、命令番号から１０００を減じるインデックス計算を行うことにより、命令番号から実行対象の命令処理の命令アドレスが特定できる。
【００７７】  つぎに、プログラムリストに埋め込まれている命令名に基づいて命令処理を実行する機能の実装例について説明する。プログラムリストの命令名に基づいて命令処理を実行できるＰＬＣは、命令名と命令処理とを関連づける命令名テーブルを有する。ＰＬＣは、命令名テーブルを順次検索して、実行対象の命令名に関連づけられている命令処理を特定し、特定した命令処理を実行する。
【００７８】  しかし、この場合は、命令名文字列で埋め込まれた命令を実行する度に、命令名テーブルの順次検索が必要である。このため、命令名文字列で埋め込まれた命令を実行する方式は、命令番号に基づいて命令処理を実行する方式よりも処理時間が延びる傾向にある。
【００７９】（２）命令名文字列の文字数分だけプログラムリストのサイズが大きくなる。  プログラムリストに命令番号を埋め込む形式の場合は、命令の種別に因らず命令番号のサイズを固定できる。例えば命令の個数が４０９６個以下である場合、１２ビット長の数値データにより命令番号を表現できる。
【００８０】  しかし、プログラムリストに命令名文字列を直接埋め込む場合は、同じ命令を表現する場合でも使用する文字列が長くなり、命令名文字列の文字数分だけプログラムリストのサイズが大きくなる。一方、上述した実施の形態におけるプログラムリスト２１１、プログラムリスト２３６においては、命令名に対応する命令番号が既定のデータサイズで記述されている。これにより、命令名の長さに比例してプログラムリストのデータサイズが増大することがない。
【００８１】  比較例２  ＰＬＣに、プログラム表示用データをプログラムリストと一緒に格納しておく。プログラム表示用データは、プログラム表示装置において、命令名変換テーブルを使用せずに表示画面にプログラムリストの内容を表示するためのデータである。例えばプログラム表示用データは、表示画面に表示される形式のプログラム編集および表示用テキストなどにより構成される。しかし、プログラム表示用データをプログラムリストと一緒に格納する場合は、以下の２つの問題が発生する。
【００８２】（１）ＰＬＣ内のユーザデータ格納用メモリの空き容量が減少する。  プログラム表示用データは、プログラムリストに対応して形成されるため、プログラムリストと同様に容量が大きくなる。このような容量の大きいプログラム表示用データをＰＬＣ内のメモリに格納するため、ＰＬＣ内のユーザデータ格納用メモリの空き容量が減少する。ＰＬＣ内でプログラムリストとプログラム表示用データとの格納エリアを共用している場合には、プログラム表示用データをＰＬＣに格納すると、ＰＬＣに格納できるプログラムリストのサイズが減少してしまう。
【００８３】（２）プログラムリストとプログラム表示用データとが乖離する場合がある。  プログラムリストとプログラム表示用データを一意に関連づける仕組みがＰＬＣに備わっていない場合には、プログラムリストとプログラム表示用データとが乖離する場合がある。ＰＬＣ内のプログラムリストとプログラム表示用データとが乖離している場合は、ＰＬＣで実行しているプログラムリストとは別内容のプログラムを、プログラム表示装置の表示画面に誤って表示してしまう場合がある。例えばプログラム編集および表示用テキストのみを変更する手段がある場合には、プログラム表示装置がＰＬＣのプログラム編集および表示用テキストを読み出して表示画面に表示しても、ＰＬＣで実行しているプログラムリストとは異なる内容のプログラムを表示してしまう可能性がある。
【００８４】  これに対して、上述した実施の形態にかかるプログラマブルコントローラシステムにおいては、命令番号で追加命令情報テーブルを検索して命令名を特定するため、短時間で命令番号から命令名への変換が可能である。これにより、短い命令処理時間でプログラムリストをプログラム表示装置に表示することができる。
【００８５】  また、上述した実施の形態における追加命令情報テーブルは、プログラムリストに含まれる命令のうちプログラム表示装置の命令名変換テーブルに存在しない命令についてのみ、命令番号と命令名との関連付けを定義するテーブルである。したがって、プログラムリストおよびプログラム表示用データと比較して容量が非常に小さい。このため、ＰＬＣ内のメモリおよびプログラム表示装置のメモリの空き容量に負荷を掛けることがない。
【００８６】  また、上述した実施の形態における追加命令情報テーブルは、プログラムリストに含まれる命令のうちプログラム表示装置の命令名変換テーブルに存在しない命令について、命令番号と命令名とを一義的に関連付ける。そして、追加命令情報テーブルは、ＰＬＣ内において、書き込まれた内容が書き換え不可能なメモリに格納される。したがって、プログラムリストの内容と異なる内容がプログラム表示装置に表示されることが防止される。また、プログラム表示装置のワークメモリに追加命令情報テーブルを格納する場合には、例えば各オペレータがそれぞれ追加命令情報テーブルをＰＬＣからプログラム表示装置に読み込むことで、追加命令情報テーブルの変更による、プログラムリストの内容とプログラム表示装置に表示された内容との乖離が防止される。
【００８７】実施の形態４  上述した実施の形態にかかるプログラム表示装置およびＰＬＣにおいて実行される表示方法を、該表示方法の処理手順が格納されたプログラムとして構成し、このプログラムを図８に示すようにＣＰＵ、記憶装置等を有するコンピュータ装置で実行することによって実現することができる。
【００８８】  図８は、実施の形態１〜３にかかるプログラム表示装置およびＰＬＣとしての機能を実現するコンピュータ装置４００の構成の一例を模式的に示すブロック図である。図８に示されるように、コンピュータ装置４００は、ＬＣＤ（Liquid  Crystal  Display）などの表示装置４０１、キーボードなどの入力装置４０２、演算を行うＣＰＵ４０３、ＲＯＭ（Read  Only  Memory）などの不揮発性メモリ４０４、ＲＡＭ（Random  Access  Memory）などの揮発性メモリ４０５、表示装置４０１に表示する表示画面を記憶する表示用メモリ４０６、フラッシュメモリなどの着脱可能な外部メモリとのインタフェースである外部メモリインタフェース４０７、外部機器との間で通信を行う通信インタフェース４０８などがバス４０９を介して接続された構成を有する。なお、表示装置４０１および表示用メモリ４０６が含まれない構成としてもよい。
【００８９】  そして、不揮発性メモリ４０４に格納された上記の表示方法の処理手順が記述されたプログラムが揮発性メモリ４０５にロードされ、ＣＰＵ４０３によって実行される。このプログラムは、ハードディスク、ＣＤ（Compact  Disk）−ＲＯＭ（Read  Only  Memory）、ＭＯ（Magneto-Optical  disk）、ＤＶＤ（Digital  Versatile  DiskまたはDigital  Video  Disk）などのコンピュータ装置で読取可能な記録媒体に記録され、または、このプログラムは、インターネットなどのネットワーク（通信回線）を介して配布することもできる。この場合には、通信インタフェース４０８を介して接続された情報処理端末からプログラムが不揮発性メモリ４０４上に格納される。
【産業上の利用可能性】
【００９０】  以上のように、本発明にかかるプログラマブルコントローラシステムは、プログラムリストをプログラム表示装置において命令名形式で表示する場合に有用である。
【符号の説明】
【００９１】  １００  プログラム表示装置、１１１  命令名変換テーブル、１１２  表示画面、１１３  デバイス番号変換テーブル、１３１  通信部、１３２  表示画面、１３３  変換テーブル格納メモリ、１３４  ワークメモリ、１３５  制御部、１３６  命令名変換テーブル、１３７  デバイス番号変換テーブル、１３８  プログラムリスト、１３９  変換命令名、１４０  追加命令情報テーブル、２１１  プログラムリスト、２１２  追加命令情報テーブル、２３１  通信部、２３２  デバイスメモリ、２３３  プログラムリスト格納メモリ、２３４  追加命令情報テーブル格納メモリ、２３５  制御部、２３６  プログラムリスト、２３７  追加命令情報テーブル、３０１，３０２，３０３  被制御装置、４００  コンピュータ装置、４０１  表示装置、４０２  入力装置、４０３  ＣＰＵ、４０４  不揮発性メモリ、４０５  揮発性メモリ、４０６  表示用メモリ、４０７  外部メモリインタフェース、４０８  通信インタフェース、４０９  バス、Ｄ１  プログラムリスト要求情報、Ｄ２  プログラムリスト、Ｄ３  変換命令名、Ｄ４  命令名要求情報、Ｄ５  変換命令名、Ｄ１１  追加命令情報テーブル要求情報、Ｄ１２  追加命令情報テーブル、Ｄ１３  変換命令名。
【要約】  プログラマブルコントローラシステムにおいて、プログラム表示装置（１００）は、命令名変換テーブル（１３６）と、プログラマブルコントローラ（２００）からプログラムリスト（１３８）を受け取り、プログラムリスト（１３８）に記述された命令番号を命令名変換テーブル（１３６）に基づいて命令名に変換する第２変換部と、プログラムリスト（１３８）に記述された命令番号のうち未対応命令番号に対応する命令名を、追加命令情報テーブル（２３７）に基づいて取得する未対応命令名取得部と、第２変換部で変換された命令名および未対応命令名取得部が取得した命令名を表示する表示部と、を備える。【図１】
0005791855.tif 000002
【図２】
0005791855.tif 000003
【図３】
0005791855.tif 000004
【図４】
0005791855.tif 000005
【図５】
0005791855.tif 000006
【図６】
0005791855.tif 000007
【図７】
0005791855.tif 000008
【図８】
0005791855.tif 000009