JP2001051704A - Programmable controller - Google Patents

Programmable controller

Info

Publication number
JP2001051704A
JP2001051704A JP22367699A JP22367699A JP2001051704A JP 2001051704 A JP2001051704 A JP 2001051704A JP 22367699 A JP22367699 A JP 22367699A JP 22367699 A JP22367699 A JP 22367699A JP 2001051704 A JP2001051704 A JP 2001051704A
Authority
JP
Japan
Prior art keywords
instance
class
plc
storage means
function
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
JP22367699A
Other languages
Japanese (ja)
Other versions
JP3829905B2 (en
Inventor
Hideo Shimokawa
日出男 下川
Makoto Ishida
誠 石田
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP22367699A priority Critical patent/JP3829905B2/en
Publication of JP2001051704A publication Critical patent/JP2001051704A/en
Application granted granted Critical
Publication of JP3829905B2 publication Critical patent/JP3829905B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a PLC by which new control function parts on process control can easily be generated on a user side through the use of compiler-type language and especially an existed hardware PLC user can function-block only the necessary part of software property if necessary. SOLUTION: MPU 101 which controls a whole module, a first RAM 103 which temporarily stores a system work and stores a user program, a non- volatile ROM 102 storing a system program for executing a module function and a second RAM 104 are provided in the CPU module 1 of PLC. In the second RAM, information required for generating instances being real operation control function parts based on a class registered in the non-volatile ROM, an instance number, a quotation source class number, operation timing setting and the like are stored in addition to the on/off state of a peripheral I/Q unit and an operation result by the user program, for example.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、ユーザにて定義
されたファンションブロックから該当する実動作制御機
能部品(インスタンス)を自動生成して動作するように
したプログラマブル・コントローラ(以下、PLCと言
う)に係り、特に、実動作制御機能部品の基となるクラ
スの記述にオブジェクト指向プログラミング手法を採用
することで、ファンクションブロックの新規作成並びに
変更をユーザ側でも容易に可能とすると共に、既存技術
との親和性も良好なプログラマブル・コントローラに関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a programmable controller (hereinafter, referred to as a PLC) which automatically generates a corresponding actual operation control functional component (instance) from a function block defined by a user and operates. In particular, by adopting the object-oriented programming method for the description of the class that is the basis of the actual operation control functional components, it is possible for the user to easily create and change a function block, and to use the existing technology. The present invention relates to a programmable controller having a good affinity for.

【0002】[0002]

【従来の技術】周知のように、スキャニングタイプPL
Cの基本的な動作は、外部入力回路から取り込まれた入
力データを入出力メモリの入力エリアに書き込む処理
(入力リフレッシュ処理)、入出力メモリの入出力デー
タに基づいてユーザの作成した制御プログラム(ユーザ
プログラム)を実行して同メモリの出力エリアの内容を
書き替える処理(命令実行処理)、入出力メモリの出力
データを外部出力回路へと送出する処理(出力リフレッ
シュ処理)を繰り返し実行するものである。
2. Description of the Related Art As is well known, a scanning type PL is used.
The basic operation of C is a process of writing input data fetched from an external input circuit into an input area of an input / output memory (input refreshing process), and a control program created by a user based on input / output data of the input / output memory. It repeatedly executes a process of executing a user program) to rewrite the contents of the output area of the memory (instruction execution process) and a process of sending output data of the input / output memory to an external output circuit (output refresh process). is there.

【0003】ところで、所望の制御仕様を満足させるよ
うに作成されるユーザプログラム(プログラムを一部マ
イクロ化したファンクションブロックを含む)は、個々
のPLC毎に決められた所定の言語を使用してユーザ自
身が作成するのが通例である。言語には様々な文法のも
のが存在するが、概ね、インタプリタ型言語とコンパイ
ラ型言語とに大別され、それら言語には、一長一短があ
る。
[0003] By the way, a user program (including a function block in which a program is partially micronized) created to satisfy a desired control specification is provided by a user using a predetermined language determined for each PLC. It is customary to create your own. There are various grammars in the language, but they are roughly divided into an interpreted language and a compiled language, and these languages have advantages and disadvantages.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、PLC
のユーザプログラムの作成方法、実行方法に関しては、
従来、以下のような問題点が指摘されている。 (1)インタプリタ型言語で作成したプログラムは、実
行用マイクロプロセッサ(MPU)が直接実行できるコ
ードになっていないため、逐次解読しながらの実行とな
り、相対的にコンパイラ言語に比較して処理速度が低下
する。 (2)一旦作成した制御機能部品を、制御内容が僅かに
異なる部分に流用したり、再利用することが困難である
(開発生産性上の問題点)。 (3)コンパイラ型言語においては、プログラムを動的
に変更するのが困難である(オンライン編集上の問題
点)。 (4)少し異なる部分に対する改造の影響度を完全に検
証するのが困難である(開発品質上の問題点)。さら
に、IEC1131−3等で定義されるファンクション
ブロック(FB)を実行するPLCにおいては、従来以
下のような問題点があった。 (5)そのようなシステムは、Windows等の汎用
OS上で動作するソフトPLCとして実現されているた
め、一定時間以内に必ず実行を終えるためのリアルタイ
ム性能を保証できないこと、汎用OSの頻繁なアップデ
ート等に対して、構成ソフトを含めた長期に亘るバージ
ョン維持の負担が大きいこと、と言った問題点が指摘さ
れている。 (6)既存のラダーやSFCのみが動作するハードウェ
アPLCにおいて、そのソフトやハードの資源を利用で
きるようなファンクションブロックの実行機能を有する
PLCが存在しない。
SUMMARY OF THE INVENTION However, PLC
For how to create and execute the user program of
Conventionally, the following problems have been pointed out. (1) Since a program created in an interpreted language is not a code that can be directly executed by an execution microprocessor (MPU), it is executed while being sequentially decoded, and the processing speed is relatively higher than that of a compiler language. descend. (2) It is difficult to reuse a control function component once created for a part having slightly different control contents or to reuse it (a problem in development productivity). (3) In a compiler type language, it is difficult to dynamically change a program (a problem in online editing). (4) It is difficult to completely verify the degree of influence of modification on slightly different parts (problems in development quality). Furthermore, a PLC that executes a function block (FB) defined by IEC1131-3 or the like has the following conventional problems. (5) Since such a system is realized as a software PLC that runs on a general-purpose OS such as Windows, it cannot guarantee real-time performance to complete execution within a certain time, and frequently updates the general-purpose OS. On the other hand, it has been pointed out that the burden of maintaining the version over a long period of time including the configuration software is large. (6) In existing hardware ladders or hardware PLCs in which only the SFC operates, there is no PLC having a function block execution function that can use the software or hardware resources.

【0005】本発明はこのような従来の問題点に着目し
てなされたもので、その目的とするところは、例えばプ
ロセス制御上の新たな制御機能部品を処理速度に有利な
コンパイラ型言語を用いてユーザ側で容易に作成するこ
と、及び、一旦作成した制御機能部品を制御内容が僅か
に異なる部分に流用したり、再利用することが容易であ
り、さらに、プログラムを動的に変更すること、及び、
少し異なる部分に対する改造の影響度を完全に検証する
ことも容易であり、加えて、既存のハードウェアPLC
ユーザがそのソフト資産を必要な部分のみ必要なときに
ファンクションブロック化することが可能なプログラマ
ブル・コントローラを提供することにある。
The present invention has been made in view of such a conventional problem. The purpose of the present invention is to use, for example, a new control function component for process control by using a compiler type language which is advantageous in processing speed. Easy to create on the user side, and it is easy to reuse the control functional components once created for a part with slightly different control contents or to reuse them, and to change the program dynamically. ,as well as,
It is also easy to fully verify the impact of the modification on slightly different parts, and in addition to the existing hardware PLC
It is an object of the present invention to provide a programmable controller that allows a user to convert a software asset into a function block when only a necessary part is needed.

【0006】[0006]

【課題を解決するための手段】この出願の請求項1に記
載の発明は、オブジェクト指向プログラミング言語によ
り記述された、類似する制御機能部品の代表特性部品で
あるクラスをライブラリとして登録させた第1の記憶手
段と、前記第1の記憶手段にライブラリとして登録させ
たクラスを基に実動作制御機能部品であるインスタンス
を生成するために必要とされるインスタンス生成情報を
記憶させた第2の記憶手段と、ラダー言語等の既存PL
Cのユーザ言語を使用して記述されかつ前記実動作制御
機能部品については所定のファンクションプロックを使
用して記述されたユーザプログラムを記憶させた第3の
記憶手段と、オブジェクト指向C++コンパイラ型言語
等の仮想関数と呼ばれる間接リンク記述方法により、前
記第3の記憶手段に記憶された各ファンクションブロッ
クから、前記第1の記憶手段にライブラリとして登録さ
れたファンクションブロッククラスと前記第2の記憶手
段に記憶されたインスタンス生成情報とに基づいて実動
作制御機能部品であるインスタンスを動的に生成するイ
ンスタンス生成手段と、前記インスタンス生成手段にて
生成されたインスタンスを含むユーザプログラムを実行
するユーザプログラム実行手段と、を具備することを特
徴とするプログラマブル・コントローラにある。
According to a first aspect of the present invention, there is provided a first method in which a class described in an object-oriented programming language, which is a representative characteristic component of a similar control functional component, is registered as a library. And second storage means for storing instance generation information required to generate an instance which is an actual operation control functional component based on a class registered as a library in the first storage means. And existing PL such as ladder language
Third storage means for storing a user program described using a C user language and for the actual operation control functional component described using a predetermined function block, an object-oriented C ++ compiler type language, etc. According to an indirect link description method called a virtual function, a function block class registered as a library in the first storage unit and a function block class stored in the second storage unit from each function block stored in the third storage unit Instance generation means for dynamically generating an instance which is an actual operation control functional component based on the generated instance generation information, and user program execution means for executing a user program including the instance generated by the instance generation means. A program comprising: In the Bull controller.

【0007】この出願の請求項2に記載の発明は、新た
に作成されたクラスを第1の記憶手段に登録するための
クラス登録制御手段を有することを特徴とする請求項1
に記載のプログラマブル・コントローラにある。
The invention according to claim 2 of the present application has class registration control means for registering a newly created class in the first storage means.
In the programmable controller described in (1).

【0008】この出願の請求項3に記載の発明は、第2
の記憶手段が入出力メモリであることを特徴とする請求
項1又は2に記載のプログラマブル・コントローラにあ
る。
[0008] The invention described in claim 3 of the present application is a second invention.
3. The programmable controller according to claim 1, wherein the storage means is an input / output memory.

【0009】この出願の請求項4に記載の発明は、ファ
ンクションブロックのインスタンス生成情報、動作タイ
ミング設定、変数のアドレス情報等の初期設定データを
入出力メモリの電源断記憶エリアに格納したことを特徴
とする請求項3に記載のプログラマブル・コントローラ
にある。
The invention described in claim 4 of this application is characterized in that initialization data such as function block instance generation information, operation timing settings, and address information of variables are stored in a power-off storage area of an input / output memory. The programmable controller according to claim 3, wherein

【0010】このような構成によれば、次のような作用
効果が得られることとなる。 (1)作成された制御機能部品の小変更に関しては、イ
ンスタンス生成情報を変更するだけで対応することがで
きる。 (2)PLCのI/Oメモリ上に設定されたインスタン
ス生成情報を変更するだけで、対応するインスタンスを
動的に再生成することができる。 (3)既存の制御機能部品と全く相違する新規な制御機
能部品が求められている場合にも、オブジェクト指向プ
ログラミング言語であるC++言語等で新規にクラスの
作成・登録が可能となる。また、ラダーやSFCプログ
ラム等の実行結果やファンクションプロック(FB)の
インスタンス生成における参照情報を入出力メモリに格
納するように構成すれば、次のような作用効果が得られ
ることとなる。 (4)既存のハードウェアPLCユーザがそのソフト資
源を必要な部分のみ必要なときにファンクションブロッ
ク化することが可能となる。 (5)ラダープログラムとファンクションブロック(F
B)との連携により、ラダープログラムの記述がシンプ
ルなものとなる。例えば、インターロック条件、起動条
件、工程遷移等はラダーで記述することにより、ハード
周りのデバッグ・保守が容易で、ラダーに詳しい保全担
当者にわかりやすいものとなる。 (6)ファンクションブロックの入出力変数が既存PL
Cの入出力メモリ上に割り付けられているため、従来の
PLC用ラダーモニタツール、タッチパネル、SCAD
A等から容易にモニタ/変更が可能である。 (7)ファンクションブロック(FB)のインスタンス
生成情報(インスタンス番号、引用元クラス番号、動作
タイミング設定、変数のアドレス情報等の初期設定デー
タ)を入出力メモリの電源断記憶エリアに格納すれば、
電源断時もラダープログラムに関する情報と合わせて一
括してバックアップすることができる。 (8)ファンクションブロック用として作成した入出力
変数情報を、ラダープログラムやSFC、SCADA、
タッチパネル等で共用できる。
According to such a configuration, the following operation and effect can be obtained. (1) A small change in the created control functional component can be dealt with only by changing the instance generation information. (2) By simply changing the instance generation information set on the PLC I / O memory, the corresponding instance can be dynamically regenerated. (3) Even when a new control function component completely different from the existing control function component is required, a new class can be created and registered in the C ++ language, which is an object-oriented programming language. If the configuration is such that the execution result of a ladder, an SFC program, or the like, or reference information for generating an instance of a function block (FB) is stored in the input / output memory, the following operation and effect can be obtained. (4) Existing hardware PLC users can convert their software resources into function blocks when only necessary parts are needed. (5) Ladder program and function block (F
By coordinating with B), the description of the ladder program becomes simple. For example, by describing the interlock condition, the start condition, the process transition, and the like in a ladder, debugging and maintenance around the hardware can be easily performed, and the maintenance person familiar with the ladder can easily understand. (6) Input / output variables of function block are existing PL
Since it is allocated on the input / output memory of C, conventional ladder monitor tool for PLC, touch panel, SCAD
It is possible to easily monitor / change from A or the like. (7) If the instance generation information of the function block (FB) (initial setting data such as the instance number, the quoted class number, the operation timing setting, and the address information of the variable) is stored in the power-off storage area of the input / output memory,
Even when the power is turned off, it can be backed up together with the information on the ladder program. (8) The input / output variable information created for the function block is stored in a ladder program, SFC, SCADA,
Can be shared with a touch panel.

【0011】[0011]

【発明の実施の形態】以下に、この発明に係るプログラ
マブル・コントローラ(PLC)の好適な実施の一形態
を添付図面に基づいて詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a preferred embodiment of a programmable controller (PLC) according to the present invention will be described in detail with reference to the accompanying drawings.

【0012】本発明が適用されたPLCの実施の一形態
が図1〜図4に示されている。先に説明したように、本
発明のPLCは、オブジェクト指向プログラミング言語
により記述された、類似する制御機能部品の代表特性部
品であるクラスをライブラリとして登録させた第1の記
憶手段と、前記第1の記憶手段にライブラリとして登録
させたクラスを基に実動作制御機能部品であるインスタ
ンスを生成するために必要とされるインスタンス生成情
報を記憶させた第2の記憶手段と、所定のユーザ言語を
使用して記述されかつ前記実動作制御機能部品について
は所定のファンクションプロックを使用して記述された
ユーザプログラムを記憶させた第3の記憶手段と、前記
第3の記憶手段に記憶された各ファンクションブロック
を、前記第1の記憶手段にライブラリとして登録された
クラスと前記第2の記憶手段に記憶されたインスタンス
生成情報とに基づいて実動作制御機能部品であるインス
タンスに変換生成するインスタンス生成手段と、前記イ
ンスタンス生成手段にて生成されたインスタンスを含む
ユーザプログラムを実行するユーザプログラム実行手段
と、を具備することを特徴とするものである。
One embodiment of a PLC to which the present invention is applied is shown in FIGS. As described above, the PLC according to the present invention includes: a first storage unit in which a class described as a representative characteristic component of a similar control functional component described in an object-oriented programming language is registered as a library; A second storage means for storing instance generation information required for generating an instance which is an actual operation control functional component based on a class registered as a library in the storage means, and using a predetermined user language Storage means for storing a user program described using a predetermined function block for the actual operation control functional component, and each function block stored in the third storage means. Of the class registered as a library in the first storage means and the class stored in the second storage means. Instance generating means for converting and generating an instance which is an actual operation control functional component based on the instance generation information; and a user program executing means for executing a user program including the instance generated by the instance generating means. It is characterized by the following.

【0013】この実施形態では、以上の構成に加えて、
さらに、新たに作成されたクラスを第1の記憶手段に登
録するためのクラス登録制御手段が設けられている。加
えて、第2の記憶手段としては、I/Oメモリが使用さ
れている。さらに、ファンクションブロックのインスタ
ンス生成情報(インスタンス番号、引用元クラス番号、
動作タイミング設定、変数のアドレス情報等の初期設定
データ)を入出力メモリの電源断記憶エリアに格納して
いる。
In this embodiment, in addition to the above configuration,
Further, a class registration control unit for registering the newly created class in the first storage unit is provided. In addition, an I / O memory is used as the second storage means. In addition, function block instance generation information (instance number, quoted class number,
Initial setting data such as operation timing settings and address information of variables are stored in a power-off storage area of the input / output memory.

【0014】このPLCの中核をなすCPUモジュール
の内部構成が図1に示されている。同図に示されるよう
に、このPLCのCPUモジュール(一般には、CPU
ユニット等とも称される)1は、バスコネクタ2を介し
てI/Oユニットや各種高機能端末ユニット等が接続さ
れた周辺I/Oバス3に接続が可能に構成されている。
また、このCPUモジュール1はシリアルポート4を介
してサポートツール5にも接続が可能に構成されてい
る。
FIG. 1 shows the internal configuration of the CPU module which forms the core of the PLC. As shown in the figure, a CPU module (generally, a CPU
The unit 1 is also configured to be connectable to a peripheral I / O bus 3 to which an I / O unit and various advanced terminal units are connected via a bus connector 2.
The CPU module 1 can be connected to a support tool 5 via a serial port 4.

【0015】CPUモジュール1内には、該モジュール
全体を統括制御するためのマイクロプロセッサユニット
(以下、MPUと言う)101と、不揮発性ROM10
2と、第1のRAM103と、第2のRAM104と、
バスアービタ105とが含まれている。
In the CPU module 1, a microprocessor unit (hereinafter, referred to as MPU) 101 for controlling the entire module, and a nonvolatile ROM 10
2, a first RAM 103, a second RAM 104,
And a bus arbiter 105.

【0016】不揮発性ROM102内には、後述するC
PUモジュール1としての機能を実現するためにMPU
101にて実行されるべきシステムプログラムが格納さ
れている。加えて、この不揮発性ROM102内には、
類似する制御機能部品(例えば、プロセス制御における
PID演算器、等)の代表特性部品であるクラスがライ
ブラリの形態として格納されている。このライブラリを
構成する各制御機能部品であるクラスは、オブジェクト
指向プログラミング言語(例えば、C++言語等)によ
り記述されている。なお、ここで『部品』とは、ソフト
ウェア部品のことを意味している。
The non-volatile ROM 102 has a C
MPU for realizing the function as PU module 1
A system program to be executed at 101 is stored. In addition, in this nonvolatile ROM 102,
A class, which is a representative characteristic component of a similar control function component (for example, a PID calculator in process control), is stored in the form of a library. The classes, which are the control function components constituting this library, are described in an object-oriented programming language (for example, C ++ language). Here, “parts” means software parts.

【0017】第1のRAM103は所謂ユーザプログラ
ムメモリとして機能するものであり、この第1のRAM
103には演算途中結果等を一時記憶させるシステムワ
ーク、並びに、ユーザプログラムが格納される。そし
て、このユーザプログラムには、本発明に関連して自動
生成されたファンクションブロック(インスタンス)の
ほかに、ユーザが任意作成したラダー図を構成する論理
命令(LD,AND,OR)等が含まれる。
The first RAM 103 functions as a so-called user program memory.
103 stores a system work for temporarily storing an intermediate calculation result and the like, and a user program. The user program includes, in addition to the function blocks (instances) automatically generated in connection with the present invention, logic instructions (LD, AND, OR) constituting a ladder diagram arbitrarily created by the user, and the like. .

【0018】第2のRAM104は所謂I/Oメモリと
して機能するものであり、この第2のRAM104に
は、不揮発性ROM102にライブラリとして登録させ
たクラスを基に実動作制御機能部品であるインスタンス
を生成するために必要とされるインスタンス生成情報
(インスタンス番号、引用元クラス番号、動作タイミン
グ設定、変数のアドレス情報等の初期設定データ)、周
辺I/Oモジュール(周辺I/Oユニットの意)のオン
オフ状態、ユーザプログラムで行われたデータ演算結果
等が格納される。ここで大切なことは、上記のインスタ
ンス生成情報は、第2のRAM104の電源断記憶エリ
アに配置されている点である。
The second RAM 104 functions as a so-called I / O memory. The second RAM 104 stores an instance which is an actual operation control function component based on a class registered as a library in the nonvolatile ROM 102. Of instance generation information (initial setting data such as instance number, quoted class number, operation timing setting, and address information of variables) required for generation, and peripheral I / O modules (meaning peripheral I / O units) The on / off state, the result of data calculation performed by the user program, and the like are stored. What is important here is that the above instance generation information is located in the power-off storage area of the second RAM 104.

【0019】バスアービタ105は、MPU101と周
辺I/Oとが択一的に第2のRAM104をアクセスす
る作用を調停するものであり、また周辺I/Oバス3は
CPUモジュール1が周辺I/Oモジュールに対してI
/Oリフレッシュする際に使用される。
The bus arbiter 105 arbitrates the operation of the MPU 101 and the peripheral I / O to access the second RAM 104 alternatively, and the peripheral I / O bus 3 is provided by the CPU module 1 for the peripheral I / O. I for module
Used for / O refresh.

【0020】すなわち、この実施形態に示されるPLC
は、CPUモジュール1と周辺I/Oモジュールとを基
本として構成されるものであり、そのうちCPUモジュ
ール1のみが図1に示されている。なお、サポートツー
ル5は、部品クラスの作成や登録、インスタンス生成情
報の設定のために使用される。
That is, the PLC shown in this embodiment
Is based on a CPU module 1 and a peripheral I / O module, of which only the CPU module 1 is shown in FIG. The support tool 5 is used for creating and registering component classes and setting instance generation information.

【0021】次に、不揮発性ROM102に格納された
システムプログラムについて説明する。システムプログ
ラムの構成を示すフローチャートが図2に示されてい
る。
Next, the system program stored in the nonvolatile ROM 102 will be described. FIG. 2 is a flowchart showing the configuration of the system program.

【0022】同図において、電源投入により処理が開始
されると、先ず、イニシャル処理が実行されて、各種の
ハードウェアやメモリの初期化処理が行われる(ステッ
プ201)。
In FIG. 1, when the process is started by turning on the power, an initial process is first performed to initialize various hardware and memories (step 201).

【0023】このようにしてイニシャル処理(ステップ
201)が終了すると、続いて、本発明の要部であるイ
ンスタンス生成処理(ステップ202)が実行される。
このインスタンス生成処理(ステップ202)では、I
/Oメモリとして機能する第2のRAM104からユー
ザプログラム中に含まれるファンクションブロック(F
B)に対応する全インスタンス生成情報を読み出し、実
行指定された全てのインスタンスを生成する処理を実行
する(ステップ202)。
When the initial processing (step 201) is completed in this way, subsequently, an instance generation processing (step 202) which is a main part of the present invention is executed.
In this instance generation processing (step 202), I
A function block (F) included in the user program from the second RAM 104 functioning as an I / O memory
All instance generation information corresponding to B) is read, and a process of generating all instances designated to be executed is executed (step 202).

【0024】このインスタンス生成処理の過程が、図3
のブロック図に概念的に示されている。同図から明らか
なように、このインスタンス生成処理では、制御機能部
品のクラスAを基に、I/Oメモリとして機能する第2
のRAM104上の各インスタンス生成情報を参照し
て、インスタンスA1〜A3を生成する。
The process of this instance generation processing is shown in FIG.
Is conceptually shown in the block diagram of FIG. As can be seen from the figure, in this instance generation processing, the second functioning as an I / O memory is performed based on the class A of the control functional component.
With reference to each instance generation information on the RAM 104, the instances A1 to A3 are generated.

【0025】仮想関数を使用した動的リンク方法が図4
に示されている。同図に示されるように、制御部品クラ
スAから生成される3個のインスタンスをA1,A2,
A3とすると、インスタンスA1,A2,A3とクラス
Aの仮想関数テーブルとの間には、それらのインスタン
スA1,A2,A3の生成時に動的にポインタが張られ
る。一方、クラスAの仮想関数テーブルと関数実体との
間の関係は、クラスAの作成時にスタティックに決定さ
れている。このようにして、各インスタンスA1,A
2,A3と関数実体F1,F2,F3とが互いに関係付
けられる。部品情報エリア並びに各部品データエリアに
関する部品インスタンス生成情報テーブル仕様の具体例
を参考のために図5に示す。
FIG. 4 shows a dynamic link method using a virtual function.
Is shown in As shown in the figure, three instances generated from the control component class A are A1, A2,
If A3 is set, a pointer is dynamically set between the instances A1, A2, A3 and the virtual function table of the class A when the instances A1, A2, A3 are generated. On the other hand, the relationship between the virtual function table of class A and the function entity is statically determined when class A is created. Thus, each instance A1, A
2, A3 and the function entities F1, F2, F3 are related to each other. FIG. 5 shows a specific example of a component instance generation information table specification for the component information area and each component data area for reference.

【0026】図2に戻って、インスタンス生成処理(ス
テップ202)が終了したならば、続いて、共通処理
(ステップ203)が実行される。この共通処理(ステ
ップ203)では、例えば、周辺I/Oバス3を介して
図示しない周辺I/Oモジュールにアクセスすること
で、I/Oリフレッシュ処理を実行する。なお、当業者
には周知のように、このI/Oリフレッシュ処理におい
ては、周辺I/Oモジュールから取り込んだ入力データ
をI/Oメモリの入力領域に書き込む処理、並びに、I
/Oメモリの出力領域の出力データを周辺I/Oモジュ
ールへと送出する処理が実行される。
Returning to FIG. 2, when the instance generation processing (step 202) is completed, the common processing (step 203) is subsequently executed. In the common process (step 203), for example, an I / O refresh process is executed by accessing a peripheral I / O module (not shown) via the peripheral I / O bus 3. As is well known to those skilled in the art, in this I / O refresh processing, processing for writing input data fetched from a peripheral I / O module to an input area of an I / O memory, and I / O refresh processing
A process of transmitting output data of the output area of the / O memory to the peripheral I / O module is executed.

【0027】共通処理(ステップ203)が終了したな
らば、続いて、ユーザプログラム実行処理(ステップ2
04)が行われる。このユーザプログラムには、本発明
に関連して自動生成されたインスタンスである制御機能
部品のほかに、ユーザが任意作成したラダー図を構成す
る論理命令(LD,AND,OR)等のインスタンスが
含まれる。そして、このユーザプログラム実行処理(ス
テップ204)では、番号の若い順に有効なインスタン
スの実行が行われる。
When the common process (step 203) is completed, the user program execution process (step 2)
04) is performed. The user program includes, in addition to the control function component which is an instance automatically generated in connection with the present invention, an instance of a logic instruction (LD, AND, OR) or the like constituting a ladder diagram arbitrarily created by a user. It is. Then, in this user program execution process (step 204), valid instances are executed in ascending order of the number.

【0028】ユーザプログラム実行処理(ステップ20
4)が終了したならば、続いて、周辺サービス処理(ス
テップ205)が実行される。この周辺サービス処理
(ステップ205)では、リモートI/Oモジュールと
交信したり、各種の高機能端末ユニットとデータのやり
取りを行う等の周辺サービス処理が行われる。
User program execution processing (step 20)
When 4) is completed, the peripheral service processing (step 205) is subsequently performed. In this peripheral service processing (step 205), peripheral service processing such as communication with the remote I / O module and exchange of data with various sophisticated terminal units is performed.

【0029】この周辺サービス処理には、シリアルポー
ト4を経由するサポートツール5との交信も含まれる。
すなわち、作成された制御機能部品の小変更に関して
は、サポートツール5からのデータに基づいて、第2の
RAM104上のインスタンス生成情報が変更される。
また、既存の制御機能部品と全く相違する新規な制御機
能部品が求められている場合にも、サポートツール5を
操作して、オブジェクト指向プログラミング言語である
C++言語等で、フラッシュROM等の不揮発性ROM
102上に新規にクラスの作成・登録が行われる。
The peripheral service processing includes communication with the support tool 5 via the serial port 4.
That is, regarding the small change of the created control functional component, the instance generation information on the second RAM 104 is changed based on the data from the support tool 5.
Further, even when a new control function component completely different from the existing control function component is required, the support tool 5 is operated and a non-volatile memory such as a flash ROM is written in an object-oriented programming language such as C ++. ROM
A new class is created and registered on 102.

【0030】以上の処理(ステップ203,204,2
05)を繰り返す間に(ステップ206NO)、周辺サ
ービス処理(ステップ205)にてインスタンス生成情
報がサポートツール5からのデータにより変更される
と、直ちに動的インスタンス変更有りとの判定がなされ
て(ステップ206YES)、対応するインスタンスは
部分的に再生成される(ステップ207)。すなわち、
PLCのI/Oメモリ上に設定されたインスタンス生成
情報を変更するだけで、対応するインスタンスを動的に
再生成することができる。
The above processing (steps 203, 204, 2)
When the instance generation information is changed by the data from the support tool 5 in the peripheral service processing (step 205) during the repetition of step 05) (step 206 NO), it is immediately determined that there is a dynamic instance change (step 206). 206 YES), the corresponding instance is partially regenerated (step 207). That is,
By simply changing the instance generation information set on the PLC I / O memory, the corresponding instance can be dynamically regenerated.

【0031】部品化のためのラダープログラム記述方法
の一例が図4に示されている。同図はラダープログラム
からファンクションブロックインスタンス(PID1)
に対してAUTOモードで起動するコマンドを発行する
例である。ファンクションブロックの入出力変数名をグ
ローバル変数として名称定義されたタグ名として用いて
記述することで、ラダープログラムを抽象化し、部品化
・再利用を可能とする。また、タッチパネルやSCAD
Aのタグ名としても利用することができる。
FIG. 4 shows an example of a ladder program description method for componentization. The figure shows the function block instance (PID1) from the ladder program.
This is an example of issuing a command to start in the AUTO mode. By describing the input / output variable names of the function blocks as tag names defined as global variables, the ladder program is abstracted, and components can be made and reused. In addition, touch panel and SCAD
It can also be used as the tag name of A.

【0032】このように、以上説明した本発明PLCの
実施形態においては、クラスの作成・登録やインスタン
ス生成のための情報設定用サポートツール5と、インス
タンス生成のための情報を設定するI/Oメモリとして
機能する第2のRAM104と、インスタンス生成情報
を基にクラスからインスタンスを生成するためのファー
ムウェア(不揮発性ROM102に格納されたシステム
プログラム)と、インスタンス生成されたオブジェクト
を実行する仕組みを有するファームウェア(不揮発性R
OM102に格納されたシステムプログラム)と、それ
らのファームウェアを実現するMPU101とを具備し
たことにより、以下の効果が得られる。 (1)作成された制御機能部品の小変更に関しては、イ
ンスタンス生成情報を変更するだけで対応することがで
きる。 (2)PLCのI/Oメモリ上に設定されたインスタン
ス生成情報を変更するだけで、対応するインスタンスを
動的に再生成することができる。 (3)既存の制御機能部品と全く相違する新規な制御機
能部品が求められている場合にも、オブジェクト指向プ
ログラミング言語であるC++言語等で新規にクラスの
作成・登録が可能となる。また、ラダーやSFCプログ
ラム等の実行結果やファンクションプロック(FB)の
インスタンス生成における参照情報を入出力メモリに格
納するように構成すれば、次のような作用効果が得られ
ることとなる。 (4)既存のハードウェアPLCユーザがそのソフト資
源を必要な部分のみ必要なときにファンクションブロッ
ク化することが可能となる。 (5)ラダープログラムとファンクションブロック(F
B)との連携により、ラダープログラムの記述がシンプ
ルなものとなる。例えば、インターロック条件、起動条
件、工程遷移等はラダーで記述することにより、ハード
周りのデバッグ・保守が容易で、ラダーに詳しい保全担
当者にわかりやすいものとなる。 (6)ファンクションブロックの入出力変数が既存PL
Cの入出力メモリ上に割り付けられているため、従来の
PLC用ラダーモニタツール、タッチパネル、SCAD
A等から容易にモニタ/変更が可能である。 (7)ファンクションブロック(FB)のインスタンス
生成情報(インスタンス番号、引用元クラス番号、動作
タイミング設定、変数のアドレス情報等の初期設定デー
タ)を入出力メモリの電源断記憶エリアに格納すれば、
電源断時もラダープログラムに関する情報と合わせて一
括してバックアップすることができる。 (8)ファンクションブロック用として作成した入出力
変数情報を、ラダープログラムやSFC、SCADA、
タッチパネル等で共用できる。
As described above, in the above-described embodiment of the PLC of the present invention, the information setting support tool 5 for class creation / registration and instance generation and the I / O for setting information for instance generation are provided. A second RAM 104 functioning as a memory, firmware for generating an instance from a class based on the instance generation information (a system program stored in the nonvolatile ROM 102), and firmware having a mechanism for executing the instanced object (Non-volatile R
The following effects can be obtained by providing the system program (system program stored in the OM 102) and the MPU 101 for realizing the firmware. (1) A small change in the created control functional component can be dealt with only by changing the instance generation information. (2) By simply changing the instance generation information set on the PLC I / O memory, the corresponding instance can be dynamically regenerated. (3) Even when a new control function component completely different from the existing control function component is required, a new class can be created and registered in C ++ language or the like, which is an object-oriented programming language. If the configuration is such that the execution result of a ladder, an SFC program, or the like, or reference information for generating an instance of a function block (FB) is stored in the input / output memory, the following operation and effect can be obtained. (4) Existing hardware PLC users can convert their software resources into function blocks when only necessary parts are needed. (5) Ladder program and function block (F
By coordinating with B), the description of the ladder program becomes simple. For example, by describing the interlock condition, the start condition, the process transition, and the like in a ladder, debugging and maintenance around the hardware can be easily performed, and the maintenance person familiar with the ladder can easily understand. (6) Input / output variables of function block are existing PL
Since it is allocated on the input / output memory of C, conventional ladder monitor tool for PLC, touch panel, SCAD
It is possible to easily monitor / change from A or the like. (7) If the instance generation information (initial setting data such as the instance number, the quoted class number, the operation timing setting, and the address information of the variable) of the function block (FB) is stored in the power-off storage area of the input / output memory,
Even when the power is turned off, it can be backed up together with the information about the ladder program. (8) Input / output variable information created for the function block is stored in a ladder program, SFC, SCADA,
Can be shared with a touch panel.

【0033】[0033]

【発明の効果】以上の実施形態の説明でも明らかなよう
に、この発明によれば、例えばプロセス制御上の新たな
制御機能部品をユーザ側で容易に作成すること、及び、
一旦作成した制御機能部品を制御内容が僅かに異なる部
分に流用したり、再利用することが容易であり、さら
に、プログラムを動的に変更すること、及び、少し異な
る部分に対する改造の影響度を完全に検証することも容
易であり、加えて、既存のハードウェアPLCユーザが
そのソフト資産を必要な部分のみ必要なときにファンク
ションブロック化することが可能なプログラマブル・コ
ントローラを提供することができる。
As is apparent from the above description of the embodiment, according to the present invention, for example, a user can easily create a new control functional component for process control, and
It is easy to reuse the control function parts that have been created for parts with slightly different control contents, and to reuse them.Furthermore, it is possible to change the program dynamically and to evaluate the degree of influence of modification on slightly different parts. It is also easy to completely verify, and in addition, it is possible to provide a programmable controller that allows existing hardware PLC users to convert their software assets into function blocks only when necessary.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明が適用されたプログラマブル・コントロ
ーラのCPUモジュールの内部ハードウェア構成を示す
ブロック図である。
FIG. 1 is a block diagram showing an internal hardware configuration of a CPU module of a programmable controller to which the present invention has been applied.

【図2】不揮発性ROMに記憶されたシステムプログラ
ムの構成を示すフローチャートである。
FIG. 2 is a flowchart showing a configuration of a system program stored in a nonvolatile ROM.

【図3】インスタンス生成過程を概念的に説明するため
のブロック図である。
FIG. 3 is a block diagram for conceptually explaining an instance generation process.

【図4】仮想関数を使用した動的リンク方法を説明する
ための図である。
FIG. 4 is a diagram for explaining a dynamic link method using a virtual function.

【図5】部品情報エリア並びに各部品データエリアに関
する部品インスタンス生成情報テーブル仕様の具体例を
示す図である。
FIG. 5 is a diagram showing a specific example of a component instance generation information table specification regarding a component information area and each component data area.

【図6】部品化のためのラダープログラム記述方法の一
例を示す説明図である。
FIG. 6 is an explanatory diagram showing an example of a ladder program description method for componentization.

【符号の説明】[Explanation of symbols]

1 CPUモジュール 2 バスコネクタ 3 周辺I/Oバス 4 シリアルポート 5 サポートツール 101 MPU 102 不揮発性ROM 103 第1のRAM 104 第2のRAM DESCRIPTION OF SYMBOLS 1 CPU module 2 Bus connector 3 Peripheral I / O bus 4 Serial port 5 Support tool 101 MPU 102 Non-volatile ROM 103 First RAM 104 Second RAM

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5H219 CC10 EE05 HH25 HH28 5H220 BB05 BB12 CX04 DD01 DD04 DD07 FF02 FF03 JJ16 JJ24 ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5H219 CC10 EE05 HH25 HH28 5H220 BB05 BB12 CX04 DD01 DD04 DD07 FF02 FF03 JJ16 JJ24

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 オブジェクト指向プログラミング言語に
より記述された、類似する制御機能部品の代表特性部品
であるクラスをライブラリとして登録させた第1の記憶
手段と、 前記第1の記憶手段にライブラリとして登録させたクラ
スを基に実動作制御機能部品であるインスタンスを生成
するために必要とされるインスタンス生成情報を記憶さ
せた第2の記憶手段と、 ラダー言語等の既存PLCのユーザ言語を使用して記述
されかつ前記実動作制御機能部品については所定のファ
ンクションプロックを使用して記述されたユーザプログ
ラムを記憶させた第3の記憶手段と、 オブジェクト指向C++コンパイラ型言語等の仮想関数
と呼ばれる間接リンク記述方法により、前記第3の記憶
手段に記憶された各ファンクションブロックから、前記
第1の記憶手段にライブラリとして登録されたファンク
ションブロッククラスと前記第2の記憶手段に記憶され
たインスタンス生成情報とに基づいて実動作制御機能部
品であるインスタンスを動的に生成するインスタンス生
成手段と、 前記インスタンス生成手段にて生成されたインスタンス
を含むユーザプログラムを実行するユーザプログラム実
行手段と、 を具備することを特徴とするプログラマブル・コントロ
ーラ。
1. A first storage unit in which a class, which is a representative characteristic component of a similar control function component, described in an object-oriented programming language is registered as a library, and a class is registered in the first storage unit as a library. Using an existing PLC user language such as a ladder language, and second storage means for storing instance generation information required to generate an instance which is an actual operation control functional component based on the class Third storage means for storing a user program described using a predetermined function block for the actual operation control functional component, and an indirect link description method called a virtual function such as an object-oriented C ++ compiler type language From the function blocks stored in the third storage means, An instance generating means for dynamically generating an instance as an actual operation control functional component based on the function block class registered as a library in the first storage means and the instance generation information stored in the second storage means; And a user program executing means for executing a user program including the instance generated by the instance generating means.
【請求項2】 新たに作成されたクラスを第1の記憶手
段に登録するためのクラス登録制御手段を有することを
特徴とする請求項1に記載のプログラマブル・コントロ
ーラ。
2. The programmable controller according to claim 1, further comprising class registration control means for registering the newly created class in the first storage means.
【請求項3】 第2の記憶手段が既存ハードPLCのデ
ータメモリやユーザプログラムメモリであることを特徴
とする請求項1又は2に記載のプログラマブル・コント
ローラ。
3. The programmable controller according to claim 1, wherein the second storage means is a data memory or a user program memory of an existing hardware PLC.
【請求項4】 ファンクションブロックのインスタンス
生成情報、動作タイミング設定、変数のアドレス情報等
の初期設定データを既存ハードPLCの入出力メモリや
ユーザプログラムメモリの電源断記憶エリアに格納し、
かつファンクションブロックの入出力変数を既存ハード
PLCの入出力メモリに配置したことを特徴とする請求
項3に記載のプログラマブル・コントローラ。
4. Initialization data such as function block instance generation information, operation timing settings, and address information of variables are stored in an input / output memory of an existing hardware PLC or a power-off storage area of a user program memory.
4. The programmable controller according to claim 3, wherein the input / output variables of the function block are arranged in the input / output memory of the existing hardware PLC.
JP22367699A 1999-08-06 1999-08-06 Programmable controller Expired - Fee Related JP3829905B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22367699A JP3829905B2 (en) 1999-08-06 1999-08-06 Programmable controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22367699A JP3829905B2 (en) 1999-08-06 1999-08-06 Programmable controller

Publications (2)

Publication Number Publication Date
JP2001051704A true JP2001051704A (en) 2001-02-23
JP3829905B2 JP3829905B2 (en) 2006-10-04

Family

ID=16801912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22367699A Expired - Fee Related JP3829905B2 (en) 1999-08-06 1999-08-06 Programmable controller

Country Status (1)

Country Link
JP (1) JP3829905B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006172416A (en) * 2004-11-18 2006-06-29 Sharp Corp Network household electric appliance controller and network system using it
EP2009528A2 (en) 2007-06-29 2008-12-31 Fanuc Ltd Sequence program editing apparatus
JP2009009444A (en) * 2007-06-29 2009-01-15 Fuji Electric Systems Co Ltd Programmable controller, programmable controller support apparatus, and programmable controller system
JP2009237947A (en) * 2008-03-27 2009-10-15 Fuji Electric Systems Co Ltd Programmable controller, programmable controller support device, and programmable controller system
JP2009245194A (en) * 2008-03-31 2009-10-22 Fuji Electric Systems Co Ltd Programmable controller, programmable controller support apparatus, and programmable controller system
JP2012133809A (en) * 2002-04-15 2012-07-12 Fisher-Rosemount Systems Inc Custom function block to be shared with process control system
JP2013182473A (en) * 2012-03-02 2013-09-12 Sumitomo Heavy Ind Ltd Edition device and edition method
JP2015187873A (en) * 2006-09-01 2015-10-29 フィッシャー−ローズマウント システムズ,インコーポレイテッド Method of editing and reporting graphical programming language object, and editing/reporting system
US11568112B2 (en) 2017-03-30 2023-01-31 Mitsubishi Electric Corporation System design support apparatus and system design support method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150134419A (en) 2013-03-29 2015-12-01 미쓰비시덴키 가부시키가이샤 Sequence program component creation program and sequence program component creation device

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012133809A (en) * 2002-04-15 2012-07-12 Fisher-Rosemount Systems Inc Custom function block to be shared with process control system
JP2006172416A (en) * 2004-11-18 2006-06-29 Sharp Corp Network household electric appliance controller and network system using it
JP2015187873A (en) * 2006-09-01 2015-10-29 フィッシャー−ローズマウント システムズ,インコーポレイテッド Method of editing and reporting graphical programming language object, and editing/reporting system
EP2009528A2 (en) 2007-06-29 2008-12-31 Fanuc Ltd Sequence program editing apparatus
JP2009009444A (en) * 2007-06-29 2009-01-15 Fuji Electric Systems Co Ltd Programmable controller, programmable controller support apparatus, and programmable controller system
JP2009237947A (en) * 2008-03-27 2009-10-15 Fuji Electric Systems Co Ltd Programmable controller, programmable controller support device, and programmable controller system
JP2009245194A (en) * 2008-03-31 2009-10-22 Fuji Electric Systems Co Ltd Programmable controller, programmable controller support apparatus, and programmable controller system
JP2013182473A (en) * 2012-03-02 2013-09-12 Sumitomo Heavy Ind Ltd Edition device and edition method
US11568112B2 (en) 2017-03-30 2023-01-31 Mitsubishi Electric Corporation System design support apparatus and system design support method

Also Published As

Publication number Publication date
JP3829905B2 (en) 2006-10-04

Similar Documents

Publication Publication Date Title
US9235381B2 (en) Method and device for the programming and configuration of a programmable logic controller
JP3829905B2 (en) Programmable controller
JP2009146229A (en) Programmable controller system
JPH11143511A (en) Numerical controller
JP4876537B2 (en) Programmable controller programming device
US8612962B2 (en) Method for programming a memory-programmable controller with resistant storage of data in memory
US6009268A (en) Device for programming a stored program controller
JP7172864B2 (en) Support equipment and support programs
JP2009075965A (en) Software development method and software development device
JP2002268896A (en) Method and device for generating control program
JPH11338521A (en) Controller
JPH0410081B2 (en)
JP4877257B2 (en) Programmable controller, programmable controller support apparatus, and programmable controller system
JP2011138451A (en) Connected device simulator apparatus having trace function, method, and program
WO2022249713A1 (en) Control system, system program, and debugging method
JP2003044105A (en) Editor device, editor program, and recording medium where the same is recorded
JP2006018759A (en) Control device and method
JP2009157534A (en) Programming support system, its programmable controller support device, and programmable indicator support device
JP2885957B2 (en) Sequence program programming method and apparatus
AU2016102107A4 (en) Robot control system
JPS6139134A (en) Program converting method
JP2000020297A (en) Controller
JP6596073B2 (en) Non-object-oriented language program linkage apparatus, method and program
JP3145090B2 (en) Information reflection device
JP5024546B2 (en) PLC with interrupt function

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050411

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050624

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060414

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060419

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: 20060621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060704

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090721

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100721

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110721

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110721

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120721

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130721

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees