JPWO2011089688A1 - プログラマブルコントローラシステムおよび開発システム - Google Patents

プログラマブルコントローラシステムおよび開発システム Download PDF

Info

Publication number
JPWO2011089688A1
JPWO2011089688A1 JP2011550741A JP2011550741A JPWO2011089688A1 JP WO2011089688 A1 JPWO2011089688 A1 JP WO2011089688A1 JP 2011550741 A JP2011550741 A JP 2011550741A JP 2011550741 A JP2011550741 A JP 2011550741A JP WO2011089688 A1 JPWO2011089688 A1 JP WO2011089688A1
Authority
JP
Japan
Prior art keywords
label
program
information
screen data
identification information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011550741A
Other languages
English (en)
Other versions
JP5095013B2 (ja
Inventor
裕嗣 市岡
裕嗣 市岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5095013B2 publication Critical patent/JP5095013B2/ja
Publication of JPWO2011089688A1 publication Critical patent/JPWO2011089688A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13048Display of ladder, RLD, RLL, KOP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13052Display of ladder diagram
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13107Logic symbols, plan LOP, functional block symbols FBS, functional programming FUP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13144GUI graphical user interface, icon, function bloc editor, OI operator interface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23157Display process, synoptic, legend, pictogram, mimic

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

効率的なプログラム開発を行うことができるようにするために、開発システム(1)は、実行プログラム(D2)が再生成された際、該実行プログラム(D2)に対応する、実行画面データ(D5)を生成するためのラベル情報テーブル(D3)を更新するとともに、前記ラベル情報テーブル(D3)の更新内容に応じて該ラベル情報テーブル(D3)および前記再生成された実行プログラム(D2)に対応付けられているID情報の更新を実行/不実行するラベル管理手段(23)と、ラベル情報テーブル(D3)に基づいて実行画面データ(D5)を生成した際、該実行画面データ(D5)を生成した時点において該ラベル情報テーブル(D3)に対応付けられていたID情報と同一の値のID情報を前記生成した実行画面データ(D5)に対応付ける作画装置3(と)、を備える。

Description

本発明は、プログラマブルコントローラ(以下、単にPLC)とPLCのデバイスメモリの状態を表示するプログラマブル表示器(以下、単に表示器)とPLCを動作させるプログラムおよび表示器の画面データを作成する開発システムとを含むPLCシステム、ならびに開発システムに関する。
PLCを動作させるプログラムは、プログラミング装置を用いて作成される。このプログラミング装置を用いて大規模プログラムを開発する際、生産性や保守性の向上のため、ラベル(もしくは、タグ、変数)を用いたプログラミングが行われている。例えば、国際電気標準会議によるIEC61131−3規格は、ラベルを用いたPLC用の高級プログラム言語を規定している。
PLCはラベルを使用したプログラムを直接実行することができない。そこで、プログラミング装置は、ラベルを使用したプログラムをPLCが実行可能なプログラムコードに変換し、変換したプログラムコードをPLCにダウンロードする。これにより、PLCはラベルを使用して作成されたプログラムを実行することができるようになる。
前記プログラムは、PLC内で実行され、産業用機器などの外部機器を制御するための入出力データおよび前記入出力データを算出するための中間データをPLCが備えるメモリ内に生成・更新する。以下、入出力データおよび中間データを総称してデバイスデータということとする。このPLC内のデバイスデータを表示器やパソコン上の監視ソフトウェアを用いて監視・操作することがある。以下、表示器は、プログラマブル表示器だけでなく、前記した監視ソフトウェアを動作させるパソコンなど、PLC内のデバイスデータを表示する装置を含むこととする。従来、作画装置を使用して表示器に表示する画面データを作成する際、この監視・操作対象のデバイスデータの指定にラベル名を使用することができるものがある。以降、この技術を従来技術1ということとする。
従来技術1によれば、プログラミング装置がラベル使用のプログラムをPLCで実行可能なプログラムコードに変換する際、各ラベルにデータ型に応じたメモリアドレスを割り付ける。この処理によって、ラベル−データ型−メモリアドレスから成るラベル情報が生成される。作画装置はこのラベル情報を取り込み、取り込んだラベル情報を参照することによって画面データ上の各種部品に割り付けられているラベルを実際のPLCデータメモリのメモリアドレス(デバイスアドレス)に変換して、表示器にダウンロードする。表示器は、ラベル情報によってラベルに割り付けられているPLCにおけるメモリアドレスから、監視・操作対象のデバイスデータを取得することができる。
ところで、特許文献1には、PLCとプログラミング装置との間におけるデータ送受信の効率化を図ることを目的として、データに付与されたID情報を活用する技術が開示されている。すなわち、特許文献1に開示されている技術によれば、PLCのプログラムのデータを修正する度にID情報を更新する。そして、修正されたデータのみをPLCとプログラミング装置との間で送受信したいがために、送信元と受信先とでID情報を比較して、データが修正されているか否かを判断する。ちなみに、このようなID情報には、データ最終修正日時(タイムスタンプ)が用いられることが多い。
特開平10−333719号公報
しかしながら、上記した従来技術1では、ユーザによるプログラム修正により、プログラミング装置でラベル定義の追加、削除、変更が行われると、ラベルに割り当てられていたメモリアドレスが別のメモリアドレスに変更されることがある。表示器側のラベルのメモリアドレスはプログラム修正前のメモリアドレスを参照しているため、このまま修正後のプログラムをPLCにダウンロードすると、表示器はユーザが意図しないメモリアドレスに格納されているデバイスデータを表示することになり、ユーザによる深刻な誤操作を誘発させうる。これを回避するためには、画面データを最新状態のラベル情報に基づいて変換し、変換したラベル情報を表示器にダウンロードする必要がある。したがって、ユーザは、現在の画面データが最新状態のラベル情報に基づいて変換されたものであるか否かを判断し、最新状態のラベル情報に基づいていないと判断した場合、画面データを再変換・ダウンロードする必要がある。この作業はユーザにとって非常に煩雑な作業であるため、自動的に行うことができるようにすることが望ましい。
例えば、特許文献1に開示されている技術を従来技術1に組み合わせると、画面データの再作成・ダウンロードの必要性の有無を判断することができるようになる。この技術を従来技術2ということとする。従来技術2によれば、プログラミング装置によって作成したプログラムデータ、プログラムデータから作成されたラベル情報、ラベル情報に基づいて作画装置によって作成した画面データの夫々にID情報を持たせ、表示器は、このID情報の一致・不一致に基づいて画面データの再変換・ダウンロードの必要性の有無を判断する。
ところで、いくつかのラベルが使用されなくなるような修正が行われる場合などのように、ラベル情報が修正された場合であっても、画面データの再変換・ダウンロードを行わなくても深刻な誤操作を引き起こす事態とはならない場合が存在する。しかしながら、従来技術2によれば、ラベル情報が少しでも変更されると、ラベル情報に付加されたID情報が毎回更新されるようになってしまうため、修正後のラベル情報と修正前のラベル情報に基づく画面データとの間でID情報の不一致が起こり、画面データの再変換・ダウンロードの必要ありと判断されてしまう。つまり、従来技術2では、ラベル情報の修正が行われる毎に画面データの再変換・ダウンロードの作業を行う必要が生じるため、プログラム開発の効率性が低下する。
本発明は、上記に鑑みてなされたものであって、効率的なプログラム開発を行うことができるプログラマブルコントローラシステムおよび開発システムを得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、デバイスアドレスが使用される、外部機器を制御する第1プログラムを第1識別情報と対応付けて記憶する第1メモリを備え、前記第1プログラムを実行するプログラマブルコントローラ(PLC)と、デバイスアドレスが使用される第1画面データを第2識別情報と対応付けて記憶する第2メモリを備える表示器と、デバイスアドレスの代わりにラベルが使用される第2プログラム中に使用されているラベルにデバイスアドレスを割り付けることによって前記第1メモリに記憶させる第1プログラムを生成するプログラム変換部と、前記プログラム変換部が前記第1プログラムを生成したとき、前記第2プログラム中で使用されているラベルと該ラベルに割り付けられたデバイスアドレスとのラベル毎の対応付けであるラベル情報を生成するラベル管理部と、前記ラベル管理部が生成したラベル情報を前記第1識別情報と対応付けて記憶するラベル情報記憶部と、デバイスアドレスの代わりにラベルが使用される第2画面データ中に使用されているラベルを前記ラベル情報記憶部が記憶するラベル情報に基づいてデバイスアドレスに変換することによって前記第2メモリに記憶させる第1画面データを生成し、前記第1画面データを生成した時点において前記ラベル情報に対応付けられている第1識別情報と同一の値を前記第2識別情報として前記生成した第1画面データに対応付ける作画部と、を備える開発システムと、を備え、前記ラベル管理部は、前記プログラム変換部が前記第1プログラムを再生成した際、前記第1プログラムの再生成に対応して前記ラベル情報記憶部が記憶するラベル情報を更新するとともに、前記ラベル情報の更新内容に応じて該ラベル情報および前記再生成された第1プログラムに対応づけられている第1識別情報の更新を実行/不実行し、前記表示器は、前記PLCが実行する第1プログラムに対応付けられている第1識別情報と前記第2メモリが記憶する第1画面データに対応付けられている第2識別情報とが合致するか否かを判定し、前記双方の識別情報が合致した場合、前記第2メモリが記憶する第1画面データに基づいてデバイスアドレスの内容を前記PLCから取得して表示し、前記双方の識別情報が合致しなかった場合、異常処理を実行する、ことを特徴とする。
本発明によれば、効率的なプログラム開発を行うことができるという効果を奏する。
図1は、本発明の実施の形態のPLCシステムの構成を示す図である。 図2は、ID情報およびバージョンの更新ルールを説明するための図である。 図3は、本発明の実施の形態のPLCシステムの機能構成を説明する図である。 図4は、本発明の実施の形態の開発システムのハードウェア構成を説明する図である。 図5は、実行プログラム変換の動作を説明するフローチャートである。 図6は、新規追加処理を詳しく説明するフローチャートである。 図7は、データ型変更処理を詳しく説明するフローチャートである。 図8は、割付先メモリアドレス変更処理を詳しく説明するフローチャートである。 図9は、削除復活処理を詳しく説明するフローチャートである。 図10は、削除処理を詳しく説明するフローチャートである。 図11は、実行画面データ変換を説明するフローチャートである。 図12は、ID照合処理を説明するフローチャートである。
以下に、本発明にかかるプログラマブルコントローラシステムおよび開発システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態.
図1は、本発明にかかるプログラマブルコントローラ(PLC)システムの実施の形態の構成を示す図である。
図1に示すように、PLCシステム100は、プログラミング装置2、作画装置3、ならびにプログラミング装置2および作画装置3の双方からアクセス可能な記憶手段4、を備える開発システム1と、PLC5と、プログラマブル表示器(表示器)6と、を備えている。
ユーザは、ラダープログラムなどのPLC2で実行可能な実行プログラムである実行プログラムD2を生成するためのプログラムであるソースプログラムD1を作成する。ソースプログラムD1では、PLC2が備えるメモリのメモリアドレスを指定するためのラベルが定義されており、メモリアドレスの代わりにこのメモリアドレスに対応するラベルが記述されている。なお、ソースプログラムD1中でのラベルの定義には、ラベルの名称(ラベル名)と該ラベルのデータ型とが定義されるタイプ(自動割付タイプ)と、前記自動割付タイプの記述に加えてさらにメモリアドレスが定義されるタイプ(手動割付タイプ)と、の二つのタイプの記述で定義することができる。
プログラミング装置2は、ユーザによって作成されたソースプログラムD1をコンパイルして、自動割付タイプの場合、ラベル毎に定義されているデータ型に合致するPLC2のメモリアドレスをラベルに割り付け、PLC2で実行可能な形式の実行プログラムD2を生成する。生成された実行プログラムD2においては、ソースプログラムD1で使用されていたラベルがPLC2のデータメモリのメモリアドレスに変換されている。
図1に示した例では、ソースプログラムD1中に、ラベル「スイッチ1」、ラベル「ランプ2」が使用されており、実行プログラムD2では、ラベル「スイッチ1」がメモリアドレス「X10」、ラベル「ランプ2」がメモリアドレス「Y20」に変換されている。実行プログラムD2は、PLC2にダウンロードされる。PLC2は、ダウンロードされた実行プログラムD2に基づいてサイクリック処理を実行する。
プログラミング装置2は、ソースプログラムD1を実行プログラムD2に変換する際、ソースプログラムD1に含まれるラベル名と、該ラベルのデータ型と、該ラベルの割り付け先のメモリアドレス(割付先メモリアドレス)と、からなるラベル情報のテーブル(ラベル情報テーブルD3)を生成し、記憶手段4に格納(登録)する。ラベル情報テーブルD3には、ラベル情報毎の状態を示すフラグ(削除フラグ)が記述されるフィールドが含まれており、削除フラグが0となっている状態のラベル情報は有効なラベル情報として扱われ、削除フラグが1となっている状態のラベル情報はラベル情報テーブルD3から削除されたものとして扱われる。なお、ラベル情報テーブルD3を構成する夫々のラベル情報を単にレコードと表現することもある。図1に示した例では、ラベル情報テーブルD3には、データ型が「BOOL(ブーリアン型)」で割付先メモリアドレスが「X10」であるラベル「スイッチ1」を示すラベル情報と、データ型が「BOOL」で割付先メモリアドレスが「Y20」であるラベル「ランプ2」を示すラベル情報とが含まれている。
ユーザは、表示器6にPLC2で使用されているデバイスデータの内容を表示するための設定データである画面データD4を作成し、作画装置3へ作成した画面データD4を入力する。画面データD4では、メモリアドレスの代わりに、該メモリアドレスに対応するラベルが記述されている。作画装置3は、記憶手段4が記憶しているラベル情報テーブルD3を参照する。作画装置3は、該ラベル情報テーブルD3に基づいて、画面データD4に含まれるラベルをメモリアドレスに変換し、表示器6で実行可能な形式の設定データである実行画面データD5を生成する。
生成された実行画面データD5は、表示器6にダウンロードされる。表示器6は、PLC2が備えるメモリにおけるダウンロードされた実行画面データD5に記述されているメモリアドレスからデバイスデータを取得して、取得したデバイスデータを実行画面データD5に記述されている表示方式で表示する。また、表示器6は、ユーザによるデバイスデータを操作する入力を受け付けることができ、受け付けた入力をPLC2へ送信する。
図1に示した例においては、画面データD4には、ラベル「スイッチ1」を示すボタンの図と、ラベル「ランプ2」を示すランプの図とが含まれている。実行画面データD5には、ラベル「スイッチ1」に対応するメモリアドレス「X10」を示すボタンの図と、ラベル「ランプ2」に対応するメモリアドレス「Y20」を示すランプの図とが含まれている。また、表示器6は、ユーザによるメモリアドレス「X10」を示すボタンをON/OFFする操作をPLC5へ送信し、PLC5は、メモリアドレス「Y20」に格納されているデバイスデータを表示器6へ送信する。
ここで、ユーザによりソースプログラムD1に修正が加えられて実行プログラムD2が再生成された場合、再生成された実行プログラムD2に対応した実行画面データD5を再生成し、再生成した実行画面データD5を表示器6にダウンロードする必要が生じる。そこで、実行画面データD5の再変換する必要があるか否かを自動判定できるようにするために、プログラミング装置2および作画装置3は、夫々、実行プログラムD2および実行画面データD5に前記自動判定を実行できるようにするためのID情報を付与する。そして、本実施の形態においては、再変換が必要ありと判定される頻度を低減するために、ソースプログラムD1の修正のうち、該修正が実行画面データD5の再変換を行わないと表示器6がユーザの誤操作を誘発せしめるような表示(不正動作)を行ってしまうような修正であったとき、実行プログラムD2に付与されたID情報を更新する。
より具体的には、プログラミング装置2は、実行プログラムD2を生成したとき、ID情報(第1識別情報)を生成し、実行プログラムD2およびラベル情報テーブルD3に生成したID情報を付与する。そして、プログラミング装置2は、実行プログラムD2を再生成したとき、後述する更新ルールに基づいてID情報を更新する。作画装置3は、実行画面データD5を生成したとき、ラベル情報テーブルD3に付与されていたID情報と同じ値のID情報を生成し、生成したID情報(第2識別情報)を実行画面データD5に付与しておく。
表示器6は、PLC5との間で自身が実行する実行画面データD5のID情報とPLC5が実行する実行プログラムD2のID情報とを照合することによって、実行画面データD5の再変換が必要であるか否かを判定するID照合処理を実行する。表示器6は、双方のID情報が異なっていた場合、不正動作を防ぐための異常処理を実行する。ここでは、異常処理の一例として、画面の再読込み(実行画面データD5の再変換・ダウンロード)が必要な旨のメッセージを表示するとともに表示画面をロックすることとする。
なお、作画装置3は、画面データD4を再変換するとき、該画面データD4に対応する実行画面データD5に付与されているID情報と実行プログラムD2のID情報とを照合(比較)し、双方のID情報が異なっている場合、該画面データD4の再変換を実行し、双方のID情報が同一であった場合、該画面データD4の再変換を実行しない。
さらに、プログラミング装置2は、実行画面データD5の再変換・ダウンロードが必要とならない変更を含む変更の有無をユーザが認識できるように、実行プログラムD2およびラベル情報テーブルD3にID情報の他にバージョン情報(以降、単にバージョン)を付与するようにしている。また、作画装置3は、ラベル情報テーブルD3に付与されていたバージョンも実行画面データD5に付与するようにしている。
図1に示した例では、ソースプログラムD1およびラベル情報テーブルD3には、ID「20081224212030」およびバージョン「2」が付与されている。また、実行プログラムD2にはID「20081224212030」およびバージョン「1」が付与されている。
次に、プログラミング装置2によるID情報およびバージョンの更新ルールを説明する。図2は、プログラミング装置2によるID情報およびバージョンの更新ルールを説明するための図である。図2に示す図において、左の列から、更新ルールを説明するためのケース番号、ラベル情報テーブルD3の例、ラベル情報テーブルD3に対する操作および該操作に対応するプログラミング装置2のID情報およびバージョンに対する処置を示している。
ケース番号1は、実行プログラムD2が新規生成され、該生成に伴ってラベル情報テーブルD3が新規に生成された場合を示している。ラベル情報テーブルD3は、「ランプ1」、「ランプ2」、「ランプ3」、「スイッチ1」、「スイッチ2」、「スイッチ3」、「スイッチ4」、「温度1」、「温度2」のラベルに関するラベル情報を含んでおり、ID情報「xxxx−xxx−001」およびバージョン「1」が付与されている。また、全てのラベル情報の削除フラグが「0」となっている。この状態を初期状態とする。
ケース番号2は、ケース番号1の状態から、ラベル「スイッチ10」およびラベル「湿度1」が追加された場合を示している。ケース番号2の場合、表示器6は、ユーザが追加されたラベルを表示できるように画面データD4を修正しない限り追加されたラベルに対応するメモリアドレスの状態を表示することができないが、夫々のデバイスデータの表示としてユーザが意図したメモリアドレスに格納されているデバイスデータを引き続き表示することはできる。つまり、表示器6は、作画装置3による再変換が行われなくても深刻な運転ミスを発生せしめるような誤表示を行う事態にはならない。したがって、プログラミング装置2は、ラベルの追加を行った場合、ID情報は変更せず、バージョンをインクリメントする。ここでは、バージョンがインクリメントされて「2」となっている。
ケース番号3は、ケース番号2の状態から、ラベル「ランプ3」およびラベル「スイッチ4」が削除された場合を示している。すなわち、ラベル情報テーブルD3が含むラベル「ランプ3」およびラベル「スイッチ4」のラベル情報の削除フラグの状態が「1」となっている。ケース番号3の場合、削除されたラベルに対応するメモリアドレスの状態が更新されなくなるので、該メモリアドレスの表示が画面上で変化しなくなる。しかしながら、ケース番号2の状態と同様に、表示器6は、画面データD4を修正しなくても、夫々のデバイスデータの表示としてユーザが意図したメモリアドレスに格納されているデバイスデータを引き続き表示することができる。つまり、表示器6は、作画装置3による再変換が行われなくても深刻な運転ミスを誘発せしめるような誤表示を行う事態にはならない。したがって、プログラミング装置2は、ラベルの削除を行った場合、ID情報を変更せず、バージョンをインクリメントする。ここでは、バージョンがインクリメントされて「3」となっている。
ケース番号4は、ケース番号3の状態から、いったん削除されたラベル「ランプ3」が復活させられた場合を示している。すなわち、ケース番号3の場合において削除フラグが「1」となっていたラベル「ランプ3」のラベル情報の削除フラグが、ここでは「0」となっている。ケース番号4の場合、ケース番号2の場合と同じく、作画装置3による再変換がなされなくても深刻な運転ミスを誘発せしめるような誤表示を行う事態にはならない。したがって、プログラミング装置2は、ラベルの復活を行った場合、ID情報を変更せず、バージョンをインクリメントする。ここでは、バージョンがインクリメントされて「4」となっている。
ケース番号5は、ケース番号4の状態から、ラベル「温度2」の割付先メモリアドレスが変更され、ラベル「湿度1」のデータ型が変更された場合を示している。割付先メモリアドレスの変更は、ソースプログラムD1内で手動割付タイプの記述が含む割付先メモリアドレスがユーザによって変更された場合のほか、自動割付タイプの記述が含むデータ型の定義が変更された場合にも発生する。データ型が変更された場合、再変換することなく実行画面データD5を使用すると、表示器6は、ユーザが意図したメモリアドレスに格納されているデバイスデータを正しく表示することができない。また、割付先メモリアドレスが変更された場合、表示器6は、変更されたラベルに対応するメモリアドレスの状態として、変更前のメモリアドレスに格納されているデバイスデータ(言い換えるとユーザの意図しないデバイスデータ)の状態を表示してしまう。すると、ユーザは、表示されているデバイスデータの状態を前記ラベルに対応するメモリアドレスに格納されているデバイスデータの状態であるとして誤認識し、深刻な運転ミスを行ってしまう可能性がある。したがって、ケース番号5の場合、作画装置3による再変換が必要となる。プログラミング装置2は、ID情報を新規採番(更新)し、バージョンを1に初期化する。ここでは、ラベル情報テーブルD3には、新しいID情報「xxxx−xxx−002」が付与されている。
このように、本実施の形態では、従来技術2のようにソースプログラムD1が変更される毎にID情報を更新するのではなく、ラベル情報テーブルD3の更新内容に応じてID情報の更新を実行/不実行するようにしたので、作画装置3による画面データD4の再変換(および再生成された実行画面データD5のダウンロード)の頻度を低減することができ、結果として効率的なプログラム開発を行うことができるようになる。
図3は、本実施の形態のPLCシステム100の機能構成を説明する図である。図示するように、記憶手段4には、ラベル情報テーブルD3のほか、ソースプログラムD1、実行プログラムD2、画面データD4、実行画面データD5が格納される。なお、ここでは、ソースプログラムD1および画面データD4はすでに作成されて記憶手段4に格納されているものとして説明する。
プログラミング装置2は、編集入力受け付け手段21、実行プログラム変換手段22、ラベル管理手段23、通信手段24を備えている。
編集入力受け付け手段21は、ユーザからのソースプログラムD1の編集入力を受け付けて、編集入力された内容を記憶手段4に格納されているソースプログラムD1に反映させる。
実行プログラム変換手段22は、記憶手段4に格納されているソースプログラムD1を変換して実行プログラムD2を生成し、生成した実行プログラムD2を記憶手段4に格納する。実行プログラム変換手段22は、ソースプログラムD1を再変換(すなわち実行プログラムD2の再生成)した場合、実行プログラムD2は、再変換により生成された新たな実行プログラムD2により上書きされることとする。なお、再変換により生成された新たな実行プログラムD2は、上書きではなく、蓄積記憶されるようにしてもよい。
ラベル管理手段23は、ソースプログラムD1に記述されていたラベルと、実行プログラム変換手段22が実行プログラムD2を生成した際に該ラベルに割り付けたメモリアドレスあるいは手動割付タイプの記述により割り付けられているメモリアドレスと、の対応付けに基づいてラベル情報テーブルD3を生成する。その際、ラベル管理手段23は、ID情報およびバージョンを生成し、生成された実行プログラムD2およびラベル管理テーブルD3に前記ID情報およびバージョンを付与する。
さらに、ラベル管理手段23は、実行プログラム変換手段22が実行プログラムD2を再変換した際、該再変換された内容に対応するようにラベル情報テーブルD3を修正する。その際、ラベル管理手段23は、前記した更新ルールに基づいて実行プログラムD2およびラベル情報テーブルD3のID情報およびバージョンを更新する。
通信手段24は、記憶手段4に格納されている実行プログラムD2をPLC5にダウンロードする。
作画装置3は、編集入力受け付け手段31と、実行画面データ変換手段32と、ラベル参照手段33と、通信手段34と、を備えている。
編集入力受け付け手段31は、ユーザからの画面データD4の編集入力を受け付けて、編集入力された内容を記憶手段4に格納されている画面データD4に反映させる。
ラベル参照手段33は、記憶手段4に格納されているラベル情報テーブルD3、ならびに該ラベル情報テーブルD3に付与されているID情報およびバージョンを読み出す。
実行画面データ変換手段32は、ラベル参照手段33が読み出したラベル情報テーブルD3に基づいて記憶手段4に格納されている画面データD4を変換して実行画面データD5を生成し、生成した実行画面データD5を記憶手段4に格納する。
ラベル参照手段33は、ラベル情報テーブルD3に付与されているID情報およびバージョンを実行画面データ変換手段32が生成した実行画面データD5に付与する。また、ラベル参照手段33は、記憶手段4に実行画面データD5が格納されている場合、記憶手段4に格納されている実行画面データD5のID情報を読み出す。ラベル参照手段33は、ラベル情報テーブルD3のID情報と実行画面データD5のID情報とを比較して画面データD4の再変換が必要であるか否かを判定し、再変換が必要であると判定した場合、実行画面データ変換手段32に画面データD4の再変換を実行させる。
通信手段34は、記憶手段4に格納されている実行画面データD5を表示器6にダウンロードする。
PLC5は、通信手段51、メモリ52、およびプログラム実行手段53を備えている。通信手段51は、プログラミング装置2が送信した実行プログラムD2を受け付け、受け付けた実行プログラムD2をメモリ52に格納する。プログラム実行手段53は、メモリ52に格納されている実行プログラムD2に基づいてサイクリック処理を実行し、デバイスデータD6を生成する。プログラム実行手段53は、デバイスデータD6をメモリ52に格納する。また、通信手段51は、表示器6との間の通信を行う。具体的には、通信手段51は、実行プログラムD2のID情報をメモリ52から読み出して、読み出したID情報を表示器6に通知する。また、通信手段51は、デバイスデータD6のうちの表示器6から読み出し要求されたメモリ52におけるメモリアドレスに格納されているデータを読み出して、読み出したデータを表示器6に送信する。
表示器6は、通信手段61と、メモリ62と、表示画面63と、画面制御手段64と、ラベル照合処理手段65と、を備えている。
通信手段61は、作画装置3が送信した実行画面データD5を受け付け、受け付けた実行画面データD5をメモリ62に格納する。また、通信手段61は、PLC5が送信した実行プログラムD2のID情報を受信し、受信した実行プログラムD2のID情報を画面制御手段64に送信する。
表示画面63は、液晶ディスプレイなど、データを表示するための表示部である。なお、表示画面63は、ユーザによるデバイスデータを操作する入力を受け付けるタッチパネルやハードスイッチなどの入力手段を備えたものであってもよい。
画面制御手段64は、通信手段61がPLC5から受信した実行プログラムD2のID情報をラベル照合処理手段65に送信する。また、画面制御手段64は、メモリ62に格納されている実行画面データD5に付与されているID情報を読み出し、読み出した実行画面データD5のID情報をラベル照合処理手段65に送信する。
ラベル照合処理手段65は、実行画面データD5のID情報と実行プログラムD2のID情報とを比較するID照合処理を実行する。比較結果が「不一致」の場合、ラベル照合処理手段65は、画面制御手段64に異常処理を実行するように指令する。指令を受けた画面制御手段64は、表示画面63に前記メッセージを出力させるとともに表示画面63の画面出力をロックする。表示画面63が入力手段を備える場合、入力手段への入力の受け付けをロックするようにしてもよい。
ID照合処理による比較結果が「一致」の場合、ラベル照合処理手段65は、画面制御手段64に通常動作させる。画面制御手段64は、メモリ62から実行画面データD5を読み出して、読み出した実行画面データD5を実行して表示画面63に表示を描画する。この際、画面制御手段64は、実行画面データに記述されているメモリアドレスに格納されているデータの送信を通信手段61を介してPLC5に要求する。画面制御手段64は、PLC5から通信手段61を介して受信したデータを、実行画面データD5の記述に基づく形式で表示画面63に出力する。
なお、開発システム1は、通常のコンピュータ構成のハードウェア上でプログラムを実行することによって実現するようにしてもよい。ここでは、一例として、プログラミング装置2、作画装置3、および記憶手段4を1つのコンピュータで実現する場合のハードウェア構成例を説明する。
図4は、開発システム1のハードウェア構成を説明する図である。図示するように、開発システム1は、CPU(Central Processing Unit)71、ROM(Read Only Memory)72、RAM(Random Access Memory)73、入力部74、表示部75、通信部76、外部記憶装置インタフェース77、および外部記憶装置78を備えている。CPU71、ROM72、RAM73、入力部74、表示部75、通信部76および外部記憶装置インタフェース77はバスラインを介して夫々接続されている。外部記憶装置78は、外部記憶装置インタフェース77に接続されている。
CPU71は、プログラミング装置2、作画装置3を夫々実現するコンピュータプログラムであるプログラミングプログラム81、作画プログラム82を実行する。通信部76は、実行プログラムD2や実行画面データD5を夫々PLC5、表示器6にダウンロードする際に使用される通信インタフェースである。外部記憶装置78は、例えばハードディスクやSSD(Solid State Drive)などの読み書き可能な記憶領域であって、記憶手段4として機能する。外部記憶装置インタフェース77は、CPU71が記憶手段4としての外部記憶装置78にアクセスするためのインタフェースである。表示部75は、液晶モニタなどの表示装置であり、CPU71からの指示に基づいて、操作画面などのユーザに対する出力情報を表示する。また、表示部75は、表示画面63として機能する。入力部74は、マウスやキーボードを備えて構成され、ユーザからの開発システム1の操作が入力される。入力部74へ入力された操作情報は、CPU71へ送られる。
プログラミングプログラム81および作画プログラム82は、ROM72内に格納されており、バスラインを介してRAM73へロードされる。CPU71はRAM73内にロードされたプログラミングプログラム81および作画プログラム82を実行する。具体的には、CPU71はROM72内からプログラミングプログラム81および作画プログラム82を読み出してRAM73内のプログラム格納領域に夫々展開し、該展開されたプログラミングプログラム81および作画プログラム82に基づいて開発システム1(プログラミング装置2および作画装置3)の動作を実行する。該動作を実行する際に発生する中間データは、RAM73内のワークエリアに格納される。なお、プログラミングプログラム81および作画プログラム82は、外部記憶装置78などの記憶装置に格納しておいてもよい。また、プログラミングプログラム81および作画プログラム82は、外部記憶装置78などの記憶装置にロードされるようにしてもよい。
本実施の形態の開発システム1で実行されるプログラミングプログラム81は、編集入力受け付け手段21、実行プログラム変換手段22、ラベル管理手段23、および通信手段24を含む構成となっており、これら各部がRAM73上にロードされ、編集入力受け付け手段21、実行プログラム変換手段22、ラベル管理手段23、および通信手段24がRAM73上に生成される。また、本実施の形態の開発システム1で実行される作画プログラム82は、編集入力受け付け手段31、実行画面データ変換手段32、ラベル参照手段33、および通信手段34を含む構成となっており、これら各部がRAM73上にロードされ、編集入力受け付け手段31、実行画面データ変換手段32、ラベル参照手段33、および通信手段34がRAM73上に生成される。
なお、本実施の形態の開発システム1で実行されるプログラミングプログラム81および作画プログラム82を、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の開発システム1で実行されるプログラミングプログラム81および作画プログラム82をインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施の形態のプログラミングプログラム81および作画プログラム82を、ROM72等に予め組み込んで本実施の形態の開発システム1に提供するように構成してもよい。
また、開発システム1は、複数のコンピュータで実現されるようにしてもよい。例えば、プログラミングプログラム81と作画プログラム82とを別々のコンピュータで実現し、夫々プログラミング装置2、作画装置3とするようにしてよい。また、プログラミング装置2あるいは作画装置3のどちらかのコンピュータの外部記憶装置78を記憶手段4として機能させ、そのうちの記憶手段4を持たないコンピュータはネットワークを介して記憶手段4にアクセスするようにしてもよい。また、着脱可能で書き換え可能な記憶媒体を記憶手段4として機能させ、ユーザによるプログラミング装置2または作画装置3の操作時に、操作対象の装置に前記記憶媒体を装着するようにしてもよい。また、記憶手段4を、コンピュータからアクセス可能なサーバタイプのコンピュータに実現し、プログラミング装置2および作画装置3はネットワークを介して前記サーバタイプのコンピュータにアクセスするようにしてもよい。
次に、図5〜図12を参照して、本発明の実施の形態のPLCシステム100の動作を説明する。図5は、プログラミング装置2がソースプログラムD1を実行プログラムD2へ変換する動作(実行プログラム変換)を説明するフローチャートである。
図5に示すように、プログラミング装置2がユーザからソースプログラムD1を変換する指示の入力を受け付けると、ラベル管理手段23は、ラベル情報テーブルD3の全レコードの削除フラグを、「0」でも「1」でもない一時的な値(ここでは「2」)にする(ステップS1)。そして、ラベル管理手段23は、ソースプログラムD1のうちの一行を走査し、走査した行からラベルの定義の記述の抽出を試み(ステップS2)、ソースプログラムD1にラベルが見つかったか否か、すなわち走査した行にラベルの定義が記述されていたか否かを判定する(ステップS3)。
走査した行にラベルの定義が記述されていなかった場合(ステップS3、No)、後述するステップS15に移行する。走査した行にラベルの定義が記述されていた場合(ステップS3、Yes)、ラベル管理手段23は、ラベル情報テーブルD3から、ステップS2にて抽出されたラベルとラベル名が一致するレコードを検索する(ステップS4)。そして、ラベル管理手段23は、ラベル情報テーブルD3から該当するレコードが見つかったか否かを判定する(ステップS5)。
該当するレコードが見つかった場合(ステップS5、Yes)、ラベル管理手段23は、抽出されたラベルのデータ型と、該当するレコードのデータ型とを比較し、双方が一致するか否かを判定する(ステップS6)。
双方のデータ型が一致した場合(ステップS6、Yes)、ラベル管理手段23は、抽出されたラベルの割付先メモリアドレスと、該当するレコードの割付先メモリアドレスとを比較し、双方が一致するか否かを判定する(ステップS7)。
双方の割付先メモリアドレスが一致した場合(ステップS7、Yes)、ラベル管理手段23は、該当するレコードの削除フラグが「1」であるか否かを判定する(ステップS8)。
削除フラグが「1」ではなかった場合(ステップS8、No)、ラベル管理手段23は、削除フラグを「0」とし(ステップS9)、実行プログラム変換手段22は、ソースプログラムD1の該当行のラベルをレコードに記述されている割付先メモリアドレスで置き換え、実行プログラムD2を構成する実行プログラムコードに変換する(ステップS10)。
ステップS5において、ラベル情報テーブルD3から該当するレコードが見つからなかった場合(ステップS5、No)、ラベルを新規追加する新規追加処理に移行する(ステップS11)。
図6は、新規追加処理を詳しく説明するフローチャートである。図示するように、まず、実行プログラム変換手段22は、PLC5のメモリ52のデバイスデータD6が格納される領域のうちの、ステップS2にて抽出されたラベルのデータ型に応じたメモリサイズの領域を、該抽出されたラベルに割り付ける(ステップS21)。このとき、ラベル管理手段23は、削除フラグの値に関わらず全レコードを参照し、何れのレコードにも記載されていない領域を前記抽出されたラベルに割り付けるようにする。
ラベル管理手段23は、ステップS2にて抽出されたラベルのラベル名、該ラベルのデータ型、ステップS21にて割り付けられたメモリアドレスからなるレコードを用意する(ステップS22)。ここで、このレコードの削除フラグは「0」としておく。
そして、ラベル管理手段23は、用意したレコードをラベル情報テーブルD3に追加する(ステップS23)。そして、ラベル管理手段23は、ラベル情報テーブルD3および実行プログラムD2のバージョンをインクリメントし(ステップS24)、新規追加処理が終了となる。新規追加処理が終了したあと、ステップS10に移行する。
ステップS6において、双方のデータ型が一致しなかった場合(ステップS6、No)、ラベルのデータ型を変更するデータ型変更処理に移行する(ステップS12)。
図7は、データ型変更処理を詳しく説明するフローチャートである。図示するように、まず、ラベル管理手段23は、ラベル情報テーブルD3から当該レコードを削除する(ステップS31)。ステップS31においては、ラベル管理手段23は、該レコードに削除フラグを立てるのではなく、該レコードを実際にラベル情報テーブルD3から削除する。
そして、実行プログラム変換手段22は、PLC5のメモリ52のデバイスデータD6が格納される領域のうちの、ステップS2にて抽出されたラベルのデータ型に応じた領域を、該ラベルに割り付ける(ステップS32)。
そして、ラベル管理手段23は、ステップS2にて抽出されたラベルのラベル名、該ラベルのデータ型、ステップS32にて割り付けられた割付先メモリアドレスからなるレコードを用意する(ステップS33)。ここでも、このレコードの削除フラグは「0」とする。
そして、ラベル管理手段23は、用意したレコードをラベル情報テーブルD3に追加する(ステップS34)。そして、ラベル管理手段23は、ラベル情報テーブルD3および実行プログラムD2のID情報を新規生成するとともにバージョンを初期化し(つまりバージョン=「1」とし)(ステップS35)、データ型変更処理が終了となる。データ型変更処理が終了したあと、ステップS10に移行する。
ステップS7において、抽出されたラベルの割付先メモリアドレスと、該当するレコードの割付先メモリアドレスとが一致しなかった場合(ステップS7、No)、ラベルの割付先メモリアドレスを変更する割付先メモリアドレス変更処理に移行する(ステップS13)。
図8は、割付先メモリアドレス変更処理を詳しく説明するフローチャートである。図示するように、まず、ラベル管理手段23は、ステップS31と同じように、ラベル情報テーブルD3から当該レコードを削除する(ステップS41)。
そして、ラベル管理手段23は、ステップS2にて抽出されたラベルのラベル名、該ラベルのデータ型、抽出されたラベルに割り付けられた割付先メモリアドレスからなるレコードを用意する(ステップS42)。ここでも、このレコードの削除フラグは「0」とする。
そして、ラベル管理手段23は、用意したレコードをラベル情報テーブルD3に追加する(ステップS43)。そして、ラベル管理手段23は、ラベル情報テーブルD3および実行プログラムD2のID情報を新規生成(更新)するとともにバージョンを初期化し(ステップS44)、割付先メモリアドレス変更処理が終了となる。割付先メモリアドレス変更処理が終了したあと、ステップS10に移行する。
ステップS8において、該当するレコードの削除フラグが「1」であった場合(ステップS8、Yes)、削除されたものとして扱われていたラベルを復活させる削除復活変更処理に移行する(ステップS14)。
図9は、削除復活処理を詳しく説明するフローチャートである。図示するように、まず、ラベル管理手段23は、当該レコードの削除フラグを「1」から「0」に変更する(ステップS51)。そして、ラベル管理手段23は、ラベル情報テーブルD3および実行プログラムD2のバージョンをインクリメントし(ステップS52)、削除復活処理が終了となる。削除復活処理が終了したあと、ステップS10に移行する。
ステップS10を経た後、ラベル管理手段23は、ソースプログラムD1の全ての行の走査が終了したか否かを判定し(ステップS15)、終了していない場合(ステップS15、No)、ステップS2に移行して走査を継続する。終了した場合(ステップS15、Yes)、ラベルを削除する削除処理に移行する(ステップS16)。
図10は、削除処理を詳しく説明するフローチャートである。図示するように、まず、ラベル管理手段23は、ラベル情報テーブルD3から、削除フラグの値が「2」となっているレコードを検索する(ステップS61)。そして、ラベル管理手段23は、削除フラグが「2」となっているレコードが見つかったか否かを判定する(ステップS62)。見つからなかった場合(ステップS62、No)、削除処理が終了となる。
削除フラグが「2」となっているレコードが見つかった場合(ステップS62、Yes)、ラベル管理手段23は、当該レコードの削除フラグを「2」から「1」に変更する(ステップS63)。そして、ラベル管理手段23は、ラベル情報テーブルD3および実行プログラムD2のバージョンをインクリメントし(ステップS64)、削除処理が終了となる。
削除処理を経た後、実行プログラム変換の動作が終了となる。
なお、上述の実行プログラム変換においては、ソースプログラムD1を1行ずつ走査することとしたが、複数行ずつ走査するようにしてもよい。ステップS2において、走査した複数行から複数のラベルが見つかった場合、見つかったラベルの夫々に対してステップS4〜ステップS8の動作を逐次実行するようにするとよい。また、複数行ずつ走査するのではなく、ソースプログラムD1の全行を一度で走査するようにしてもよい。
また、上述の実行プログラム変換においては、各処理(データ型変更処理、割付先メモリアドレス変更処理、新規追加処理、削除復活処理、削除処理)を実行する毎にID情報またはバージョンの操作が行われるとして説明したが、ID情報またはバージョンの操作のタイミングは前記各処理毎でなくても構わない。
例えば、ラベル管理手段23は、前記各処理の実行時にはID情報およびバージョンを操作しないで前記各処理を実行したことを記憶手段4などの記憶領域に記録しておき、実行プログラム変換を終了する前に前記記録の内容に基づいてID情報またはバージョンの操作を一回だけ実行するようにしてもよい。すなわち、ラベル管理手段23は、単一のソースプログラムD1でデータ型変更処理または割付先メモリアドレス変更処理を一回でも実行した場合、ID情報の更新とバージョンの初期化とを一回だけ実行し、データ型変更処理および割付先メモリアドレス変更処理を実行することなく新規追加処理、削除復活処理、または削除処理を一回でも実行した場合、バージョンのインクリメントを一回だけ実行する。
また、データ型変更処理または割付先メモリアドレス変更処理が行われたときのみID情報が更新されるとして説明したが、データ型変更処理、割付先メモリアドレス変更処理に加えて新規追加処理、削除復活処理、削除処理のうちの任意の1つまたは2つが行われたときにもID情報が更新されるようにしても構わない。
図11は、作画装置3が画面データD4を実行画面データD5に変換する動作(実行画面データ変換)を説明するフローチャートである。図示するように、まず、実行画面データ変換手段32は、画面データD4の内容が、最後に実行画面データ変換が実行されてから変更されているか否かを判定する(ステップS71)。変更されている場合(ステップS71、Yes)、ラベル参照手段33は、ラベル情報テーブルD3を読み出すとともに、画面データ上の画面部品を1つ走査してラベルを抽出する(ステップS72)。ステップS71において、画面データD4の内容が最後に実行画面データ変換が実行されてから変更されていなかった場合(ステップS71、No)、ラベル参照手段33は、実行画面データD5のID情報とラベル情報テーブルD3のID情報とが一致するか否かを判定する(ステップS73)。双方のID情報が一致しなかった場合(ステップS73、No)、ステップS72に移行する。一致した場合(ステップS73、Yes)、実行画面データ変換が終了となる。
ステップS72に続いて、ラベル参照手段33は、画面部品からラベルが見つかったか否かを判定する(ステップS74)。ラベルが見つからなかった場合(ステップS74、No)、後述するステップS78に移行する。ラベルが見つかった場合(ステップS74、Yes)、ラベル参照手段33は、ラベル情報テーブルD3から、画面部品から見つかったラベルとラベル名が一致するレコードを検索する(ステップS75)。そして、ラベル参照手段33は、ステップS75の検索によって、ラベル情報テーブルD3から該当レコードが見つかったか否かを判定する(ステップS76)。該当レコードが見つかった場合(ステップS76、Yes)、実行画面データ変換手段32は、画面データD4上のラベルを見つかったレコードの割付先メモリアドレスで置き換える(ステップS77)。そして、ラベル参照手段33は、画面データD4の全ての画面部品の走査が終了したか否かを判定し(ステップS78)、走査が終了していない場合(ステップS78、No)、ステップS72に移行して、ラベル参照手段33は走査を続行する。
画面データD4の全ての画面部品の走査が終了した場合(ステップS78、Yes)、ラベル参照手段33は、実行画面データD5のID情報とラベル情報テーブルD3のID情報とが一致するか否かを再度判定する(ステップS79)。双方のID情報が一致した場合(ステップS79、Yes)、実行画面データ変換が終了となる。
実行画面データD5のID情報とラベル情報テーブルD3のID情報とが一致しなかった場合(ステップS79、No)、ラベル参照手段33は、実行画面データD5のID情報およびバージョンをラベル情報テーブルD3と同一のものに更新し(ステップS80)、実行画面データ変換が終了となる。
ステップS76において、該当レコードが見つからなかったとき(ステップS76、No)、ラベル参照手段33は、ラベルが登録されていない(未登録)として、実行画面データ変換を異常終了させ(ステップS81)、実行画面データ変換が終了となる。
なお、上記した実行画面データ変換においては、画面データD4が含む画面部品を1つずつ走査することとしたが、複数ずつ走査するようにしてもよい。走査した複数の画面部品から複数のラベルが見つかった場合、見つかったラベルの夫々に対してステップS75〜ステップS77、またはステップS75、S76、S81の処理を実行するようにするとよい。画面データD4が含む全ての画面部品を一度で走査するようにしてもよい。
図12は、表示器6が実行するID照合処理を説明するフローチャートである。表示器6は、PLC5に接続されると、画面制御手段64は、通信手段61を介してPLC5のメモリ52に格納されている実行プログラムD2のID情報を取得する(ステップS91)。また、画面制御手段64は、メモリ62に格納されている実行画面データD5のID情報を取得する(ステップS92)。ラベル照合処理手段65は、取得した実行プログラムD2のID情報と実行画面データD5のID情報とが一致するか否かを判定する(ステップS93)。
ステップS93において、双方のID情報が一致した場合(ステップS93、Yes)、ID照合処理が終了となる。すなわち表示器6は通常動作を開始する。双方のID情報が一致しなかった場合(ステップS93、No)、ラベル照合処理手段65は、画面制御手段64に指令して異常処理を実行させる。すなわち、ラベル照合処理手段65は、画面制御手段64を介して画面の再読込み(実行画面データD5の再変換・再ダウンロード)が必要な旨のメッセージを表示画面63に出力し(ステップS94)、画面制御手段64に対して表示画面63の操作の禁止を指示する(ステップS95)。そして、ID照合処理が終了となる。
このように、本発明の実施の形態によれば、ラベル管理手段23は、実行プログラムD2が再生成された際、該実行プログラムD2に対応するラベル情報テーブルD3を更新するとともに、該ラベル情報テーブルD3の更新内容に応じて実行プログラムD2およびラベル情報テーブルD3に付与するID情報の更新を実行/不実行する、ように構成したので、表示器6は、実行プログラムD2が再生成される毎に実行画面データD5の再ダウンロードを実行しなくても済むので、ユーザは効率的なプログラム開発を行うことができるようになる。
また、ラベル管理手段23は、実行プログラムD2およびラベル情報テーブルD3にバージョン情報を付与し、ラベル情報テーブルD3の更新内容がレコードの増減である場合、バージョン情報をインクリメント(更新)する、ように構成したので、ユーザは、ID情報が更新されない場合であっても実行プログラムD2またはラベル情報テーブルD3のバージョン情報を確認することによって実行プログラムD2、ラベル情報テーブルD3が更新されたことを認識することができるようになる。
また、ラベル情報テーブルD3はレコード毎に有効/無効を示す削除フラグを備え、ラベル管理手段23は、ラベル情報テーブルD3を更新する際、削除フラグを操作することによってレコードを削除/復元する、ように構成したので、いったん削除したレコードを復活させる場合に新たにメモリアドレスを割り付ける処理を実行しなくても済むようになる。
また、作画装置3は、実行プログラムD2が再生成された後、前記再生成された実行プログラムD2に付与されているID情報と実行画面データD5に付与したID情報とを比較し、双方のID情報が異なる場合、実行画面データD5を再生成する、ように構成したので、実行画面データD5の再生成の頻度を低減することができるので、ユーザは効率的なプログラム開発を行うことができるようになる。
以上のように、本発明にかかるPLCシステムおよび開発システムは、産業用機器を制御するためのPLCシステムおよび開発システムに適用して好適である。
1 開発システム
2 プログラミング装置
3 作画装置
4 記憶手段
5 プログラマブルコントローラ
6 プログラマブル表示器
21 編集入力受け付け手段
22 実行プログラム変換手段
23 ラベル管理手段
24 通信手段
31 編集入力受け付け手段
32 実行画面データ変換手段
33 ラベル参照手段
34 通信手段
51 通信手段
52 メモリ
53 プログラム実行手段
61 通信手段
62 メモリ
63 表示画面
64 画面制御手段
65 ラベル照合処理手段
71 CPU
72 ROM
73 RAM
74 入力部
75 表示部
76 通信部
77 外部記憶装置インタフェース
78 外部記憶装置
81 プログラミングプログラム
82 作画プログラム
100 PLCシステム
【0009】
ベル情報テーブルD3に生成したID情報を付与する。そして、プログラミング装置2は、実行プログラムD2を再生成したとき、後述する更新ルールに基づいてID情報を更新する。作画装置3は、実行画面データD5を生成したとき、ラベル情報テーブルD3に付与されていたID情報と同じ値のID情報を生成し、生成したID情報(第2識別情報)を実行画面データD5に付与しておく。
[0027]
表示器6は、PLC5との間で自身が実行する実行画面データD5のID情報とPLC5が実行する実行プログラムD2のID情報とを照合することによって、実行画面データD5の再変換が必要であるか否かを判定するID照合処理を実行する。表示器6は、双方のID情報が異なっていた場合、不正動作を防ぐための異常処理を実行する。ここでは、異常処理の一例として、画面の再読込み(実行画面データD5の再変換・ダウンロード)が必要な旨のメッセージを表示するとともに表示画面をロックすることとする。
[0028]
なお、作画装置3は、画面データD4を再変換するとき、該画面データD4に対応する実行画面データD5に付与されているID情報とラベル情報テーブルD3のID情報とを照合(比較)し、双方のID情報が異なっている場合、該画面データD4の再変換を実行し、双方のID情報が同一であった場合、該画面データD4の再変換を実行しない。
[0029]
さらに、プログラミング装置2は、実行画面データD5の再変換・ダウンロードが必要とならない変更を含む変更の有無をユーザが認識できるように、実行プログラムD2およびラベル情報テーブルD3にID情報の他にバージョン情報(以降、単にバージョン)を付与するようにしている。また、作画装置3は、ラベル情報テーブルD3に付与されていたバージョンも実行画面データD5に付与するようにしている。
[0030]
図1に示した例では、実行プログラムD2およびラベル情報テーブルD3には、ID「20081224212030」およびバージョン「2」が付与されている。また、実行画面データD5にはID「20081224212030」およびバージョン「1」が付与されている。

Claims (12)

  1. デバイスアドレスが使用される、外部機器を制御する第1プログラムを第1識別情報と対応付けて記憶する第1メモリを備え、前記第1プログラムを実行するプログラマブルコントローラ(PLC)と、
    デバイスアドレスが使用される第1画面データを第2識別情報と対応付けて記憶する第2メモリを備える表示器と、
    デバイスアドレスの代わりにラベルが使用される第2プログラム中に使用されているラベルにデバイスアドレスを割り付けることによって前記第1メモリに記憶させる第1プログラムを生成するプログラム変換部と、前記プログラム変換部が前記第1プログラムを生成したとき、前記第2プログラム中で使用されているラベルと該ラベルに割り付けられたデバイスアドレスとのラベル毎の対応付けであるラベル情報を生成するラベル管理部と、前記ラベル管理部が生成したラベル情報を前記第1識別情報と対応付けて記憶するラベル情報記憶部と、デバイスアドレスの代わりにラベルが使用される第2画面データ中に使用されているラベルを前記ラベル情報記憶部が記憶するラベル情報に基づいてデバイスアドレスに変換することによって前記第2メモリに記憶させる第1画面データを生成し、前記第1画面データを生成した時点において前記ラベル情報に対応付けられている第1識別情報と同一の値を前記第2識別情報として前記生成した第1画面データに対応付ける作画部と、を備える開発システムと、
    を備え、
    前記ラベル管理部は、前記プログラム変換部が前記第1プログラムを再生成した際、前記第1プログラムの再生成に対応して前記ラベル情報記憶部が記憶するラベル情報を更新するとともに、前記ラベル情報の更新内容に応じて該ラベル情報および前記再生成された第1プログラムに対応づけられている第1識別情報の更新を実行/不実行し、
    前記表示器は、前記PLCが実行する第1プログラムに対応付けられている第1識別情報と前記第2メモリが記憶する第1画面データに対応付けられている第2識別情報とが合致するか否かを判定し、前記双方の識別情報が合致した場合、前記第2メモリが記憶する第1画面データに基づいてデバイスアドレスの内容を前記PLCから取得して表示し、前記双方の識別情報が合致しなかった場合、異常処理を実行する、
    ことを特徴とするプログラマブルコントローラシステム。
  2. 前記ラベル管理部は、前記ラベル情報の更新内容が割り付け先のデバイスアドレスの変更である場合、前記第1識別情報を更新する、
    ことを特徴とする請求項1に記載のプログラマブルコントローラシステム。
  3. 前記第2プログラムおよび前記ラベル情報には前記第1メモリに格納されるデバイスデータのデータ型がラベル毎に記述され、
    前記ラベル管理部は、前記ラベル情報の更新内容がデータ型の変更である場合、前記第1識別情報を更新する、
    ことを特徴とする請求項1に記載のプログラマブルコントローラシステム。
  4. 前記ラベル管理部は、前記第1プログラムおよび前記ラベル情報に前記第1識別情報とともにバージョン情報を付与し、前記ラベル情報の更新内容が前記ラベル情報を構成するラベル毎の対応付けの増減である場合、前記第1識別情報を更新することなく前記バージョン情報を更新する、
    ことを特徴とする請求項2または請求項3に記載のプログラマブルコントローラシステム。
  5. 前記ラベル情報は有効/無効を示す削除フラグを前記ラベル情報を構成する対応付け毎に備え、
    前記ラベル管理部は、前記ラベル情報を更新する際、前記削除フラグを操作することによって前記ラベル情報を構成する対応付けを削除/復元する、
    ことを特徴とする請求項4に記載のプログラマブルコントローラシステム。
  6. 前記作画部は、前記プログラム変換部が前記第1プログラムを再生成した後、前記再生成された第1プログラムに対応付けられている第1識別情報と前記第1画面データに対応付けられている第2識別情報とを比較し、双方の識別情報が異なった場合、前記第1画面データを再生成する、
    ことを特徴とする請求項1〜3のうちの何れか一項に記載のプログラマブルコントローラシステム。
  7. デバイスアドレスが使用される、外部機器を制御する第1プログラムを第1識別情報と対応付けて記憶する第1メモリを備え、前記第1プログラムを実行するプログラマブルコントローラ(PLC)にダウンロードされる前記第1プログラムと、デバイスアドレスが使用される第1画面データを第2識別情報と対応付けて記憶する第2メモリを備え、前記PLCが実行する第1プログラムに対応付けられている第1識別情報と前記第2メモリが記憶する第1画面データに対応付けられている第2識別情報とが合致するか否かを判定し、前記双方の識別情報が合致した場合、前記第2メモリが記憶する第1画面データに基づいてデバイスアドレスの内容を前記PLCから取得して表示し、前記双方の識別情報が合致しなかった場合、異常処理を実行する表示器にダウンロードされる前記第1画面データと、を作成する開発システムであって、
    デバイスアドレスの代わりにラベルが使用される第2プログラム中に使用されているラベルにデバイスアドレスを割り付けることによって前記第1メモリに記憶させる第1プログラムを生成するプログラム変換部と、
    前記プログラム変換部が前記第1プログラムを生成したとき、前記第2プログラム中で使用されているラベルと該ラベルに割り付けられたデバイスアドレスとのラベル毎の対応付けであるラベル情報を生成するラベル管理部と、
    前記ラベル管理部が生成したラベル情報を前記第1識別情報と対応付けて記憶するラベル情報記憶部と、
    デバイスアドレスの代わりにラベルが使用される第2画面データ中に使用されているラベルを前記ラベル情報記憶部が記憶するラベル情報に基づいてデバイスアドレスに変換することによって前記第2メモリに記憶させる第1画面データを生成し、前記第1画面データを生成した時点において前記ラベル情報に対応付けられている第1識別情報と同一の値を前記第2識別情報として前記生成した第1画面データに対応付ける作画部と、
    を備え、
    前記ラベル管理部は、前記プログラム変換部が前記第1プログラムを再生成した際、前記第1プログラムの再生成に対応して前記ラベル情報記憶部が記憶するラベル情報を更新するとともに、前記ラベル情報の更新内容に応じて該ラベル情報および前記再生成された第1プログラムに対応づけられている第1識別情報の更新を実行/不実行する、
    ことを特徴とする開発システム。
  8. 前記ラベル管理部は、前記ラベル情報の更新内容が割り付け先のデバイスアドレスの変更である場合、前記第1識別情報を更新する、
    ことを特徴とする請求項7に記載の開発システム。
  9. 前記第2プログラムおよび前記ラベル情報には前記第1メモリに格納されるデバイスデータのデータ型がラベル毎に記述され、
    前記ラベル管理部は、前記ラベル情報の更新内容がデータ型の変更である場合、前記第1識別情報を更新する、
    ことを特徴とする請求項7に記載の開発システム。
  10. 前記ラベル管理部は、前記第1プログラムおよび前記ラベル情報に前記第1識別情報とともにバージョン情報を付与し、前記ラベル情報の更新内容が前記ラベル情報を構成するラベル毎の対応付けの増減である場合、前記第1識別情報を更新することなく前記バージョン情報を更新する、
    ことを特徴とする請求項8または請求項9に記載の開発システム。
  11. 前記ラベル情報は有効/無効を示す削除フラグを前記ラベル情報を構成する対応付け毎に備え、
    前記ラベル管理部は、前記ラベル情報を更新する際、前記削除フラグを操作することによって前記ラベル情報を構成する対応付けを削除/復元する、
    ことを特徴とする請求項10に記載の開発システム。
  12. 前記作画部は、前記プログラム変換部が前記第1プログラムを再生成した後、前記再生成された第1プログラムに対応付けられている第1識別情報と前記第1画面データに対応付けられている第2識別情報とを比較し、双方の識別情報が異なった場合、前記第1画面データを再生成する、
    ことを特徴とする請求項7〜9のうちの何れか一項に記載の開発システム。
JP2011550741A 2010-01-20 2010-01-20 プログラマブルコントローラシステムおよび開発システム Active JP5095013B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/050612 WO2011089688A1 (ja) 2010-01-20 2010-01-20 プログラマブルコントローラシステムおよび開発システム

Publications (2)

Publication Number Publication Date
JP5095013B2 JP5095013B2 (ja) 2012-12-12
JPWO2011089688A1 true JPWO2011089688A1 (ja) 2013-05-20

Family

ID=44306512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011550741A Active JP5095013B2 (ja) 2010-01-20 2010-01-20 プログラマブルコントローラシステムおよび開発システム

Country Status (7)

Country Link
US (1) US8839199B2 (ja)
EP (1) EP2527938B1 (ja)
JP (1) JP5095013B2 (ja)
KR (1) KR101392085B1 (ja)
CN (1) CN102713774B (ja)
TW (1) TWI439829B (ja)
WO (1) WO2011089688A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0365710A (ja) * 1989-08-03 1991-03-20 Meiki Co Ltd 加熱ゾーンの温度制御装置
EP2612235A4 (en) * 2010-09-03 2014-03-05 Siemens Ag METHOD FOR PARALLELIZING AUTOMATIC CONTROL PROGRAMS AND COMPILER
TWI481979B (zh) * 2011-11-08 2015-04-21 Inst Information Industry Programmable logic controller drive system, method and recording media
CN104205057B (zh) * 2012-05-08 2017-05-03 三菱电机株式会社 可编程逻辑控制器、编程工具以及程序及参数编辑系统
TWI489232B (zh) * 2012-11-14 2015-06-21 Inst Information Industry 遠端監控系統及方法及其記錄媒體
US9811071B2 (en) * 2012-11-22 2017-11-07 Mitsubishi Electric Corporation System construction support apparatus
CN104106015B (zh) * 2012-12-14 2017-03-15 发纮电机株式会社 可编程控制器系统、其可编程显示器、辅助装置、程序
JP5931276B2 (ja) * 2013-03-15 2016-06-08 発紘電機株式会社 プログラマブル表示器、そのプログラム
JP5496429B1 (ja) * 2013-04-04 2014-05-21 三菱電機株式会社 エンジニアリングツールおよびプログラマブルロジックコントローラ
CN105009007B (zh) * 2013-05-24 2017-10-20 发纮电机株式会社 可编程控制器系统及其作图编辑装置
JP6071782B2 (ja) * 2013-07-04 2017-02-01 株式会社東芝 プラント制御装置、プラント制御方法及びプラント制御プログラム
KR101635343B1 (ko) * 2014-05-12 2016-07-08 미쓰비시덴키 가부시키가이샤 프로그래머블 컨트롤러, 프로그래머블 컨트롤러 시스템, 엔지니어링 툴 및 표시기
WO2015186178A1 (ja) * 2014-06-02 2015-12-10 三菱電機株式会社 プログラマブルコントローラシステム、プログラマブルコントローラ、プログラム表示装置、プログラムの表示方法
JP6309408B2 (ja) * 2014-09-19 2018-04-11 発紘電機株式会社 プログラマブルコントローラシステム、プログラマブル表示器
CN107407920B (zh) * 2015-02-23 2019-05-17 三菱电机株式会社 控制装置及控制系统
DE112015005924T5 (de) * 2015-02-27 2017-10-19 Mitsubishi Electric Corporation Datenbearbeitungsvorrichtung, Datenbearbeitungsverfahren und Datenbearbeitungsprogramm
WO2018216082A1 (ja) * 2017-05-22 2018-11-29 三菱電機株式会社 プログラマブル表示器およびデータ取得方法
JP6419399B1 (ja) * 2018-02-05 2018-11-07 三菱電機株式会社 アラーム機能設定装置、アラーム機能設定システムおよびアラーム機能設定プログラム
JP7003842B2 (ja) * 2018-05-31 2022-01-21 オムロン株式会社 サポート装置およびサポートプログラム
US20210303495A1 (en) * 2018-09-13 2021-09-30 Mitsubishi Electric Corporation Setting assistance device, setting assistance method, and program
JP6563155B1 (ja) * 2018-10-15 2019-08-21 三菱電機株式会社 プログラマブルロジックコントローラ、外部機器、方法、及びプログラム
KR102243708B1 (ko) * 2019-01-14 2021-04-22 엘에스일렉트릭(주) Hmi 시스템의 편집 툴 갱신 방법
US20220155746A1 (en) * 2019-04-16 2022-05-19 Mitsubishi Electric Corporation Program creation support device, program creation support method, and storage medium
CN110830766B (zh) * 2019-10-15 2021-05-04 许昌许继软件技术有限公司 一种变电站监控系统间隔画面自动配置、修正方法及装置
US11218360B2 (en) 2019-12-09 2022-01-04 Quest Automated Services, LLC Automation system with edge computing
CN116319665B (zh) * 2023-03-03 2024-07-05 上海繁易信息科技股份有限公司 基于动态定位plc标签地址的通信方法、装置、设备及介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321829A (en) * 1990-07-20 1994-06-14 Icom, Inc. Graphical interfaces for monitoring ladder logic programs
JPH10333719A (ja) * 1997-05-28 1998-12-18 Denso Corp プログラマブルコントローラのプログラミング装置
JP3297844B2 (ja) 1998-01-28 2002-07-02 株式会社デジタル ダウンロードシステム及びダウンロードプログラムを記録したコンピュータ読み取り可能な記録媒体
DE60035202T2 (de) * 1999-08-31 2008-02-14 Digital Electronics Corp. Editiervorrichtung und aufzeichnungsträger, auf dem ein editierprogramm aufgezeichnet ist
JP2004258797A (ja) 2003-02-24 2004-09-16 Keyence Corp データ収集装置、プログラマブルコントローラ、データ収集システムおよびデータ収集プログラム
JP4288700B2 (ja) 2003-12-12 2009-07-01 横河電機株式会社 プログラマブルコントローラ
JP3910184B2 (ja) * 2004-03-29 2007-04-25 ファナック株式会社 シーケンスプログラム編集装置
JP2008159002A (ja) * 2006-12-26 2008-07-10 Toshiba Corp プラント制御システム、監視操作装置及びプラント監視プログラム
JP2008198148A (ja) 2007-02-16 2008-08-28 Yokogawa Electric Corp プログラマブルコントローラ
JP2009146229A (ja) * 2007-12-14 2009-07-02 Fuji Electric Systems Co Ltd プログラマブルコントローラシステム
JP2009157533A (ja) * 2007-12-25 2009-07-16 Fuji Electric Systems Co Ltd プログラマブルコントローラシステム

Also Published As

Publication number Publication date
EP2527938A4 (en) 2017-05-03
EP2527938B1 (en) 2018-09-19
WO2011089688A1 (ja) 2011-07-28
KR20120096526A (ko) 2012-08-30
US8839199B2 (en) 2014-09-16
KR101392085B1 (ko) 2014-05-07
CN102713774B (zh) 2015-05-13
TWI439829B (zh) 2014-06-01
EP2527938A1 (en) 2012-11-28
CN102713774A (zh) 2012-10-03
JP5095013B2 (ja) 2012-12-12
US20120290775A1 (en) 2012-11-15
TW201126293A (en) 2011-08-01

Similar Documents

Publication Publication Date Title
JP5095013B2 (ja) プログラマブルコントローラシステムおよび開発システム
US20100161085A1 (en) Peripheral device of programmable controller, method of variable substitution, and computer program product thereof
CN110162334B (zh) 一种代码管理方法、装置及存储介质
JP2009146229A (ja) プログラマブルコントローラシステム
JP2017167588A (ja) プログラム開発支援装置、プログラム開発支援プログラムおよびプログラム開発支援方法
JP2009157533A (ja) プログラマブルコントローラシステム
JP6205934B2 (ja) プログラマブルコントローラシステム、その支援装置、プログラム
JPWO2019229845A1 (ja) プログラム管理システム、プログラミング支援装置、プログラム管理方法、およびプログラミング支援プログラム
US20150370547A1 (en) Program editing device, program editing method and program editing program
JP7156995B2 (ja) 更新システム
JP2007094572A (ja) マスタデータ管理装置及びマスタデータ管理プログラム
JP2009176178A (ja) Plcのグローバル変数定義方式
JP2000163109A (ja) ラダープログラミング装置及びラダープログラミング方法
CN106547756A (zh) 数据库的创建方法及装置
JP5508933B2 (ja) ソフトウェア仕様の証明支援装置、及び証明支援方法
CN109284090B (zh) 一种基于svn二次开发的scd版本管理系统
JP6407481B1 (ja) プログラム作成装置
JP2023138113A (ja) 情報処理装置及び情報処理システム
JP2016151973A (ja) 制御コントロールシステム、その開発支援装置、制御装置
JP2014146914A (ja) ネットワーク装置、ネットワーク装置の制御方法及びネットワーク装置の制御プログラム
JPH08123673A (ja) プログラム管理方法及びそのシステム
JP2023006865A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2021064328A (ja) 業務手順作成システム、及び業務手順作成方法
JP4453358B2 (ja) ファイル管理装置および方法およびプログラム
CN118194297A (zh) 一种机器人伺服组件应用程序的加密升级方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120918

R150 Certificate of patent or registration of utility model

Ref document number: 5095013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250