JP4288700B2 - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ Download PDF

Info

Publication number
JP4288700B2
JP4288700B2 JP2003414131A JP2003414131A JP4288700B2 JP 4288700 B2 JP4288700 B2 JP 4288700B2 JP 2003414131 A JP2003414131 A JP 2003414131A JP 2003414131 A JP2003414131 A JP 2003414131A JP 4288700 B2 JP4288700 B2 JP 4288700B2
Authority
JP
Japan
Prior art keywords
block
program
unit
data
update
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.)
Expired - Fee Related
Application number
JP2003414131A
Other languages
English (en)
Other versions
JP2005174042A (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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2003414131A priority Critical patent/JP4288700B2/ja
Publication of JP2005174042A publication Critical patent/JP2005174042A/ja
Application granted granted Critical
Publication of JP4288700B2 publication Critical patent/JP4288700B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、プログラマブルコントローラに関し、特にIOデータ更新処理時間を短くすることができるプログラマブルコントローラに関するものである。
本発明が前提とするようなプログラマブルコントローラに関連する先行技術文献として、次のようなものが挙げられる。
特開2003−271210号明細書
図7にプログラマブルコントローラの構成を示す。プログラマブルコントローラはCPUモジュール4および複数のIOモジュール5で構成され、これらのモジュールはバス7で接続されている。高機能IOモジュール6は演算機能を有するIOモジュールであり、必要に応じて使用される。
IOモジュール5(または高機能IOモジュール6)はセンサ等(図示せず)から信号を取りこみ、またアクチュエータ(図示せず)に制御信号を出力する。CPUモジュール4は、その内部に格納されたプログラムを実行してIOモジュール5のデータを更新する。
図8にCPUモジュール4の動作を示す。CPUモジュール4の動作は命令実行処理部が行うプログラム実行処理とIOデータ更新処理部が実行するIOデータ更新処理に分割することができる。先ず内部に格納されたプログラムを実行するプログラム実行処理が行われ、その後バス7を介してIOモジュール5(または高機能IOモジュール6)に対してデータの読み込みと書き出しを行うIOデータ更新処理が行われる。
このプログラム実行処理とIOデータ更新処理は繰り返し実行される。この繰り返しの1つを1スキャンと言う。また、プログラムは処理単位毎にプログラムブロックに分割されており、このプログラムブロック毎に起動と停止ができるようになっている。
IOデータ更新処理はIO更新テーブルを用いて行われる。図9にIO更新テーブルの構成を示す。IO更新テーブル8にはプログラム全体で使用されるIOモジュールの番号81と、各IOモジュールに含まれるIOチャンネルの番号82が含まれる。IOデータ更新処理は、スキャン毎にこのIO更新テーブル8で指定されるIOモジュールおよびIOチャンネルのデータを順番に更新する。
しかし、このようなプログラマブルコントローラには次のような課題があった。IOデータ更新処理は、実際にIOデータが更新されたかどうかに関わらず、IO更新テーブル8にその番号が格納されている全てのIOモジュールおよびIOチャンネルに対して、スキャン毎にデータ更新処理を実行する。
IO更新テーブル8にはプログラムでアクセスされる可能性のある全てのIOモジュールおよびIOチャンネルの番号が格納されている。そのため、そのスキャンでデータが更新されなかったIOモジュールおよびIOチャンネルに対してもデータ更新処理を実行する。その結果、常に最大のデータがバス7に転送されるためデータ更新処理に時間がかかり、スキャン時間が長くなってしまうという課題があった。
従って本発明が解決しようとする課題は、データが更新されないIOのデータ更新処理を行わないことにより、バスの転送量を減らしてスキャン時間を短縮することができるプログラマブルコントローラを提供することにある。
このような課題を達成するために、本発明のうち請求項1記載の発明は、プログラムを複数のプログラムブロックに分割し、これらのプログラムブロックを実行した後にIOデータの更新処理を行う操作を繰り返すプログラマブルコントローラにおいて、
全ての前記プログラムブロックのいずれかでIOデータが更新される可能性のあるIO単位の識別記号が格納される全体IO更新テーブルと、前記全体IO更新テーブル内の前記IO単位の識別記号毎に設けられ、起動時に第1の値にセットされるカウンタと、前記プログラムブロック毎に設けられ、そのプログラムブロックでIOデータが更新される可能性のあるIO単位の識別記号が格納されるブロックIO更新テーブルと、前記プログラムブロックを順番に実行し、前記プログラムブロックを起動するときに、そのプログラムブロックの前記ブロックIO更新テーブルを参照してこのブロックIO更新テーブルに格納された前記IO単位の識別記号に対応する前記カウンタに第2の値を加算し、前記プログラムブロックを停止するときに、そのプログラムブロックの前記ブロックIO更新テーブルを参照してこのブロックIO更新テーブルに格納された前記IO単位の識別記号に対応する前記カウンタから前記第2の値を減算する命令実行処理部と、前記カウンタを参照し、このカウンタが前記第1の値でないときにそのカウンタに対応するIO単位のIOデータ更新処理を実行し、前記カウンタの値が前記第1の値であるときに、そのカウンタに対応するIO単位のIOデータ更新処理を実行しないIOデータ更新処理部とを備えたものである。IO更新処理の時間を短縮できる。
請求項2記載の発明は、請求項1記載の発明において、前記カウンタを前記全体IO更新テーブルに内蔵するようにしたものである。構成が簡単になる。
請求項3記載の発明は、請求項1若しくは請求項2記載の発明において、前記IO単位はIOモジュールに含まれるIOチャンネル単位であることを特徴としたものである。
請求項4記載の発明は、請求項1若しくは請求項2記載の発明において、前記IO単位はIOモジュール単位であることを特徴としたものである。
請求項記載の発明は、複数のプログラムブロックに分割され、これらのプログラムブロックを実行した後にIOデータの更新処理を行う操作を繰り返すプログラマブルコントローラにおいて、
全ての前記プログラムブロックのいずれかでIOデータが更新される可能性のあるIO単位の識別記号が格納される全体IO更新テーブルと、前記全体IO更新テーブル内の前記IO単位の識別記号毎に設けられるフラグと、前記プログラムブロック毎に設けられ、そのプログラムブロックでIOデータが更新される可能性のあるIO単位の識別記号が格納されるブロックIO更新テーブルと、前記プログラムブロックを実行する前に全ての前記フラグを第1の値にし、前記プログラムブロックを実行するときに、そのプログラムブロックの前記ブロックIO更新テーブルを参照してこのブロックIO更新テーブルに格納された前記IO単位の識別記号に対応する前記フラグを第2の値にする命令実行処理部と、前記フラグを参照し、このフラグが前記第2の値であるときにそのフラグに対応するIO単位のIOデータ更新処理を実行し、前記フラグの値が前記第1の値であるときに、そのフラグに対応するIO単位のIOデータ更新処理を実行しないIOデータ更新処理部とを備えたものである。IO更新処理の時間を短縮できる。
請求項記載の発明は、請求項記載の発明において、前記フラグを前記全体IO更新テーブルに内蔵するようにしたものである。構成が簡単になる。
請求項記載の発明は、請求項若しくは請求項記載の発明において、前記IO単位はIOモジュールに含まれるIOチャンネル単位であることを特徴としたものである。
請求項記載の発明は、請求項若しくは請求項記載の発明において、前記IO単位はIOモジュール単位であることを特徴としたものである。
請求項記載の発明は、請求項5若しくは請求項いずれかに記載の発明において、前記プログラムブロックは、前記IO単位毎に分割するようにしたものである。データ更新するIO単位の数を削減することができる。
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項1,2,3および請求項の発明によれば、IO単位毎にカウンタを設け、プログラムブロックを起動したときにこのカウンタに第2の値を加算し、プログラムブロックを停止したときにこのカウンタから第2の値を減算するようにして、カウンタの値が第1の値でないときのみ、そのカウンタに対応するIOのIOデータ更新処理を行うようにした。
停止しているプログラムブロックで使用しているIO単位のIOデータ更新処理を行わないようにすることにより、データ更新するIO単位の数を削減することができる。そのため、バスのデータ転送量を減らして更新処理に要する時間を短くすることができ、スキャン時間を短縮することができるという効果がある。
請求項5、6,7,8および請求項9の発明によれば、IO単位毎にフラグを設け、スキャンの最初にこのフラグを第1の値にして、プログラムブロックを実行するときにそのフラグを第2の値にするようにして、フラグが第2の値のIO単位のみ、そのフラグに対応するIO単位のIOデータ更新処理を行うようにした。
実行しないプログラムブロックで使用しているIO単位のIOデータ更新処理を行わないようにすることにより、データ更新するIO単位の数を削減することができる。そのため、バスのデータ転送量を減らして更新処理に要する時間を短くすることができ、スキャン時間を短縮することができるという効果がある。また、カウンタを使用する場合に比べて構成が簡単になるという効果もある。
さらに、プログラムブロックをIO単位毎に分割することによって、複数のプログラムブロックでデータ更新するIO単位の数を減らすことができるので、データ更新に要する時間をさらに削減することができるという効果もある。
以下本発明を図面を用いて詳細に説明する。なお、背景技術で説明したように、この実施例でもプログラムは処理単位毎にプログラムブロックに分割され、これらのプログラムブロックは個々に起動・停止ができるようになっている。また、この実施例でも、図8に示すように命令実行処理部でプログラム実行処理を行った後にIOデータ更新処理部でIOデータ更新処理を行うスキャンを繰り返す。
さらに、この実施例では1つの全体IO更新テーブルと、プログラムブロック毎に設けられるブロックIO更新テーブルを用いてIOデータ更新処理を実行する。
図1は全体IO更新テーブルの構成を示す図である。この全体IO更新テーブルはプログラム全体でアクセスする可能性のあるIOモジュールおよびIOチャンネルの番号および各IOチャンネル番号に付随するカウンタが格納されている。IOモジュール番号、IOチャンネル番号は識別記号として用いている。
図1において、1は全体IO更新テーブルである。11はIOモジュールの番号であり,プログラム全体でアクセスする可能性のあるIOモジュールの番号が格納されている。図1ではIOモジュール1からnまでの番号が格納されている。
12はIOチャンネルの番号であり、各IOモジュールに含まれ、かつプログラム全体でアクセスする可能性のあるIOチャンネル番号が格納されている。図1ではIOモジュール2について、1からmまでのIOチャンネル番号が格納されている。
なお、この図ではIOモジュール2に含まれるIOチャンネルの番号しか記載されていないが、実際にはIOモジュール1およびIOモジュール3〜nについても、そのIOモジュールに含まれ、かつプログラム全体でアクセスする可能性のあるIOチャンネルの番号が格納される。13はカウンタであり、各IOチャンネル番号毎に設けられる。図2には記載されていないIOチャンネル番号についても、それぞれカウンタが設けられる。
このカウンタの値を調べることにより、そのIOチャンネルがアクセスされたかどうかを知ることができる。なお、このカウンタ13は全体のプログラムが起動するときに、ゼロに初期化されるものとする。
図2に、各プログラムブロック毎に設けられるブロックIO更新テーブルの構成を示す。このブロックIO更新テーブルには、そのプログラムブロックでアクセスされる可能性のある全てのIOモジュールおよびIOチャンネルの番号が格納されている。
図2において、2はブロックIO更新テーブルである。21はIOモジュールの番号であり、そのプログラムブロックでアクセスする可能性があるIOモジュールの番号が格納されている。図2では、IOモジュール1〜pの番号が格納されている。
22はIOチャンネルの番号であり、各IOモジュールに含まれ、かつそのプログラムブロックでアクセスする可能性のあるIOチャンネルの番号が格納されている。図2では、IOモジュール2について、IOチャンネル1〜qの番号が格納されている。
なお、図2には記載されていないが、IOモジュール1,3〜pについても、そのIOモジュールに含まれ、かつそのプログラムブロックでアクセスされる可能性のあるIOチャンネルの番号が格納される。
図3に各プログラムブロックが起動、停止するときの処理のフローチャートを示す。図3において、(A)はプログラムブロックが起動するとき、(B)は停止するときのフローである。起動するときは、そのプログラムブロックに属するブロックIO更新テーブル2を参照して、登録されている全てのIOチャンネルについて、全体更新テーブルのカウンタ13に1を加算する。
プログラムブロックを停止するときは、そのプログラムブロックに属するブロックIO更新テーブル2を参照して、登録されている全てのIOチャンネルについて、全体更新テーブルのカウンタ13から1を減算する。
すなわち、プログラムブロックが起動すると、そのプログラムブロックでアクセスする可能性のあるIOチャンネルに付属するカウンタ13のカウント値が1増加し、プログラムブロックが停止すると1減少する。
1つのIOチャンネルは複数のプログラムブロックでアクセスされる場合があるので、カウンタ値がゼロでないとそのIOチャンネルはどれかのプログラムブロックでアクセスされている可能性があり、ゼロであると全てのプログラムブロックでアクセスされている可能性がないことがわかる。
図4はIOデータ更新処理のフローを示すフローチャートである。図4において、(4−1)でIOチャンネルに付属しているカウンタ13の値がゼロであるかをチェックする。そして、ゼロでないと(4−2)でそのIOチャンネルのデータ更新処理を行い、ゼロであると(4−3)でそのIOチャンネルのデータ更新処理を行わない。そして、(4−4)で全てのカウンタ13をチェックしたかを確認し、チェックしていれば終了し、チェックしていないカウンタ13があると、(4−1)に戻る。
前述したように、アクセスされる可能性のないIOチャンネルに付属するカウンタのカウント値はゼロになる。従って、図4フローチャートに示す処理を行うことにより、アクセスする可能性のないIOチャンネルのデータ更新処理を行わないようにすることができる。そのため、データ転送量を削減することができ、スキャン時間を短縮することが可能になる。なお、カウンタの初期値はゼロでなくてもよく、加算、減算する値は1でなくてもよい。
図5および図6の本発明の他の実施例を示す。図5は全体IO更新テーブルの構成である。なお、図1と同じ要素には同一符号を付し、説明を省略する。図5において、3は全体IO更新テーブルであり、IOモジュールの番号11およびIOチャンネルの番号12が格納されている。
31はフラグであり、図1実施例のカウンタ13の代わりに各IOチャンネルに設けられる。このフラグ31は1ビットのレジスタであり、オンとオフの2つの値を取る。なお、ブロックIO更新テーブルは図2と同じなので、説明を省略する。
図6にこの実施例の動作を説明するためのフローチャートを示す。このフローチャートは1スキャンの動作を表したものである。最初に(6−1)で全てのフラグ31をオフにする。次に、(6−2)でプログラム実行処理を行う。
このとき、各プログラムブロック中でそのプログラムブロックのブロックIO更新テーブルを参照して、そのブロック更新テーブルに登録されているIOチャンネルに付属するフラグ31をオンにする。また、新たにプログラムブロックが起動されたときも、同様にフラグ31をオンにする。
プログラムの実行処理が終了すると、IOデータ更新処理を行う。(6−3)で全体更新テーブル3のフラグ31がオンになっているかを順番に調べて、オンであれば(6−4)でそのチャンネルのIOデータ更新処理を行い、オフであると(6−5)で更新処理を行わない。
次に、(6−6)で全てのフラグ31をチェックしたかを調べて、チェックしていないフラグがあると(6−3)に戻り、全てのフラグ31がチェック済みであるとIOデータ更新処理を終了して、次のスキャンを実行する。このようにすることにより、アクセスする可能性のないIOチャンネルの更新処理を行わないようにすることができるので、スキャン時間を短縮することができる。なお、フラグのオン、オフは逆であってもよい。
なお、これらの実施例では複数のプログラムブロックがIOチャンネルを共用していると、共用している全てのプログラムブロックが停止しないとそのIOチャンネルのデータ更新処理が行われることになる。従って、IOチャンネル毎にプログラムブロックを作成して、複数のプログラムブロックがIOチャンネルを共用しないようにした方がIO更新処理の時間を短縮することができる。
なお、これらの実施例ではIOチャンネル毎にカウンタ13あるいはフラグ31を設けるようにしたが、IOモジュールあるいはIO端子毎、あるいはその他のIO単位毎にカウンタ13あるいはフラグ31を設けるようにしてもよい。
全体IO更新テーブルの構成図である。 ブロックIO更新テーブルの構成図である。 ブロックプログラムの起動、停止時の処理を示すフローチャートである。 IO更新処理のフローチャートである。 他の実施例の全体IO更新テーブルの構成図である。 他の実施例のIO更新処理のフローチャートである。 プログラマブルコントローラの構成図である。 プログラマブルコントローラの動作を示すフローチャートである。 従来のIO更新テーブルの構成図である。
符号の説明
1、3 全体IO更新テーブル
11、21 IOモジュールの番号
12、22 IOチャンネルの番号
13 カウンタ
2 ブロックIO更新テーブル
31 フラグ

Claims (9)

  1. プログラムを複数のプログラムブロックに分割し、これらのプログラムブロックを実行した後にIOデータの更新処理を行う操作を繰り返すプログラマブルコントローラにおいて、
    全ての前記プログラムブロックのいずれかでIOデータが更新される可能性のあるIO単位の識別記号が格納される全体IO更新テーブルと、
    前記全体IO更新テーブル内の前記IO単位の識別記号毎に設けられ、起動時に第1の値にセットされるカウンタと、
    前記プログラムブロック毎に設けられ、そのプログラムブロックでIOデータが更新される可能性のあるIO単位の識別記号が格納されるブロックIO更新テーブルと、
    前記プログラムブロックを順番に実行し、前記プログラムブロックを起動するときに、そのプログラムブロックの前記ブロックIO更新テーブルを参照してこのブロックIO更新テーブルに格納された前記IO単位の識別記号に対応する前記カウンタに第2の値を加算し、前記プログラムブロックを停止するときに、そのプログラムブロックの前記ブロックIO更新テーブルを参照してこのブロックIO更新テーブルに格納された前記IO単位の識別記号に対応する前記カウンタから前記 第2の値を減算する命令実行処理部と、
    前記カウンタを参照し、このカウンタが前記第1の値でないときにそのカウンタに対応するIO単位のIOデータ更新処理を実行し、前記カウンタの値が前記第1の値であるときに、そのカウンタに対応するIO単位のIOデータ更新処理を実行しないIOデータ更新処理部と、
    を備えたことを特徴とするプログラマブルコントローラ。
  2. 前記カウンタは、前記全体IO更新テーブルに内蔵されていることを特徴とする請求項1記載のプログラマブルコントローラ。
  3. 前記IO単位はIOモジュールに含まれるIOチャンネル単位であることを特徴とする請求項1若しくは請求項2記載のプログラマブルコントローラ。
  4. 前記IO単位はIOモジュール単位であることを特徴とする請求項1若しくは請求項2記載のプログラマブルコントローラ。
  5. 複数のプログラムブロックに分割され、これらのプログラムブロックを実行した後にIOデータの更新処理を行う操作を繰り返すプログラマブルコントローラにおいて、
    全ての前記プログラムブロックのいずれかでIOデータが更新される可能性のあるIO単位の識別記号が格納される全体IO更新テーブルと、
    前記全体IO更新テーブル内の前記IO単位の識別記号毎に設けられるフラグと、
    前記プログラムブロック毎に設けられ、そのプログラムブロックでIOデータが更新される可能性のあるIO単位の識別記号が格納されるブロックIO更新テーブルと、
    前記プログラムブロックを実行する前に全ての前記フラグを第1の値にし、前記ブロックプログラムを実行するときに、そのプログラムブロックの前記ブロックIO更新テーブルを参照してこのブロックIO更新テーブルに格納された前記IO単位の識別記号に対応する前記フラグを第2の値にする命令実行処理部と、
    前記フラグを参照し、このフラグが前記第2の値であるときにそのフラグに対応するIO単位のIOデータ更新処理を実行し、前記フラグの値が前記第1の値であるときに、そのフラグに対応するIO単位のIOデータ更新処理を実行しないIOデータ更新処理部と、
    を備えたことを特徴とするプログラマブルコントローラ。
  6. 前記フラグは、前記全体IO更新テーブルに内蔵されていることを特徴とする請求項記載のプログラマブルコントローラ。
  7. 前記IO単位はIOモジュールに含まれるIOチャンネル単位であることを特徴とする請求項若しくは請求項記載のプログラマブルコントローラ。
  8. 前記IO単位はIOモジュール単位であることを特徴とする請求項5若しくは請求項記載のプログラマブルコントローラ。
  9. 前記プログラムブロックは、前記IO単位毎に分割するようにしたことを特徴とする請求項5乃至請求項8いずれかに記載のプログラマブルコントローラ。
JP2003414131A 2003-12-12 2003-12-12 プログラマブルコントローラ Expired - Fee Related JP4288700B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003414131A JP4288700B2 (ja) 2003-12-12 2003-12-12 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003414131A JP4288700B2 (ja) 2003-12-12 2003-12-12 プログラマブルコントローラ

Publications (2)

Publication Number Publication Date
JP2005174042A JP2005174042A (ja) 2005-06-30
JP4288700B2 true JP4288700B2 (ja) 2009-07-01

Family

ID=34734026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003414131A Expired - Fee Related JP4288700B2 (ja) 2003-12-12 2003-12-12 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JP4288700B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152872A (ja) * 2008-11-26 2010-07-08 Yokogawa Electric Corp シーケンス制御装置並びにモジュール装置及び接続装置
CN102713774B (zh) 2010-01-20 2015-05-13 三菱电机株式会社 可编程控制器系统及开发系统

Also Published As

Publication number Publication date
JP2005174042A (ja) 2005-06-30

Similar Documents

Publication Publication Date Title
JP4911022B2 (ja) カウンタ制御回路、動的再構成回路およびループ処理制御方法
JP5967927B2 (ja) Autosarソフトウェアシステムのautosarソフトウェア要素をバイパスする方法
US9043806B2 (en) Information processing device and task switching method
TW400469B (en) Device capable of fixing programs in embedded microprocessor
KR100983135B1 (ko) 패킷의 의존성 명령을 그룹핑하여 실행하는 프로세서 및 방법
JP4288700B2 (ja) プログラマブルコントローラ
JPH09231071A (ja) コンピュータ装置
US8484446B2 (en) Microprocessor saving data stored in register and register saving method
WO2007056234A2 (en) Hybrid memory system for a microcontroller
JP5233078B2 (ja) プロセッサ及びその処理方法
US9442724B2 (en) Start control apparatus for controlling a start of an information device by using an interrupt generation code, information device, and start control method
CN106168927B (zh) 具有在运行中可变的存储区域的fifo存储器
JP2006072961A (ja) 演算処理装置のメモリ回路
US6886159B2 (en) Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus
CN109634766B (zh) 提升数据流机运行效率的方法、装置、设备及存储介质
JP2007241570A (ja) プログラマブルコントローラ間通信のための共有メモリの設定方式
JPH10240522A (ja) 演算装置
JP6160571B2 (ja) データ処理装置
CN112882753A (zh) 程序运行方法及装置
JP2008071084A (ja) マイクロプロセッサ及び画像形成装置
CN114064478A (zh) 生成验证用例的方法及装置
CN111274168A (zh) 处理装置和更改脚位功能方法
KR20080044652A (ko) Cpu에서의 스택을 이용한 디버깅 방법
US10817288B2 (en) Combined instruction for addition and checking of terminals
JP2014002479A (ja) 不揮発性メモリ、及び、その書換方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081211

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090123

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4288700

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees