(57)【要約】  効率的なプログラム開発を行うことができるようにするために、開発システム（１）は、実行プログラム（Ｄ２）が再生成された際、該実行プログラム（Ｄ２）に対応する、実行画面データ（Ｄ５）を生成するためのラベル情報テーブル（Ｄ３）を更新するとともに、前記ラベル情報テーブル（Ｄ３）の更新内容に応じて該ラベル情報テーブル（Ｄ３）および前記再生成された実行プログラム（Ｄ２）に対応付けられているＩＤ情報の更新を実行／不実行するラベル管理手段（２３）と、ラベル情報テーブル（Ｄ３）に基づいて実行画面データ（Ｄ５）を生成した際、該実行画面データ（Ｄ５）を生成した時点において該ラベル情報テーブル（Ｄ３）に対応付けられていたＩＤ情報と同一の値のＩＤ情報を前記生成した実行画面データ（Ｄ５）に対応付ける作画装置３（と）、を備える。
2011089688.tif 000002
【特許請求の範囲】
【請求項１】
デバイスアドレスが使用される、外部機器を制御する第１プログラムを第１識別情報と対応付けて記憶する第１メモリを備え、前記第１プログラムを実行するプログラマブルコントローラ（ＰＬＣ）と、
デバイスアドレスが使用される第１画面データを第２識別情報と対応付けて記憶する第２メモリを備える表示器と、
デバイスアドレスの代わりにラベルが使用される第２プログラム中に使用されているラベルにデバイスアドレスを割り付けることによって前記第１メモリに記憶させる第１プログラムを生成するプログラム変換部と、前記プログラム変換部が前記第１プログラムを生成したとき、前記第２プログラム中で使用されているラベルと該ラベルに割り付けられたデバイスアドレスとのラベル毎の対応付けであるラベル情報を生成するラベル管理部と、前記ラベル管理部が生成したラベル情報を前記第１識別情報と対応付けて記憶するラベル情報記憶部と、デバイスアドレスの代わりにラベルが使用される第２画面データ中に使用されているラベルを前記ラベル情報記憶部が記憶するラベル情報に基づいてデバイスアドレスに変換することによって前記第２メモリに記憶させる第１画面データを生成し、前記第１画面データを生成した時点において前記ラベル情報に対応付けられている第１識別情報と同一の値を前記第２識別情報として前記生成した第１画面データに対応付ける作画部と、を備える開発システムと、
を備え、
前記ラベル管理部は、前記プログラム変換部が前記第１プログラムを再生成した際、前記第１プログラムの再生成に対応して前記ラベル情報記憶部が記憶するラベル情報を更新するとともに、前記ラベル情報の更新内容に応じて該ラベル情報および前記再生成された第１プログラムに対応づけられている第１識別情報の更新を実行／不実行し、
前記表示器は、前記ＰＬＣが実行する第１プログラムに対応付けられている第１識別情報と前記第２メモリが記憶する第１画面データに対応付けられている第２識別情報とが合致するか否かを判定し、前記双方の識別情報が合致した場合、前記第２メモリが記憶する第１画面データに基づいてデバイスアドレスの内容を前記ＰＬＣから取得して表示し、前記双方の識別情報が合致しなかった場合、異常処理を実行する、
ことを特徴とするプログラマブルコントローラシステム。
【請求項２】
前記ラベル管理部は、前記ラベル情報の更新内容が割り付け先のデバイスアドレスの変更である場合、前記第１識別情報を更新する、
ことを特徴とする請求項１に記載のプログラマブルコントローラシステム。
【請求項３】
前記第２プログラムおよび前記ラベル情報には前記第１メモリに格納されるデバイスデータのデータ型がラベル毎に記述され、
前記ラベル管理部は、前記ラベル情報の更新内容がデータ型の変更である場合、前記第１識別情報を更新する、
ことを特徴とする請求項１に記載のプログラマブルコントローラシステム。
【請求項４】
前記ラベル管理部は、前記第１プログラムおよび前記ラベル情報に前記第１識別情報とともにバージョン情報を付与し、前記ラベル情報の更新内容が前記ラベル情報を構成するラベル毎の対応付けの増減である場合、前記第１識別情報を更新することなく前記バージョン情報を更新する、
ことを特徴とする請求項２または請求項３に記載のプログラマブルコントローラシステム。
【請求項５】
前記ラベル情報は有効／無効を示す削除フラグを前記ラベル情報を構成する対応付け毎に備え、
前記ラベル管理部は、前記ラベル情報を更新する際、前記削除フラグを操作することによって前記ラベル情報を構成する対応付けを削除／復元する、
ことを特徴とする請求項４に記載のプログラマブルコントローラシステム。
【請求項６】
前記作画部は、前記プログラム変換部が前記第１プログラムを再生成した後、前記再生成された第１プログラムに対応付けられている第１識別情報と前記第１画面データに対応付けられている第２識別情報とを比較し、双方の識別情報が異なった場合、前記第１画面データを再生成する、
ことを特徴とする請求項１〜３のうちの何れか一項に記載のプログラマブルコントローラシステム。
【請求項７】
デバイスアドレスが使用される、外部機器を制御する第１プログラムを第１識別情報と対応付けて記憶する第１メモリを備え、前記第１プログラムを実行するプログラマブルコントローラ（ＰＬＣ）にダウンロードされる前記第１プログラムと、デバイスアドレスが使用される第１画面データを第２識別情報と対応付けて記憶する第２メモリを備え、前記ＰＬＣが実行する第１プログラムに対応付けられている第１識別情報と前記第２メモリが記憶する第１画面データに対応付けられている第２識別情報とが合致するか否かを判定し、前記双方の識別情報が合致した場合、前記第２メモリが記憶する第１画面データに基づいてデバイスアドレスの内容を前記ＰＬＣから取得して表示し、前記双方の識別情報が合致しなかった場合、異常処理を実行する表示器にダウンロードされる前記第１画面データと、を作成する開発システムであって、
デバイスアドレスの代わりにラベルが使用される第２プログラム中に使用されているラベルにデバイスアドレスを割り付けることによって前記第１メモリに記憶させる第１プログラムを生成するプログラム変換部と、
前記プログラム変換部が前記第１プログラムを生成したとき、前記第２プログラム中で使用されているラベルと該ラベルに割り付けられたデバイスアドレスとのラベル毎の対応付けであるラベル情報を生成するラベル管理部と、
前記ラベル管理部が生成したラベル情報を前記第１識別情報と対応付けて記憶するラベル情報記憶部と、
デバイスアドレスの代わりにラベルが使用される第２画面データ中に使用されているラベルを前記ラベル情報記憶部が記憶するラベル情報に基づいてデバイスアドレスに変換することによって前記第２メモリに記憶させる第１画面データを生成し、前記第１画面データを生成した時点において前記ラベル情報に対応付けられている第１識別情報と同一の値を前記第２識別情報として前記生成した第１画面データに対応付ける作画部と、
を備え、
前記ラベル管理部は、前記プログラム変換部が前記第１プログラムを再生成した際、前記第１プログラムの再生成に対応して前記ラベル情報記憶部が記憶するラベル情報を更新するとともに、前記ラベル情報の更新内容に応じて該ラベル情報および前記再生成された第１プログラムに対応づけられている第１識別情報の更新を実行／不実行する、
ことを特徴とする開発システム。
【請求項８】
前記ラベル管理部は、前記ラベル情報の更新内容が割り付け先のデバイスアドレスの変更である場合、前記第１識別情報を更新する、
ことを特徴とする請求項７に記載の開発システム。
【請求項９】
前記第２プログラムおよび前記ラベル情報には前記第１メモリに格納されるデバイスデータのデータ型がラベル毎に記述され、
前記ラベル管理部は、前記ラベル情報の更新内容がデータ型の変更である場合、前記第１識別情報を更新する、
ことを特徴とする請求項７に記載の開発システム。
【請求項１０】
前記ラベル管理部は、前記第１プログラムおよび前記ラベル情報に前記第１識別情報とともにバージョン情報を付与し、前記ラベル情報の更新内容が前記ラベル情報を構成するラベル毎の対応付けの増減である場合、前記第１識別情報を更新することなく前記バージョン情報を更新する、
ことを特徴とする請求項８または請求項９に記載の開発システム。
【請求項１１】
前記ラベル情報は有効／無効を示す削除フラグを前記ラベル情報を構成する対応付け毎に備え、
前記ラベル管理部は、前記ラベル情報を更新する際、前記削除フラグを操作することによって前記ラベル情報を構成する対応付けを削除／復元する、
ことを特徴とする請求項１０に記載の開発システム。
【請求項１２】
前記作画部は、前記プログラム変換部が前記第１プログラムを再生成した後、前記再生成された第１プログラムに対応付けられている第１識別情報と前記第１画面データに対応付けられている第２識別情報とを比較し、双方の識別情報が異なった場合、前記第１画面データを再生成する、
ことを特徴とする請求項７〜９のうちの何れか一項に記載の開発システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ（以下、単にＰＬＣ）とＰＬＣのデバイスメモリの状態を表示するプログラマブル表示器（以下、単に表示器）とＰＬＣを動作させるプログラムおよび表示器の画面データを作成する開発システムとを含むＰＬＣシステム、ならびに開発システムに関する。
【背景技術】
【０００２】
ＰＬＣを動作させるプログラムは、プログラミング装置を用いて作成される。このプログラミング装置を用いて大規模プログラムを開発する際、生産性や保守性の向上のため、ラベル（もしくは、タグ、変数）を用いたプログラミングが行われている。例えば、国際電気標準会議によるＩＥＣ６１１３１−３規格は、ラベルを用いたＰＬＣ用の高級プログラム言語を規定している。【０００３】
ＰＬＣはラベルを使用したプログラムを直接実行することができない。そこで、プログラミング装置は、ラベルを使用したプログラムをＰＬＣが実行可能なプログラムコードに変換し、変換したプログラムコードをＰＬＣにダウンロードする。これにより、ＰＬＣはラベルを使用して作成されたプログラムを実行することができるようになる。【０００４】
前記プログラムは、ＰＬＣ内で実行され、産業用機器などの外部機器を制御するための入出力データおよび前記入出力データを算出するための中間データをＰＬＣが備えるメモリ内に生成・更新する。以下、入出力データおよび中間データを総称してデバイスデータということとする。このＰＬＣ内のデバイスデータを表示器やパソコン上の監視ソフトウェアを用いて監視・操作することがある。以下、表示器は、プログラマブル表示器だけでなく、前記した監視ソフトウェアを動作させるパソコンなど、ＰＬＣ内のデバイスデータを表示する装置を含むこととする。従来、作画装置を使用して表示器に表示する画面データを作成する際、この監視・操作対象のデバイスデータの指定にラベル名を使用することができるものがある。以降、この技術を従来技術１ということとする。【０００５】
従来技術１によれば、プログラミング装置がラベル使用のプログラムをＰＬＣで実行可能なプログラムコードに変換する際、各ラベルにデータ型に応じたメモリアドレスを割り付ける。この処理によって、ラベル−データ型−メモリアドレスから成るラベル情報が生成される。作画装置はこのラベル情報を取り込み、取り込んだラベル情報を参照することによって画面データ上の各種部品に割り付けられているラベルを実際のＰＬＣデータメモリのメモリアドレス（デバイスアドレス）に変換して、表示器にダウンロードする。表示器は、ラベル情報によってラベルに割り付けられているＰＬＣにおけるメモリアドレスから、監視・操作対象のデバイスデータを取得することができる。【０００６】
ところで、特許文献１には、ＰＬＣとプログラミング装置との間におけるデータ送受信の効率化を図ることを目的として、データに付与されたＩＤ情報を活用する技術が開示されている。すなわち、特許文献１に開示されている技術によれば、ＰＬＣのプログラムのデータを修正する度にＩＤ情報を更新する。そして、修正されたデータのみをＰＬＣとプログラミング装置との間で送受信したいがために、送信元と受信先とでＩＤ情報を比較して、データが修正されているか否かを判断する。ちなみに、このようなＩＤ情報には、データ最終修正日時（タイムスタンプ）が用いられることが多い。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−３３３７１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記した従来技術１では、ユーザによるプログラム修正により、プログラミング装置でラベル定義の追加、削除、変更が行われると、ラベルに割り当てられていたメモリアドレスが別のメモリアドレスに変更されることがある。表示器側のラベルのメモリアドレスはプログラム修正前のメモリアドレスを参照しているため、このまま修正後のプログラムをＰＬＣにダウンロードすると、表示器はユーザが意図しないメモリアドレスに格納されているデバイスデータを表示することになり、ユーザによる深刻な誤操作を誘発させうる。これを回避するためには、画面データを最新状態のラベル情報に基づいて変換し、変換したラベル情報を表示器にダウンロードする必要がある。したがって、ユーザは、現在の画面データが最新状態のラベル情報に基づいて変換されたものであるか否かを判断し、最新状態のラベル情報に基づいていないと判断した場合、画面データを再変換・ダウンロードする必要がある。この作業はユーザにとって非常に煩雑な作業であるため、自動的に行うことができるようにすることが望ましい。【０００９】
例えば、特許文献１に開示されている技術を従来技術１に組み合わせると、画面データの再作成・ダウンロードの必要性の有無を判断することができるようになる。この技術を従来技術２ということとする。従来技術２によれば、プログラミング装置によって作成したプログラムデータ、プログラムデータから作成されたラベル情報、ラベル情報に基づいて作画装置によって作成した画面データの夫々にＩＤ情報を持たせ、表示器は、このＩＤ情報の一致・不一致に基づいて画面データの再変換・ダウンロードの必要性の有無を判断する。【００１０】
ところで、いくつかのラベルが使用されなくなるような修正が行われる場合などのように、ラベル情報が修正された場合であっても、画面データの再変換・ダウンロードを行わなくても深刻な誤操作を引き起こす事態とはならない場合が存在する。しかしながら、従来技術２によれば、ラベル情報が少しでも変更されると、ラベル情報に付加されたＩＤ情報が毎回更新されるようになってしまうため、修正後のラベル情報と修正前のラベル情報に基づく画面データとの間でＩＤ情報の不一致が起こり、画面データの再変換・ダウンロードの必要ありと判断されてしまう。つまり、従来技術２では、ラベル情報の修正が行われる毎に画面データの再変換・ダウンロードの作業を行う必要が生じるため、プログラム開発の効率性が低下する。【００１１】
本発明は、上記に鑑みてなされたものであって、効率的なプログラム開発を行うことができるプログラマブルコントローラシステムおよび開発システムを得ることを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明は、デバイスアドレスが使用される、外部機器を制御する第１プログラムを第１識別情報と対応付けて記憶する第１メモリを備え、前記第１プログラムを実行するプログラマブルコントローラ（ＰＬＣ）と、デバイスアドレスが使用される第１画面データを第２識別情報と対応付けて記憶する第２メモリを備える表示器と、デバイスアドレスの代わりにラベルが使用される第２プログラム中に使用されているラベルにデバイスアドレスを割り付けることによって前記第１メモリに記憶させる第１プログラムを生成するプログラム変換部と、前記プログラム変換部が前記第１プログラムを生成したとき、前記第２プログラム中で使用されているラベルと該ラベルに割り付けられたデバイスアドレスとのラベル毎の対応付けであるラベル情報を生成するラベル管理部と、前記ラベル管理部が生成したラベル情報を前記第１識別情報と対応付けて記憶するラベル情報記憶部と、デバイスアドレスの代わりにラベルが使用される第２画面データ中に使用されているラベルを前記ラベル情報記憶部が記憶するラベル情報に基づいてデバイスアドレスに変換することによって前記第２メモリに記憶させる第１画面データを生成し、前記第１画面データを生成した時点において前記ラベル情報に対応付けられている第１識別情報と同一の値を前記第２識別情報として前記生成した第１画面データに対応付ける作画部と、を備える開発システムと、を備え、前記ラベル管理部は、前記プログラム変換部が前記第１プログラムを再生成した際、前記第１プログラムの再生成に対応して前記ラベル情報記憶部が記憶するラベル情報を更新するとともに、前記ラベル情報の更新内容に応じて該ラベル情報および前記再生成された第１プログラムに対応づけられている第１識別情報の更新を実行／不実行し、前記表示器は、前記ＰＬＣが実行する第１プログラムに対応付けられている第１識別情報と前記第２メモリが記憶する第１画面データに対応付けられている第２識別情報とが合致するか否かを判定し、前記双方の識別情報が合致した場合、前記第２メモリが記憶する第１画面データに基づいてデバイスアドレスの内容を前記ＰＬＣから取得して表示し、前記双方の識別情報が合致しなかった場合、異常処理を実行する、ことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、効率的なプログラム開発を行うことができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態のＰＬＣシステムの構成を示す図である。
【図２】図２は、ＩＤ情報およびバージョンの更新ルールを説明するための図である。
【図３】図３は、本発明の実施の形態のＰＬＣシステムの機能構成を説明する図である。
【図４】図４は、本発明の実施の形態の開発システムのハードウェア構成を説明する図である。
【図５】図５は、実行プログラム変換の動作を説明するフローチャートである。
【図６】図６は、新規追加処理を詳しく説明するフローチャートである。
【図７】図７は、データ型変更処理を詳しく説明するフローチャートである。
【図８】図８は、割付先メモリアドレス変更処理を詳しく説明するフローチャートである。
【図９】図９は、削除復活処理を詳しく説明するフローチャートである。
【図１０】図１０は、削除処理を詳しく説明するフローチャートである。
【図１１】図１１は、実行画面データ変換を説明するフローチャートである。
【図１２】図１２は、ＩＤ照合処理を説明するフローチャートである。
【発明を実施するための形態】
【００１５】
以下に、本発明にかかるプログラマブルコントローラシステムおよび開発システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１６】
実施の形態．
図１は、本発明にかかるプログラマブルコントローラ（ＰＬＣ）システムの実施の形態の構成を示す図である。
【００１７】
図１に示すように、ＰＬＣシステム１００は、プログラミング装置２、作画装置３、ならびにプログラミング装置２および作画装置３の双方からアクセス可能な記憶手段４、を備える開発システム１と、ＰＬＣ５と、プログラマブル表示器（表示器）６と、を備えている。
【００１８】
ユーザは、ラダープログラムなどのＰＬＣ２で実行可能な実行プログラムである実行プログラムＤ２を生成するためのプログラムであるソースプログラムＤ１を作成する。ソースプログラムＤ１では、ＰＬＣ２が備えるメモリのメモリアドレスを指定するためのラベルが定義されており、メモリアドレスの代わりにこのメモリアドレスに対応するラベルが記述されている。なお、ソースプログラムＤ１中でのラベルの定義には、ラベルの名称（ラベル名）と該ラベルのデータ型とが定義されるタイプ（自動割付タイプ）と、前記自動割付タイプの記述に加えてさらにメモリアドレスが定義されるタイプ（手動割付タイプ）と、の二つのタイプの記述で定義することができる。
【００１９】
プログラミング装置２は、ユーザによって作成されたソースプログラムＤ１をコンパイルして、自動割付タイプの場合、ラベル毎に定義されているデータ型に合致するＰＬＣ２のメモリアドレスをラベルに割り付け、ＰＬＣ２で実行可能な形式の実行プログラムＤ２を生成する。生成された実行プログラムＤ２においては、ソースプログラムＤ１で使用されていたラベルがＰＬＣ２のデータメモリのメモリアドレスに変換されている。
【００２０】
図１に示した例では、ソースプログラムＤ１中に、ラベル「スイッチ１」、ラベル「ランプ２」が使用されており、実行プログラムＤ２では、ラベル「スイッチ１」がメモリアドレス「Ｘ１０」、ラベル「ランプ２」がメモリアドレス「Ｙ２０」に変換されている。実行プログラムＤ２は、ＰＬＣ２にダウンロードされる。ＰＬＣ２は、ダウンロードされた実行プログラムＤ２に基づいてサイクリック処理を実行する。
【００２１】
プログラミング装置２は、ソースプログラムＤ１を実行プログラムＤ２に変換する際、ソースプログラムＤ１に含まれるラベル名と、該ラベルのデータ型と、該ラベルの割り付け先のメモリアドレス（割付先メモリアドレス）と、からなるラベル情報のテーブル（ラベル情報テーブルＤ３）を生成し、記憶手段４に格納（登録）する。ラベル情報テーブルＤ３には、ラベル情報毎の状態を示すフラグ（削除フラグ）が記述されるフィールドが含まれており、削除フラグが０となっている状態のラベル情報は有効なラベル情報として扱われ、削除フラグが１となっている状態のラベル情報はラベル情報テーブルＤ３から削除されたものとして扱われる。なお、ラベル情報テーブルＤ３を構成する夫々のラベル情報を単にレコードと表現することもある。図１に示した例では、ラベル情報テーブルＤ３には、データ型が「ＢＯＯＬ（ブーリアン型）」で割付先メモリアドレスが「Ｘ１０」であるラベル「スイッチ１」を示すラベル情報と、データ型が「ＢＯＯＬ」で割付先メモリアドレスが「Ｙ２０」であるラベル「ランプ２」を示すラベル情報とが含まれている。
【００２２】
ユーザは、表示器６にＰＬＣ２で使用されているデバイスデータの内容を表示するための設定データである画面データＤ４を作成し、作画装置３へ作成した画面データＤ４を入力する。画面データＤ４では、メモリアドレスの代わりに、該メモリアドレスに対応するラベルが記述されている。作画装置３は、記憶手段４が記憶しているラベル情報テーブルＤ３を参照する。作画装置３は、該ラベル情報テーブルＤ３に基づいて、画面データＤ４に含まれるラベルをメモリアドレスに変換し、表示器６で実行可能な形式の設定データである実行画面データＤ５を生成する。
【００２３】
生成された実行画面データＤ５は、表示器６にダウンロードされる。表示器６は、ＰＬＣ２が備えるメモリにおけるダウンロードされた実行画面データＤ５に記述されているメモリアドレスからデバイスデータを取得して、取得したデバイスデータを実行画面データＤ５に記述されている表示方式で表示する。また、表示器６は、ユーザによるデバイスデータを操作する入力を受け付けることができ、受け付けた入力をＰＬＣ２へ送信する。
【００２４】
図１に示した例においては、画面データＤ４には、ラベル「スイッチ１」を示すボタンの図と、ラベル「ランプ２」を示すランプの図とが含まれている。実行画面データＤ５には、ラベル「スイッチ１」に対応するメモリアドレス「Ｘ１０」を示すボタンの図と、ラベル「ランプ２」に対応するメモリアドレス「Ｙ２０」を示すランプの図とが含まれている。また、表示器６は、ユーザによるメモリアドレス「Ｘ１０」を示すボタンをＯＮ／ＯＦＦする操作をＰＬＣ５へ送信し、ＰＬＣ５は、メモリアドレス「Ｙ２０」に格納されているデバイスデータを表示器６へ送信する。
【００２５】
ここで、ユーザによりソースプログラムＤ１に修正が加えられて実行プログラムＤ２が再生成された場合、再生成された実行プログラムＤ２に対応した実行画面データＤ５を再生成し、再生成した実行画面データＤ５を表示器６にダウンロードする必要が生じる。そこで、実行画面データＤ５の再変換する必要があるか否かを自動判定できるようにするために、プログラミング装置２および作画装置３は、夫々、実行プログラムＤ２および実行画面データＤ５に前記自動判定を実行できるようにするためのＩＤ情報を付与する。そして、本実施の形態においては、再変換が必要ありと判定される頻度を低減するために、ソースプログラムＤ１の修正のうち、該修正が実行画面データＤ５の再変換を行わないと表示器６がユーザの誤操作を誘発せしめるような表示（不正動作）を行ってしまうような修正であったとき、実行プログラムＤ２に付与されたＩＤ情報を更新する。
【００２６】
より具体的には、プログラミング装置２は、実行プログラムＤ２を生成したとき、ＩＤ情報（第１識別情報）を生成し、実行プログラムＤ２およびラベル情報テーブルＤ３に生成したＩＤ情報を付与する。そして、プログラミング装置２は、実行プログラムＤ２を再生成したとき、後述する更新ルールに基づいてＩＤ情報を更新する。作画装置３は、実行画面データＤ５を生成したとき、ラベル情報テーブルＤ３に付与されていたＩＤ情報と同じ値のＩＤ情報を生成し、生成したＩＤ情報（第２識別情報）を実行画面データＤ５に付与しておく。
【００２７】
表示器６は、ＰＬＣ５との間で自身が実行する実行画面データＤ５のＩＤ情報とＰＬＣ５が実行する実行プログラムＤ２のＩＤ情報とを照合することによって、実行画面データＤ５の再変換が必要であるか否かを判定するＩＤ照合処理を実行する。表示器６は、双方のＩＤ情報が異なっていた場合、不正動作を防ぐための異常処理を実行する。ここでは、異常処理の一例として、画面の再読込み（実行画面データＤ５の再変換・ダウンロード）が必要な旨のメッセージを表示するとともに表示画面をロックすることとする。
【００２８】
なお、作画装置３は、画面データＤ４を再変換するとき、該画面データＤ４に対応する実行画面データＤ５に付与されているＩＤ情報と実行プログラムＤ２のＩＤ情報とを照合（比較）し、双方のＩＤ情報が異なっている場合、該画面データＤ４の再変換を実行し、双方のＩＤ情報が同一であった場合、該画面データＤ４の再変換を実行しない。
【００２９】
さらに、プログラミング装置２は、実行画面データＤ５の再変換・ダウンロードが必要とならない変更を含む変更の有無をユーザが認識できるように、実行プログラムＤ２およびラベル情報テーブルＤ３にＩＤ情報の他にバージョン情報（以降、単にバージョン）を付与するようにしている。また、作画装置３は、ラベル情報テーブルＤ３に付与されていたバージョンも実行画面データＤ５に付与するようにしている。
【００３０】
図１に示した例では、ソースプログラムＤ１およびラベル情報テーブルＤ３には、ＩＤ「20081224212030」およびバージョン「２」が付与されている。また、実行プログラムＤ２にはＩＤ「20081224212030」およびバージョン「１」が付与されている。
【００３１】
次に、プログラミング装置２によるＩＤ情報およびバージョンの更新ルールを説明する。図２は、プログラミング装置２によるＩＤ情報およびバージョンの更新ルールを説明するための図である。図２に示す図において、左の列から、更新ルールを説明するためのケース番号、ラベル情報テーブルＤ３の例、ラベル情報テーブルＤ３に対する操作および該操作に対応するプログラミング装置２のＩＤ情報およびバージョンに対する処置を示している。
【００３２】
ケース番号１は、実行プログラムＤ２が新規生成され、該生成に伴ってラベル情報テーブルＤ３が新規に生成された場合を示している。ラベル情報テーブルＤ３は、「ランプ１」、「ランプ２」、「ランプ３」、「スイッチ１」、「スイッチ２」、「スイッチ３」、「スイッチ４」、「温度１」、「温度２」のラベルに関するラベル情報を含んでおり、ＩＤ情報「ｘｘｘｘ−ｘｘｘ−００１」およびバージョン「１」が付与されている。また、全てのラベル情報の削除フラグが「０」となっている。この状態を初期状態とする。
【００３３】
ケース番号２は、ケース番号１の状態から、ラベル「スイッチ１０」およびラベル「湿度１」が追加された場合を示している。ケース番号２の場合、表示器６は、ユーザが追加されたラベルを表示できるように画面データＤ４を修正しない限り追加されたラベルに対応するメモリアドレスの状態を表示することができないが、夫々のデバイスデータの表示としてユーザが意図したメモリアドレスに格納されているデバイスデータを引き続き表示することはできる。つまり、表示器６は、作画装置３による再変換が行われなくても深刻な運転ミスを発生せしめるような誤表示を行う事態にはならない。したがって、プログラミング装置２は、ラベルの追加を行った場合、ＩＤ情報は変更せず、バージョンをインクリメントする。ここでは、バージョンがインクリメントされて「２」となっている。
【００３４】
ケース番号３は、ケース番号２の状態から、ラベル「ランプ３」およびラベル「スイッチ４」が削除された場合を示している。すなわち、ラベル情報テーブルＤ３が含むラベル「ランプ３」およびラベル「スイッチ４」のラベル情報の削除フラグの状態が「１」となっている。ケース番号３の場合、削除されたラベルに対応するメモリアドレスの状態が更新されなくなるので、該メモリアドレスの表示が画面上で変化しなくなる。しかしながら、ケース番号２の状態と同様に、表示器６は、画面データＤ４を修正しなくても、夫々のデバイスデータの表示としてユーザが意図したメモリアドレスに格納されているデバイスデータを引き続き表示することができる。つまり、表示器６は、作画装置３による再変換が行われなくても深刻な運転ミスを誘発せしめるような誤表示を行う事態にはならない。したがって、プログラミング装置２は、ラベルの削除を行った場合、ＩＤ情報を変更せず、バージョンをインクリメントする。ここでは、バージョンがインクリメントされて「３」となっている。
【００３５】
ケース番号４は、ケース番号３の状態から、いったん削除されたラベル「ランプ３」が復活させられた場合を示している。すなわち、ケース番号３の場合において削除フラグが「１」となっていたラベル「ランプ３」のラベル情報の削除フラグが、ここでは「０」となっている。ケース番号４の場合、ケース番号２の場合と同じく、作画装置３による再変換がなされなくても深刻な運転ミスを誘発せしめるような誤表示を行う事態にはならない。したがって、プログラミング装置２は、ラベルの復活を行った場合、ＩＤ情報を変更せず、バージョンをインクリメントする。ここでは、バージョンがインクリメントされて「４」となっている。
【００３６】
ケース番号５は、ケース番号４の状態から、ラベル「温度２」の割付先メモリアドレスが変更され、ラベル「湿度１」のデータ型が変更された場合を示している。割付先メモリアドレスの変更は、ソースプログラムＤ１内で手動割付タイプの記述が含む割付先メモリアドレスがユーザによって変更された場合のほか、自動割付タイプの記述が含むデータ型の定義が変更された場合にも発生する。データ型が変更された場合、再変換することなく実行画面データＤ５を使用すると、表示器６は、ユーザが意図したメモリアドレスに格納されているデバイスデータを正しく表示することができない。また、割付先メモリアドレスが変更された場合、表示器６は、変更されたラベルに対応するメモリアドレスの状態として、変更前のメモリアドレスに格納されているデバイスデータ（言い換えるとユーザの意図しないデバイスデータ）の状態を表示してしまう。すると、ユーザは、表示されているデバイスデータの状態を前記ラベルに対応するメモリアドレスに格納されているデバイスデータの状態であるとして誤認識し、深刻な運転ミスを行ってしまう可能性がある。したがって、ケース番号５の場合、作画装置３による再変換が必要となる。プログラミング装置２は、ＩＤ情報を新規採番（更新）し、バージョンを１に初期化する。ここでは、ラベル情報テーブルＤ３には、新しいＩＤ情報「ｘｘｘｘ−ｘｘｘ−００２」が付与されている。
【００３７】
このように、本実施の形態では、従来技術２のようにソースプログラムＤ１が変更される毎にＩＤ情報を更新するのではなく、ラベル情報テーブルＤ３の更新内容に応じてＩＤ情報の更新を実行／不実行するようにしたので、作画装置３による画面データＤ４の再変換（および再生成された実行画面データＤ５のダウンロード）の頻度を低減することができ、結果として効率的なプログラム開発を行うことができるようになる。
【００３８】
図３は、本実施の形態のＰＬＣシステム１００の機能構成を説明する図である。図示するように、記憶手段４には、ラベル情報テーブルＤ３のほか、ソースプログラムＤ１、実行プログラムＤ２、画面データＤ４、実行画面データＤ５が格納される。なお、ここでは、ソースプログラムＤ１および画面データＤ４はすでに作成されて記憶手段４に格納されているものとして説明する。
【００３９】
プログラミング装置２は、編集入力受け付け手段２１、実行プログラム変換手段２２、ラベル管理手段２３、通信手段２４を備えている。
【００４０】
編集入力受け付け手段２１は、ユーザからのソースプログラムＤ１の編集入力を受け付けて、編集入力された内容を記憶手段４に格納されているソースプログラムＤ１に反映させる。
【００４１】
実行プログラム変換手段２２は、記憶手段４に格納されているソースプログラムＤ１を変換して実行プログラムＤ２を生成し、生成した実行プログラムＤ２を記憶手段４に格納する。実行プログラム変換手段２２は、ソースプログラムＤ１を再変換（すなわち実行プログラムＤ２の再生成）した場合、実行プログラムＤ２は、再変換により生成された新たな実行プログラムＤ２により上書きされることとする。なお、再変換により生成された新たな実行プログラムＤ２は、上書きではなく、蓄積記憶されるようにしてもよい。
【００４２】
ラベル管理手段２３は、ソースプログラムＤ１に記述されていたラベルと、実行プログラム変換手段２２が実行プログラムＤ２を生成した際に該ラベルに割り付けたメモリアドレスあるいは手動割付タイプの記述により割り付けられているメモリアドレスと、の対応付けに基づいてラベル情報テーブルＤ３を生成する。その際、ラベル管理手段２３は、ＩＤ情報およびバージョンを生成し、生成された実行プログラムＤ２およびラベル管理テーブルＤ３に前記ＩＤ情報およびバージョンを付与する。
【００４３】
さらに、ラベル管理手段２３は、実行プログラム変換手段２２が実行プログラムＤ２を再変換した際、該再変換された内容に対応するようにラベル情報テーブルＤ３を修正する。その際、ラベル管理手段２３は、前記した更新ルールに基づいて実行プログラムＤ２およびラベル情報テーブルＤ３のＩＤ情報およびバージョンを更新する。
【００４４】
通信手段２４は、記憶手段４に格納されている実行プログラムＤ２をＰＬＣ５にダウンロードする。
【００４５】
作画装置３は、編集入力受け付け手段３１と、実行画面データ変換手段３２と、ラベル参照手段３３と、通信手段３４と、を備えている。
【００４６】
編集入力受け付け手段３１は、ユーザからの画面データＤ４の編集入力を受け付けて、編集入力された内容を記憶手段４に格納されている画面データＤ４に反映させる。
【００４７】
ラベル参照手段３３は、記憶手段４に格納されているラベル情報テーブルＤ３、ならびに該ラベル情報テーブルＤ３に付与されているＩＤ情報およびバージョンを読み出す。
【００４８】
実行画面データ変換手段３２は、ラベル参照手段３３が読み出したラベル情報テーブルＤ３に基づいて記憶手段４に格納されている画面データＤ４を変換して実行画面データＤ５を生成し、生成した実行画面データＤ５を記憶手段４に格納する。
【００４９】
ラベル参照手段３３は、ラベル情報テーブルＤ３に付与されているＩＤ情報およびバージョンを実行画面データ変換手段３２が生成した実行画面データＤ５に付与する。また、ラベル参照手段３３は、記憶手段４に実行画面データＤ５が格納されている場合、記憶手段４に格納されている実行画面データＤ５のＩＤ情報を読み出す。ラベル参照手段３３は、ラベル情報テーブルＤ３のＩＤ情報と実行画面データＤ５のＩＤ情報とを比較して画面データＤ４の再変換が必要であるか否かを判定し、再変換が必要であると判定した場合、実行画面データ変換手段３２に画面データＤ４の再変換を実行させる。
【００５０】
通信手段３４は、記憶手段４に格納されている実行画面データＤ５を表示器６にダウンロードする。
【００５１】
ＰＬＣ５は、通信手段５１、メモリ５２、およびプログラム実行手段５３を備えている。通信手段５１は、プログラミング装置２が送信した実行プログラムＤ２を受け付け、受け付けた実行プログラムＤ２をメモリ５２に格納する。プログラム実行手段５３は、メモリ５２に格納されている実行プログラムＤ２に基づいてサイクリック処理を実行し、デバイスデータＤ６を生成する。プログラム実行手段５３は、デバイスデータＤ６をメモリ５２に格納する。また、通信手段５１は、表示器６との間の通信を行う。具体的には、通信手段５１は、実行プログラムＤ２のＩＤ情報をメモリ５２から読み出して、読み出したＩＤ情報を表示器６に通知する。また、通信手段５１は、デバイスデータＤ６のうちの表示器６から読み出し要求されたメモリ５２におけるメモリアドレスに格納されているデータを読み出して、読み出したデータを表示器６に送信する。
【００５２】
表示器６は、通信手段６１と、メモリ６２と、表示画面６３と、画面制御手段６４と、ラベル照合処理手段６５と、を備えている。
【００５３】
通信手段６１は、作画装置３が送信した実行画面データＤ５を受け付け、受け付けた実行画面データＤ５をメモリ６２に格納する。また、通信手段６１は、ＰＬＣ５が送信した実行プログラムＤ２のＩＤ情報を受信し、受信した実行プログラムＤ２のＩＤ情報を画面制御手段６４に送信する。
【００５４】
表示画面６３は、液晶ディスプレイなど、データを表示するための表示部である。なお、表示画面６３は、ユーザによるデバイスデータを操作する入力を受け付けるタッチパネルやハードスイッチなどの入力手段を備えたものであってもよい。
【００５５】
画面制御手段６４は、通信手段６１がＰＬＣ５から受信した実行プログラムＤ２のＩＤ情報をラベル照合処理手段６５に送信する。また、画面制御手段６４は、メモリ６２に格納されている実行画面データＤ５に付与されているＩＤ情報を読み出し、読み出した実行画面データＤ５のＩＤ情報をラベル照合処理手段６５に送信する。
【００５６】
ラベル照合処理手段６５は、実行画面データＤ５のＩＤ情報と実行プログラムＤ２のＩＤ情報とを比較するＩＤ照合処理を実行する。比較結果が「不一致」の場合、ラベル照合処理手段６５は、画面制御手段６４に異常処理を実行するように指令する。指令を受けた画面制御手段６４は、表示画面６３に前記メッセージを出力させるとともに表示画面６３の画面出力をロックする。表示画面６３が入力手段を備える場合、入力手段への入力の受け付けをロックするようにしてもよい。
【００５７】
ＩＤ照合処理による比較結果が「一致」の場合、ラベル照合処理手段６５は、画面制御手段６４に通常動作させる。画面制御手段６４は、メモリ６２から実行画面データＤ５を読み出して、読み出した実行画面データＤ５を実行して表示画面６３に表示を描画する。この際、画面制御手段６４は、実行画面データに記述されているメモリアドレスに格納されているデータの送信を通信手段６１を介してＰＬＣ５に要求する。画面制御手段６４は、ＰＬＣ５から通信手段６１を介して受信したデータを、実行画面データＤ５の記述に基づく形式で表示画面６３に出力する。
【００５８】
なお、開発システム１は、通常のコンピュータ構成のハードウェア上でプログラムを実行することによって実現するようにしてもよい。ここでは、一例として、プログラミング装置２、作画装置３、および記憶手段４を１つのコンピュータで実現する場合のハードウェア構成例を説明する。
【００５９】
図４は、開発システム１のハードウェア構成を説明する図である。図示するように、開発システム１は、ＣＰＵ（Central  Processing  Unit）７１、ＲＯＭ（Read  Only  Memory）７２、ＲＡＭ（Random  Access  Memory）７３、入力部７４、表示部７５、通信部７６、外部記憶装置インタフェース７７、および外部記憶装置７８を備えている。ＣＰＵ７１、ＲＯＭ７２、ＲＡＭ７３、入力部７４、表示部７５、通信部７６および外部記憶装置インタフェース７７はバスラインを介して夫々接続されている。外部記憶装置７８は、外部記憶装置インタフェース７７に接続されている。
【００６０】
ＣＰＵ７１は、プログラミング装置２、作画装置３を夫々実現するコンピュータプログラムであるプログラミングプログラム８１、作画プログラム８２を実行する。通信部７６は、実行プログラムＤ２や実行画面データＤ５を夫々ＰＬＣ５、表示器６にダウンロードする際に使用される通信インタフェースである。外部記憶装置７８は、例えばハードディスクやＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などの読み書き可能な記憶領域であって、記憶手段４として機能する。外部記憶装置インタフェース７７は、ＣＰＵ７１が記憶手段４としての外部記憶装置７８にアクセスするためのインタフェースである。表示部７５は、液晶モニタなどの表示装置であり、ＣＰＵ７１からの指示に基づいて、操作画面などのユーザに対する出力情報を表示する。また、表示部７５は、表示画面６３として機能する。入力部７４は、マウスやキーボードを備えて構成され、ユーザからの開発システム１の操作が入力される。入力部７４へ入力された操作情報は、ＣＰＵ７１へ送られる。
【００６１】
プログラミングプログラム８１および作画プログラム８２は、ＲＯＭ７２内に格納されており、バスラインを介してＲＡＭ７３へロードされる。ＣＰＵ７１はＲＡＭ７３内にロードされたプログラミングプログラム８１および作画プログラム８２を実行する。具体的には、ＣＰＵ７１はＲＯＭ７２内からプログラミングプログラム８１および作画プログラム８２を読み出してＲＡＭ７３内のプログラム格納領域に夫々展開し、該展開されたプログラミングプログラム８１および作画プログラム８２に基づいて開発システム１（プログラミング装置２および作画装置３）の動作を実行する。該動作を実行する際に発生する中間データは、ＲＡＭ７３内のワークエリアに格納される。なお、プログラミングプログラム８１および作画プログラム８２は、外部記憶装置７８などの記憶装置に格納しておいてもよい。また、プログラミングプログラム８１および作画プログラム８２は、外部記憶装置７８などの記憶装置にロードされるようにしてもよい。
【００６２】
本実施の形態の開発システム１で実行されるプログラミングプログラム８１は、編集入力受け付け手段２１、実行プログラム変換手段２２、ラベル管理手段２３、および通信手段２４を含む構成となっており、これら各部がＲＡＭ７３上にロードされ、編集入力受け付け手段２１、実行プログラム変換手段２２、ラベル管理手段２３、および通信手段２４がＲＡＭ７３上に生成される。また、本実施の形態の開発システム１で実行される作画プログラム８２は、編集入力受け付け手段３１、実行画面データ変換手段３２、ラベル参照手段３３、および通信手段３４を含む構成となっており、これら各部がＲＡＭ７３上にロードされ、編集入力受け付け手段３１、実行画面データ変換手段３２、ラベル参照手段３３、および通信手段３４がＲＡＭ７３上に生成される。
【００６３】
なお、本実施の形態の開発システム１で実行されるプログラミングプログラム８１および作画プログラム８２を、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の開発システム１で実行されるプログラミングプログラム８１および作画プログラム８２をインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施の形態のプログラミングプログラム８１および作画プログラム８２を、ＲＯＭ７２等に予め組み込んで本実施の形態の開発システム１に提供するように構成してもよい。
【００６４】
また、開発システム１は、複数のコンピュータで実現されるようにしてもよい。例えば、プログラミングプログラム８１と作画プログラム８２とを別々のコンピュータで実現し、夫々プログラミング装置２、作画装置３とするようにしてよい。また、プログラミング装置２あるいは作画装置３のどちらかのコンピュータの外部記憶装置７８を記憶手段４として機能させ、そのうちの記憶手段４を持たないコンピュータはネットワークを介して記憶手段４にアクセスするようにしてもよい。また、着脱可能で書き換え可能な記憶媒体を記憶手段４として機能させ、ユーザによるプログラミング装置２または作画装置３の操作時に、操作対象の装置に前記記憶媒体を装着するようにしてもよい。また、記憶手段４を、コンピュータからアクセス可能なサーバタイプのコンピュータに実現し、プログラミング装置２および作画装置３はネットワークを介して前記サーバタイプのコンピュータにアクセスするようにしてもよい。
【００６５】
次に、図５〜図１２を参照して、本発明の実施の形態のＰＬＣシステム１００の動作を説明する。図５は、プログラミング装置２がソースプログラムＤ１を実行プログラムＤ２へ変換する動作（実行プログラム変換）を説明するフローチャートである。
【００６６】
図５に示すように、プログラミング装置２がユーザからソースプログラムＤ１を変換する指示の入力を受け付けると、ラベル管理手段２３は、ラベル情報テーブルＤ３の全レコードの削除フラグを、「０」でも「１」でもない一時的な値（ここでは「２」）にする（ステップＳ１）。そして、ラベル管理手段２３は、ソースプログラムＤ１のうちの一行を走査し、走査した行からラベルの定義の記述の抽出を試み（ステップＳ２）、ソースプログラムＤ１にラベルが見つかったか否か、すなわち走査した行にラベルの定義が記述されていたか否かを判定する（ステップＳ３）。
【００６７】
走査した行にラベルの定義が記述されていなかった場合（ステップＳ３、Ｎｏ）、後述するステップＳ１５に移行する。走査した行にラベルの定義が記述されていた場合（ステップＳ３、Ｙｅｓ）、ラベル管理手段２３は、ラベル情報テーブルＤ３から、ステップＳ２にて抽出されたラベルとラベル名が一致するレコードを検索する（ステップＳ４）。そして、ラベル管理手段２３は、ラベル情報テーブルＤ３から該当するレコードが見つかったか否かを判定する（ステップＳ５）。
【００６８】
該当するレコードが見つかった場合（ステップＳ５、Ｙｅｓ）、ラベル管理手段２３は、抽出されたラベルのデータ型と、該当するレコードのデータ型とを比較し、双方が一致するか否かを判定する（ステップＳ６）。
【００６９】
双方のデータ型が一致した場合（ステップＳ６、Ｙｅｓ）、ラベル管理手段２３は、抽出されたラベルの割付先メモリアドレスと、該当するレコードの割付先メモリアドレスとを比較し、双方が一致するか否かを判定する（ステップＳ７）。
【００７０】
双方の割付先メモリアドレスが一致した場合（ステップＳ７、Ｙｅｓ）、ラベル管理手段２３は、該当するレコードの削除フラグが「１」であるか否かを判定する（ステップＳ８）。
【００７１】
削除フラグが「１」ではなかった場合（ステップＳ８、Ｎｏ）、ラベル管理手段２３は、削除フラグを「０」とし（ステップＳ９）、実行プログラム変換手段２２は、ソースプログラムＤ１の該当行のラベルをレコードに記述されている割付先メモリアドレスで置き換え、実行プログラムＤ２を構成する実行プログラムコードに変換する（ステップＳ１０）。
【００７２】
ステップＳ５において、ラベル情報テーブルＤ３から該当するレコードが見つからなかった場合（ステップＳ５、Ｎｏ）、ラベルを新規追加する新規追加処理に移行する（ステップＳ１１）。
【００７３】
図６は、新規追加処理を詳しく説明するフローチャートである。図示するように、まず、実行プログラム変換手段２２は、ＰＬＣ５のメモリ５２のデバイスデータＤ６が格納される領域のうちの、ステップＳ２にて抽出されたラベルのデータ型に応じたメモリサイズの領域を、該抽出されたラベルに割り付ける（ステップＳ２１）。このとき、ラベル管理手段２３は、削除フラグの値に関わらず全レコードを参照し、何れのレコードにも記載されていない領域を前記抽出されたラベルに割り付けるようにする。
【００７４】
ラベル管理手段２３は、ステップＳ２にて抽出されたラベルのラベル名、該ラベルのデータ型、ステップＳ２１にて割り付けられたメモリアドレスからなるレコードを用意する（ステップＳ２２）。ここで、このレコードの削除フラグは「０」としておく。
【００７５】
そして、ラベル管理手段２３は、用意したレコードをラベル情報テーブルＤ３に追加する（ステップＳ２３）。そして、ラベル管理手段２３は、ラベル情報テーブルＤ３および実行プログラムＤ２のバージョンをインクリメントし（ステップＳ２４）、新規追加処理が終了となる。新規追加処理が終了したあと、ステップＳ１０に移行する。
【００７６】
ステップＳ６において、双方のデータ型が一致しなかった場合（ステップＳ６、Ｎｏ）、ラベルのデータ型を変更するデータ型変更処理に移行する（ステップＳ１２）。
【００７７】
図７は、データ型変更処理を詳しく説明するフローチャートである。図示するように、まず、ラベル管理手段２３は、ラベル情報テーブルＤ３から当該レコードを削除する（ステップＳ３１）。ステップＳ３１においては、ラベル管理手段２３は、該レコードに削除フラグを立てるのではなく、該レコードを実際にラベル情報テーブルＤ３から削除する。
【００７８】
そして、実行プログラム変換手段２２は、ＰＬＣ５のメモリ５２のデバイスデータＤ６が格納される領域のうちの、ステップＳ２にて抽出されたラベルのデータ型に応じた領域を、該ラベルに割り付ける（ステップＳ３２）。
【００７９】
そして、ラベル管理手段２３は、ステップＳ２にて抽出されたラベルのラベル名、該ラベルのデータ型、ステップＳ３２にて割り付けられた割付先メモリアドレスからなるレコードを用意する（ステップＳ３３）。ここでも、このレコードの削除フラグは「０」とする。
【００８０】
そして、ラベル管理手段２３は、用意したレコードをラベル情報テーブルＤ３に追加する（ステップＳ３４）。そして、ラベル管理手段２３は、ラベル情報テーブルＤ３および実行プログラムＤ２のＩＤ情報を新規生成するとともにバージョンを初期化し（つまりバージョン＝「１」とし）（ステップＳ３５）、データ型変更処理が終了となる。データ型変更処理が終了したあと、ステップＳ１０に移行する。
【００８１】
ステップＳ７において、抽出されたラベルの割付先メモリアドレスと、該当するレコードの割付先メモリアドレスとが一致しなかった場合（ステップＳ７、Ｎｏ）、ラベルの割付先メモリアドレスを変更する割付先メモリアドレス変更処理に移行する（ステップＳ１３）。
【００８２】
図８は、割付先メモリアドレス変更処理を詳しく説明するフローチャートである。図示するように、まず、ラベル管理手段２３は、ステップＳ３１と同じように、ラベル情報テーブルＤ３から当該レコードを削除する（ステップＳ４１）。
【００８３】
そして、ラベル管理手段２３は、ステップＳ２にて抽出されたラベルのラベル名、該ラベルのデータ型、抽出されたラベルに割り付けられた割付先メモリアドレスからなるレコードを用意する（ステップＳ４２）。ここでも、このレコードの削除フラグは「０」とする。
【００８４】
そして、ラベル管理手段２３は、用意したレコードをラベル情報テーブルＤ３に追加する（ステップＳ４３）。そして、ラベル管理手段２３は、ラベル情報テーブルＤ３および実行プログラムＤ２のＩＤ情報を新規生成（更新）するとともにバージョンを初期化し（ステップＳ４４）、割付先メモリアドレス変更処理が終了となる。割付先メモリアドレス変更処理が終了したあと、ステップＳ１０に移行する。
【００８５】
ステップＳ８において、該当するレコードの削除フラグが「１」であった場合（ステップＳ８、Ｙｅｓ）、削除されたものとして扱われていたラベルを復活させる削除復活変更処理に移行する（ステップＳ１４）。
【００８６】
図９は、削除復活処理を詳しく説明するフローチャートである。図示するように、まず、ラベル管理手段２３は、当該レコードの削除フラグを「１」から「０」に変更する（ステップＳ５１）。そして、ラベル管理手段２３は、ラベル情報テーブルＤ３および実行プログラムＤ２のバージョンをインクリメントし（ステップＳ５２）、削除復活処理が終了となる。削除復活処理が終了したあと、ステップＳ１０に移行する。
【００８７】
ステップＳ１０を経た後、ラベル管理手段２３は、ソースプログラムＤ１の全ての行の走査が終了したか否かを判定し（ステップＳ１５）、終了していない場合（ステップＳ１５、Ｎｏ）、ステップＳ２に移行して走査を継続する。終了した場合（ステップＳ１５、Ｙｅｓ）、ラベルを削除する削除処理に移行する（ステップＳ１６）。
【００８８】
図１０は、削除処理を詳しく説明するフローチャートである。図示するように、まず、ラベル管理手段２３は、ラベル情報テーブルＤ３から、削除フラグの値が「２」となっているレコードを検索する（ステップＳ６１）。そして、ラベル管理手段２３は、削除フラグが「２」となっているレコードが見つかったか否かを判定する（ステップＳ６２）。見つからなかった場合（ステップＳ６２、Ｎｏ）、削除処理が終了となる。
【００８９】
削除フラグが「２」となっているレコードが見つかった場合（ステップＳ６２、Ｙｅｓ）、ラベル管理手段２３は、当該レコードの削除フラグを「２」から「１」に変更する（ステップＳ６３）。そして、ラベル管理手段２３は、ラベル情報テーブルＤ３および実行プログラムＤ２のバージョンをインクリメントし（ステップＳ６４）、削除処理が終了となる。
【００９０】
削除処理を経た後、実行プログラム変換の動作が終了となる。
【００９１】
なお、上述の実行プログラム変換においては、ソースプログラムＤ１を１行ずつ走査することとしたが、複数行ずつ走査するようにしてもよい。ステップＳ２において、走査した複数行から複数のラベルが見つかった場合、見つかったラベルの夫々に対してステップＳ４〜ステップＳ８の動作を逐次実行するようにするとよい。また、複数行ずつ走査するのではなく、ソースプログラムＤ１の全行を一度で走査するようにしてもよい。
【００９２】
また、上述の実行プログラム変換においては、各処理（データ型変更処理、割付先メモリアドレス変更処理、新規追加処理、削除復活処理、削除処理）を実行する毎にＩＤ情報またはバージョンの操作が行われるとして説明したが、ＩＤ情報またはバージョンの操作のタイミングは前記各処理毎でなくても構わない。
【００９３】
例えば、ラベル管理手段２３は、前記各処理の実行時にはＩＤ情報およびバージョンを操作しないで前記各処理を実行したことを記憶手段４などの記憶領域に記録しておき、実行プログラム変換を終了する前に前記記録の内容に基づいてＩＤ情報またはバージョンの操作を一回だけ実行するようにしてもよい。すなわち、ラベル管理手段２３は、単一のソースプログラムＤ１でデータ型変更処理または割付先メモリアドレス変更処理を一回でも実行した場合、ＩＤ情報の更新とバージョンの初期化とを一回だけ実行し、データ型変更処理および割付先メモリアドレス変更処理を実行することなく新規追加処理、削除復活処理、または削除処理を一回でも実行した場合、バージョンのインクリメントを一回だけ実行する。
【００９４】
また、データ型変更処理または割付先メモリアドレス変更処理が行われたときのみＩＤ情報が更新されるとして説明したが、データ型変更処理、割付先メモリアドレス変更処理に加えて新規追加処理、削除復活処理、削除処理のうちの任意の１つまたは２つが行われたときにもＩＤ情報が更新されるようにしても構わない。
【００９５】
図１１は、作画装置３が画面データＤ４を実行画面データＤ５に変換する動作（実行画面データ変換）を説明するフローチャートである。図示するように、まず、実行画面データ変換手段３２は、画面データＤ４の内容が、最後に実行画面データ変換が実行されてから変更されているか否かを判定する（ステップＳ７１）。変更されている場合（ステップＳ７１、Ｙｅｓ）、ラベル参照手段３３は、ラベル情報テーブルＤ３を読み出すとともに、画面データ上の画面部品を１つ走査してラベルを抽出する（ステップＳ７２）。ステップＳ７１において、画面データＤ４の内容が最後に実行画面データ変換が実行されてから変更されていなかった場合（ステップＳ７１、Ｎｏ）、ラベル参照手段３３は、実行画面データＤ５のＩＤ情報とラベル情報テーブルＤ３のＩＤ情報とが一致するか否かを判定する（ステップＳ７３）。双方のＩＤ情報が一致しなかった場合（ステップＳ７３、Ｎｏ）、ステップＳ７２に移行する。一致した場合（ステップＳ７３、Ｙｅｓ）、実行画面データ変換が終了となる。
【００９６】
ステップＳ７２に続いて、ラベル参照手段３３は、画面部品からラベルが見つかったか否かを判定する（ステップＳ７４）。ラベルが見つからなかった場合（ステップＳ７４、Ｎｏ）、後述するステップＳ７８に移行する。ラベルが見つかった場合（ステップＳ７４、Ｙｅｓ）、ラベル参照手段３３は、ラベル情報テーブルＤ３から、画面部品から見つかったラベルとラベル名が一致するレコードを検索する（ステップＳ７５）。そして、ラベル参照手段３３は、ステップＳ７５の検索によって、ラベル情報テーブルＤ３から該当レコードが見つかったか否かを判定する（ステップＳ７６）。該当レコードが見つかった場合（ステップＳ７６、Ｙｅｓ）、実行画面データ変換手段３２は、画面データＤ４上のラベルを見つかったレコードの割付先メモリアドレスで置き換える（ステップＳ７７）。そして、ラベル参照手段３３は、画面データＤ４の全ての画面部品の走査が終了したか否かを判定し（ステップＳ７８）、走査が終了していない場合（ステップＳ７８、Ｎｏ）、ステップＳ７２に移行して、ラベル参照手段３３は走査を続行する。
【００９７】
画面データＤ４の全ての画面部品の走査が終了した場合（ステップＳ７８、Ｙｅｓ）、ラベル参照手段３３は、実行画面データＤ５のＩＤ情報とラベル情報テーブルＤ３のＩＤ情報とが一致するか否かを再度判定する（ステップＳ７９）。双方のＩＤ情報が一致した場合（ステップＳ７９、Ｙｅｓ）、実行画面データ変換が終了となる。
【００９８】
実行画面データＤ５のＩＤ情報とラベル情報テーブルＤ３のＩＤ情報とが一致しなかった場合（ステップＳ７９、Ｎｏ）、ラベル参照手段３３は、実行画面データＤ５のＩＤ情報およびバージョンをラベル情報テーブルＤ３と同一のものに更新し（ステップＳ８０）、実行画面データ変換が終了となる。
【００９９】
ステップＳ７６において、該当レコードが見つからなかったとき（ステップＳ７６、Ｎｏ）、ラベル参照手段３３は、ラベルが登録されていない（未登録）として、実行画面データ変換を異常終了させ（ステップＳ８１）、実行画面データ変換が終了となる。
【０１００】
なお、上記した実行画面データ変換においては、画面データＤ４が含む画面部品を１つずつ走査することとしたが、複数ずつ走査するようにしてもよい。走査した複数の画面部品から複数のラベルが見つかった場合、見つかったラベルの夫々に対してステップＳ７５〜ステップＳ７７、またはステップＳ７５、Ｓ７６、Ｓ８１の処理を実行するようにするとよい。画面データＤ４が含む全ての画面部品を一度で走査するようにしてもよい。
【０１０１】
図１２は、表示器６が実行するＩＤ照合処理を説明するフローチャートである。表示器６は、ＰＬＣ５に接続されると、画面制御手段６４は、通信手段６１を介してＰＬＣ５のメモリ５２に格納されている実行プログラムＤ２のＩＤ情報を取得する（ステップＳ９１）。また、画面制御手段６４は、メモリ６２に格納されている実行画面データＤ５のＩＤ情報を取得する（ステップＳ９２）。ラベル照合処理手段６５は、取得した実行プログラムＤ２のＩＤ情報と実行画面データＤ５のＩＤ情報とが一致するか否かを判定する（ステップＳ９３）。
【０１０２】
ステップＳ９３において、双方のＩＤ情報が一致した場合（ステップＳ９３、Ｙｅｓ）、ＩＤ照合処理が終了となる。すなわち表示器６は通常動作を開始する。双方のＩＤ情報が一致しなかった場合（ステップＳ９３、Ｎｏ）、ラベル照合処理手段６５は、画面制御手段６４に指令して異常処理を実行させる。すなわち、ラベル照合処理手段６５は、画面制御手段６４を介して画面の再読込み（実行画面データＤ５の再変換・再ダウンロード）が必要な旨のメッセージを表示画面６３に出力し（ステップＳ９４）、画面制御手段６４に対して表示画面６３の操作の禁止を指示する（ステップＳ９５）。そして、ＩＤ照合処理が終了となる。
【０１０３】
このように、本発明の実施の形態によれば、ラベル管理手段２３は、実行プログラムＤ２が再生成された際、該実行プログラムＤ２に対応するラベル情報テーブルＤ３を更新するとともに、該ラベル情報テーブルＤ３の更新内容に応じて実行プログラムＤ２およびラベル情報テーブルＤ３に付与するＩＤ情報の更新を実行／不実行する、ように構成したので、表示器６は、実行プログラムＤ２が再生成される毎に実行画面データＤ５の再ダウンロードを実行しなくても済むので、ユーザは効率的なプログラム開発を行うことができるようになる。
【０１０４】
また、ラベル管理手段２３は、実行プログラムＤ２およびラベル情報テーブルＤ３にバージョン情報を付与し、ラベル情報テーブルＤ３の更新内容がレコードの増減である場合、バージョン情報をインクリメント（更新）する、ように構成したので、ユーザは、ＩＤ情報が更新されない場合であっても実行プログラムＤ２またはラベル情報テーブルＤ３のバージョン情報を確認することによって実行プログラムＤ２、ラベル情報テーブルＤ３が更新されたことを認識することができるようになる。
【０１０５】
また、ラベル情報テーブルＤ３はレコード毎に有効／無効を示す削除フラグを備え、ラベル管理手段２３は、ラベル情報テーブルＤ３を更新する際、削除フラグを操作することによってレコードを削除／復元する、ように構成したので、いったん削除したレコードを復活させる場合に新たにメモリアドレスを割り付ける処理を実行しなくても済むようになる。
【０１０６】
また、作画装置３は、実行プログラムＤ２が再生成された後、前記再生成された実行プログラムＤ２に付与されているＩＤ情報と実行画面データＤ５に付与したＩＤ情報とを比較し、双方のＩＤ情報が異なる場合、実行画面データＤ５を再生成する、ように構成したので、実行画面データＤ５の再生成の頻度を低減することができるので、ユーザは効率的なプログラム開発を行うことができるようになる。
【産業上の利用可能性】
【０１０７】
以上のように、本発明にかかるＰＬＣシステムおよび開発システムは、産業用機器を制御するためのＰＬＣシステムおよび開発システムに適用して好適である。
【符号の説明】
【０１０８】
１  開発システム
２  プログラミング装置
３  作画装置
４  記憶手段
５  プログラマブルコントローラ
６  プログラマブル表示器
２１  編集入力受け付け手段
２２  実行プログラム変換手段
２３  ラベル管理手段
２４  通信手段
３１  編集入力受け付け手段
３２  実行画面データ変換手段
３３  ラベル参照手段
３４  通信手段
５１  通信手段
５２  メモリ
５３  プログラム実行手段
６１  通信手段
６２  メモリ
６３  表示画面
６４  画面制御手段
６５  ラベル照合処理手段
７１  ＣＰＵ
７２  ＲＯＭ
７３  ＲＡＭ
７４  入力部
７５  表示部
７６  通信部
７７  外部記憶装置インタフェース
７８  外部記憶装置
８１  プログラミングプログラム
８２  作画プログラム
１００  ＰＬＣシステム
【図１】
2011089688.tif 000003
【図２】
2011089688.tif 000004
【図３】
2011089688.tif 000005
【図４】
2011089688.tif 000006
【図５】
2011089688.tif 000007
【図６】
2011089688.tif 000008
【図７】
2011089688.tif 000009
【図８】
2011089688.tif 000010
【図９】
2011089688.tif 000011
【図１０】
2011089688.tif 000012
【図１１】
2011089688.tif 000013
【図１２】
2011089688.tif 000014
【手続補正書】
【提出日】平成23年1月6日(2011.1.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デバイスアドレスが使用される、外部機器を制御する第１プログラムを第１識別情報と対応付けて記憶する第１メモリを備え、前記第１プログラムを実行するプログラマプルコントローラ（ＰＬＣ）と、
デバイスアドレスが使用される第１画面データを第２識別情報と対応付けて記憶する第２メモリを備える表示器と、
デバイスアドレスの代わりにラベルが使用される第２プログラム中に使用されているラベルにデバイスアドレスを割り付けることによって前記第１メモリに記憶させる第１プログラムを生成するプログラム変換部と、前記プログラム変換部が前記第１プログラムを生成したとき、前記第２プログラム中で使用されているラベルと該ラベルに割り付けられたデバイスアドレスとのラベル毎の対応付けであるラベル情報を生成するラベル管理部と、前記ラベル管理部が生成したラベル情報を前記第１識別情報と対応付けて記憶するラベル情報記憶部と、デバイスアドレスの代わりにラベルが使用される第２画面データ中に使用されているラベルを前記ラベル情報記憶部が記憶するラベル情報に基づいてデバイスアドレスに変換することによって前記第２メモリに記憶させる第１画面データを生成し、前記第１画面データを生成した時点において前記ラベル情報に対応付けられている第１識別情報と同一の値を前記第２識別情報として前記生成した第１画面データに対応付ける作画部と、を備える開発システムと、
を備え、
前記ラベル管理部は、前記プログラム変換部が前記第１プログラムを再生成した際、前記第１プログラムの再生成に対応して前記ラベル情報記憶部が記憶するラベル情報を更新するとともに、前記ラベル情報の更新内容が所定の種類に該当する場合を除いて、前記ラベル情報および前記再生成された第１プログラムに対応づけられている第１識別情報の更新し、
前記表示器は、前記ＰＬＣが実行する第１プログラムに対応付けられている第１識別情報と前記第２メモリが記憶する第１画面データに対応付けられている第２識別情報とが合致するか否かを判定し、前記双方の識別情報が合致した場合、前記第２メモリが記憶する第１画面データに基づいてデバイスアドレスの内容を前記ＰＬＣから取得して表示し、前記双方の識別情報が合致しなかった場合、異常処理を実行する、
ことを特徴とするプログラマブルコントローラシステム。
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
（削除）
【請求項５】
（削除）
【請求項６】
（削除）
【請求項７】
（削除）
【請求項８】
（削除）
【請求項９】
（削除）
【請求項１０】
（削除）
【請求項１１】
（削除）
【請求項１２】
（削除）
【請求項１３】
前記ラベル情報の更新内容の所定の種類は、前記ラベル情報を構成するラベル毎の対応付けの追加、削除または削除したものの復元である、
ことを特徴とする請求項１に記載のプログラマブルコントローラシステム。
【請求項１４】
前記ラベル管理部は、前記ラベル情報の更新内容が割り付け先のデバイスアドレスの変更である場合、前記第１識別情報を更新する、
ことを特徴とする請求項１に記載のプログラマブルコントローラシステム。
【請求項１５】
前記第２プログラムおよび前記ラベル情報には前記第１メモリに格納されるデバイスデータのデータ型がラベル毎に記述され、
前記ラベル管理部は、前記ラベル情報の更新内容がデータ型の変更である場合、前記第１識別情報を更新する、
ことを特徴とする請求項１に記載のプログラマブルコントローラシステム。
【請求項１６】
前記ラベル管理部は、前記第１プログラムおよび前記ラベル情報に前記第１識別情報とともにバージョン情報を付与し、前記ラベル情報の更新内容が前記所定の種類に該当する場合、前記バージョン情報を更新する、
ことを特徴とする請求項１３に記載のプログラマブルコントローラシステム。
【請求項１７】
前記ラベル情報は有効／無効を示す削除フラグを前記ラベル情報を構成する対応付け毎に備え、
前記ラベル管理部は、前記削除フラグを操作することによって前記ラベル情報を構成する対応付けを削除／復元する、
ことを特徴とする請求項１３に記載のプログラマブルコントローラシステム。
【請求項１８】
前記作画部は、前記プログラム変換部が前記第１プログラムを再生成した後、前記再生成された第１プログラムに対応付けられている第１識別情報と前記第１画面データに対応付けられている第２識別情報とを比較し、双方の識別情報が異なった場合、前記第１画面データを再生成する、
ことを特徴とする請求項１、１３〜１５のうちの何れか一項に記載のプログラマブルコントローラシステム。
【請求項１９】
デバイスアドレスが使用される、外部機器を制御する第１プログラムを第１識別情報と対応付けて記憶する第１メモリを備え、前記第１プログラムを実行するプログラマブルコントローラ（ＰＬＣ）にダウンロードされる前記第１プログラムと、デバイスアドレスが使用される第１画面データを第２識別情報と対応付けて記憶する第２メモリを備え、前記ＰＬＣが実行する第１プログラムに対応付けられている第１識別情報と前記第２メモリが記憶する第１画面データに対応付けられている第２識別情報とが合致するか否かを判定し、前記双方の識別情報が合致した場合、前記第２メモリが記憶する第１画面データに基づいてデバイスアドレスの内容を前記ＰＬＣから取得して表示し、前記双方の識別情報が合致しなかった場合、異常処理を実行する表示器にダウンロードされる前記第１画面データと、を作成する開発システムであって、
デバイスアドレスの代わりにラベルが使用される第２プログラム中に使用されているラベルにデバイスアドレスを割り付けることによって前記第１メモリに記憶させる第１プログラムを生成するプログラム変換部と、
前記プログラム変換部が前記第１プログラムを生成したとき、前記第２プログラム中で使用されているラベルと該ラベルに割り付けられたデバイスアドレスとのラベル毎の対応付けであるラベル情報を生成するラベル管理部と、
前記ラベル管理部が生成したラベル情報を前記第１識別情報と対応付けて記憶するラベル情報記憶部と、
デバイスアドレスの代わりにラベルが使用される第２画面データ中に使用されているラベルを前記ラベル情報記憶部が記憶するラベル情報に基づいてデバイスアドレスに変換することによって前記第２メモリに記憶させる第１画面データを生成し、前記第１画面データを生成した時点において前記ラベル情報に対応付けられている第１識別情報と同一の値を前記第２識別情報として前記生成した第１画面データに対応付ける作画部と、
を備え、
前記ラベル管理部は、前記プログラム変換部が前記第１プログラムを再生成した際、前記第１プログラムの再生成に対応して前記ラベル情報記憶部が記憶するラベル情報を更新するとともに、前記ラベル情報の更新内容が所定の種類に該当する場合を除いて、前記ラベル情報および前記再生成された第１プログラムに対応づけられている第１識別情報の更新する、
ことを特徴とする開発システム。
【請求項２０】
前記ラベル情報の更新内容の所定の種類は、前記ラベル情報を構成するラベル毎の対応付けの追加、削除または削除したものの復元である、
ことを特徴とする請求項１９に記載の開発システム。
【請求項２１】
前記ラベル管理部は、前記ラベル情報の更新内容が割り付け先のデバイスアドレスの変更である場合、前記第１識別情報を更新する、
ことを特徴とする請求項１９に記載の開発システム。
【請求項２２】
前記第２プログラムおよび前記ラベル情報には前記第１メモリに格納されるデバイスデータのデータ型がラベル毎に記述され、
前記ラベル管理部は、前記ラベル情報の更新内容がデータ型の変更である場合、前記第１識別情報を更新する、
ことを特徴とする請求項１９に記載の開発システム。
【請求項２３】
前記ラベル管理部は、前記第１プログラムおよび前記ラベル情報に前記第１識別情報とともにバージョン情報を付与し、前記ラベル情報の更新内容が前記所定の種類に該当する場合、前記バージョン情報を更新する、
ことを特徴とする請求項２０に記載の開発システム。
【請求項２４】
前記ラベル情報は有効／無効を示す削除フラグを前記ラベル情報を構成する対応付け毎に備え、
前記ラベル管理部は、前記削除フラグを操作することによって前記ラベル情報を構成する対応付けを削除／復元する、
ことを特徴とする請求項２０に記載の開発システム。
【請求項２５】
前記作画部は、前記プログラム変換部が前記第１プログラムを再生成した後、前記再生成された第１プログラムに対応付けられている第１識別情報と前記第１画面データに対応付けられている第２識別情報とを比較し、双方の識別情報が異なった場合、前記第１画面データを再生成する、
ことを特徴とする請求項１９〜２２のうちの何れか一項に記載の開発システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
ベル情報テーブルＤ３に生成したＩＤ情報を付与する。そして、プログラミング装置２は、実行プログラムＤ２を再生成したとき、後述する更新ルールに基づいてＩＤ情報を更新する。作画装置３は、実行画面データＤ５を生成したとき、ラベル情報テーブルＤ３に付与されていたＩＤ情報と同じ値のＩＤ情報を生成し、生成したＩＤ情報（第２識別情報）を実行画面データＤ５に付与しておく。
［００２７］
表示器６は、ＰＬＣ５との間で自身が実行する実行画面データＤ５のＩＤ情報とＰＬＣ５が実行する実行プログラムＤ２のＩＤ情報とを照合することによって、実行画面データＤ５の再変換が必要であるか否かを判定するＩＤ照合処理を実行する。表示器６は、双方のＩＤ情報が異なっていた場合、不正動作を防ぐための異常処理を実行する。ここでは、異常処理の一例として、画面の再読込み（実行画面データＤ５の再変換・ダウンロード）が必要な旨のメッセージを表示するとともに表示画面をロックすることとする。
［００２８］
なお、作画装置３は、画面データＤ４を再変換するとき、該画面データＤ４に対応する実行画面データＤ５に付与されているＩＤ情報とラベル情報テーブルＤ３のＩＤ情報とを照合（比較）し、双方のＩＤ情報が異なっている場合、該画面データＤ４の再変換を実行し、双方のＩＤ情報が同一であった場合、該画面データＤ４の再変換を実行しない。
［００２９］
さらに、プログラミング装置２は、実行画面データＤ５の再変換・ダウンロードが必要とならない変更を含む変更の有無をユーザが認識できるように、実行プログラムＤ２およびラベル情報テーブルＤ３にＩＤ情報の他にバージョン情報（以降、単にバージョン）を付与するようにしている。また、作画装置３は、ラベル情報テーブルＤ３に付与されていたバージョンも実行画面データＤ５に付与するようにしている。
［００３０］
図１に示した例では、実行プログラムＤ２およびラベル情報テーブルＤ３には、ＩＤ「２００８１２２４２１２０３０」およびバージョン「２」が付与されている。また、実行画面データＤ５にはＩＤ「２００８１２２４２１２０３０」およびバージョン「１」が付与されている。
【手続補正書】
【提出日】平成24年7月25日(2012.7.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デバイスアドレスが使用される、外部機器を制御する第１プログラムを第１識別情報と対応付けて記憶する第１メモリを備え、前記第１プログラムを実行するプログラマブルコントローラ（ＰＬＣ）と、
デバイスアドレスが使用される第１画面データを第２識別情報と対応付けて記憶する第２メモリを備える表示器と、
デバイスアドレスの代わりにラベルが使用される第２プログラム中に使用されているラベルにデバイスアドレスを割り付けることによって前記第１メモリに記憶させる第１プログラムを生成するプログラム変換部と、前記プログラム変換部が前記第１プログラムを生成したとき、前記第２プログラム中で使用されているラベルと該ラベルに割り付けられたデバイスアドレスとのラベル毎の対応付けであるラベル情報を生成するラベル管理部と、前記ラベル管理部が生成したラベル情報を前記第１識別情報と対応付けて記憶するラベル情報記憶部と、デバイスアドレスの代わりにラベルが使用される第２画面データ中に使用されているラベルを前記ラベル情報記憶部が記憶するラベル情報に基づいてデバイスアドレスに変換することによって前記第２メモリに記憶させる第１画面データを生成し、前記第１画面データを生成した時点において前記ラベル情報に対応付けられている第１識別情報と同一の値を前記第２識別情報として前記生成した第１画面データに対応付ける作画部と、を備える開発システムと、
を備え、
前記ラベル管理部は、前記プログラム変換部が前記第１プログラムを再生成した際、前記第１プログラムの再生成に対応して前記ラベル情報記憶部が記憶するラベル情報を更新するとともに、前記ラベル情報の更新内容が所定の種類に該当する場合を除いて、前記ラベル情報および前記再生成された第１プログラムに対応づけられている第１識別情報の更新し、
前記表示器は、前記ＰＬＣが実行する第１プログラムに対応付けられている第１識別情報と前記第２メモリが記憶する第１画面データに対応付けられている第２識別情報とが合致するか否かを判定し、前記双方の識別情報が合致した場合、前記第２メモリが記憶する第１画面データに基づいてデバイスアドレスの内容を前記ＰＬＣから取得して表示し、前記双方の識別情報が合致しなかった場合、異常処理を実行する、
ことを特徴とするプログラマブルコントローラシステム。
【請求項２】
前記ラベル情報の更新内容の所定の種類は、前記ラベル情報を構成するラベル毎の対応付けの追加、削除または削除したものの復元である、
ことを特徴とする請求項１に記載のプログラマブルコントローラシステム。
【請求項３】
前記ラベル管理部は、前記ラベル情報の更新内容が割り付け先のデバイスアドレスの変更である場合、前記第１識別情報を更新する、
ことを特徴とする請求項１に記載のプログラマブルコントローラシステム。
【請求項４】
前記第２プログラムおよび前記ラベル情報には前記第１メモリに格納されるデバイスデータのデータ型がラベル毎に記述され、
前記ラベル管理部は、前記ラベル情報の更新内容がデータ型の変更である場合、前記第１識別情報を更新する、
ことを特徴とする請求項１に記載のプログラマブルコントローラシステム。
【請求項５】
前記ラベル管理部は、前記第１プログラムおよび前記ラベル情報に前記第１識別情報とともにバージョン情報を付与し、前記ラベル情報の更新内容が前記所定の種類に該当する場合、前記バージョン情報を更新する、
ことを特徴とする請求項２に記載のプログラマブルコントローラシステム。
【請求項６】
前記ラベル情報は有効／無効を示す削除フラグを前記ラベル情報を構成する対応付け毎に備え、
前記ラベル管理部は、前記削除フラグを操作することによって前記ラベル情報を構成する対応付けを削除／復元する、
ことを特徴とする請求項２に記載のプログラマブルコントローラシステム。
【請求項７】
前記作画部は、前記プログラム変換部が前記第１プログラムを再生成した後、前記再生成された第１プログラムに対応付けられている第１識別情報と前記第１画面データに対応付けられている第２識別情報とを比較し、双方の識別情報が異なった場合、前記第１画面データを再生成する、
ことを特徴とする請求項１〜４のうちの何れか一項に記載のプログラマブルコントローラシステム。
【請求項８】
デバイスアドレスが使用される、外部機器を制御する第１プログラムを第１識別情報と対応付けて記憶する第１メモリを備え、前記第１プログラムを実行するプログラマブルコントローラ（ＰＬＣ）にダウンロードされる前記第１プログラムと、デバイスアドレスが使用される第１画面データを第２識別情報と対応付けて記憶する第２メモリを備え、前記ＰＬＣが実行する第１プログラムに対応付けられている第１識別情報と前記第２メモリが記憶する第１画面データに対応付けられている第２識別情報とが合致するか否かを判定し、前記双方の識別情報が合致した場合、前記第２メモリが記憶する第１画面データに基づいてデバイスアドレスの内容を前記ＰＬＣから取得して表示し、前記双方の識別情報が合致しなかった場合、異常処理を実行する表示器にダウンロードされる前記第１画面データと、を作成する開発システムであって、
デバイスアドレスの代わりにラベルが使用される第２プログラム中に使用されているラベルにデバイスアドレスを割り付けることによって前記第１メモリに記憶させる第１プログラムを生成するプログラム変換部と、
前記プログラム変換部が前記第１プログラムを生成したとき、前記第２プログラム中で使用されているラベルと該ラベルに割り付けられたデバイスアドレスとのラベル毎の対応付けであるラベル情報を生成するラベル管理部と、
前記ラベル管理部が生成したラベル情報を前記第１識別情報と対応付けて記憶するラベル情報記憶部と、
デバイスアドレスの代わりにラベルが使用される第２画面データ中に使用されているラベルを前記ラベル情報記憶部が記憶するラベル情報に基づいてデバイスアドレスに変換することによって前記第２メモリに記憶させる第１画面データを生成し、前記第１画面データを生成した時点において前記ラベル情報に対応付けられている第１識別情報と同一の値を前記第２識別情報として前記生成した第１画面データに対応付ける作画部と、
を備え、
前記ラベル管理部は、前記プログラム変換部が前記第１プログラムを再生成した際、前記第１プログラムの再生成に対応して前記ラベル情報記憶部が記憶するラベル情報を更新するとともに、前記ラベル情報の更新内容が所定の種類に該当する場合を除いて、前記ラベル情報および前記再生成された第１プログラムに対応づけられている第１識別情報の更新する、
ことを特徴とする開発システム。
【請求項９】
前記ラベル情報の更新内容の所定の種類は、前記ラベル情報を構成するラベル毎の対応付けの追加、削除または削除したものの復元である、
ことを特徴とする請求項８に記載の開発システム。
【請求項１０】
前記ラベル管理部は、前記ラベル情報の更新内容が割り付け先のデバイスアドレスの変更である場合、前記第１識別情報を更新する、
ことを特徴とする請求項８に記載の開発システム。
【請求項１１】
前記第２プログラムおよび前記ラベル情報には前記第１メモリに格納されるデバイスデータのデータ型がラベル毎に記述され、
前記ラベル管理部は、前記ラベル情報の更新内容がデータ型の変更である場合、前記第１識別情報を更新する、
ことを特徴とする請求項８に記載の開発システム。
【請求項１２】
前記ラベル管理部は、前記第１プログラムおよび前記ラベル情報に前記第１識別情報とともにバージョン情報を付与し、前記ラベル情報の更新内容が前記所定の種類に該当する場合、前記バージョン情報を更新する、
ことを特徴とする請求項９に記載の開発システム。
【請求項１３】
前記ラベル情報は有効／無効を示す削除フラグを前記ラベル情報を構成する対応付け毎に備え、
前記ラベル管理部は、前記削除フラグを操作することによって前記ラベル情報を構成する対応付けを削除／復元する、
ことを特徴とする請求項９に記載の開発システム。
【請求項１４】
前記作画部は、前記プログラム変換部が前記第１プログラムを再生成した後、前記再生成された第１プログラムに対応付けられている第１識別情報と前記第１画面データに対応付けられている第２識別情報とを比較し、双方の識別情報が異なった場合、前記第１画面データを再生成する、
ことを特徴とする請求項８〜１１のうちの何れか一項に記載の開発システム。
【国際調査報告】
2011089688.tif 000015
2011089688.tif 000016