JP4975586B2 - 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ - Google Patents

複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ Download PDF

Info

Publication number
JP4975586B2
JP4975586B2 JP2007286092A JP2007286092A JP4975586B2 JP 4975586 B2 JP4975586 B2 JP 4975586B2 JP 2007286092 A JP2007286092 A JP 2007286092A JP 2007286092 A JP2007286092 A JP 2007286092A JP 4975586 B2 JP4975586 B2 JP 4975586B2
Authority
JP
Japan
Prior art keywords
cpu
instruction
execution
program
circuit
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
JP2007286092A
Other languages
English (en)
Other versions
JP2009116445A (ja
JP2009116445A5 (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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2007286092A priority Critical patent/JP4975586B2/ja
Publication of JP2009116445A publication Critical patent/JP2009116445A/ja
Publication of JP2009116445A5 publication Critical patent/JP2009116445A5/ja
Application granted granted Critical
Publication of JP4975586B2 publication Critical patent/JP4975586B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、プログラマブルコントローラに関し、特に、複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラに関する。
シーケンス制御を行うプログラマブルコントローラにおいて、1台で複数本の独立したシーケンスプログラムを実行する場合、シーケンスプログラムを実行する専用LSI、並びに、これを制御及び補助するCPUから構成されるハードウェアを使用して、複数本のシーケンスプログラムを順次実行している(図6、図7を参照)。
1ビットのデータに対して演算処理を行う等の単純ではあるがCPUで演算処理を行う場合には数十サイクルを要する命令を、このような演算処理に特化した回路構成を有する専用LSI(専用大規模集積回路)は数サイクルで演算処理を実行することができる。
しかし、前記専用LSIは、タイマ、カウンタ、乗算・除算などの複雑な命令を実行するように構成されていない。そのため、CPUは、専用LSIが実行できないタイマ、カウンタ、乗算・除算などの複雑な命令を実行する。また、CPUは、プログラムカウンタのセット、プログラム実行開始フラグのセット等の専用LSIに対する制御も行っている。
次に、従来技術のプログラマブルコントローラでのシーケンスプログラムの実行順序について図8を用いて説明する。
はじめに、CPUは、プログラム実行回路内部のプログラムカウンタに値をセットし、また、プログラム実行回路部のシーケンスプログラム実行開始フラグをオンすることにより、プログラム実行回路を起動する。
プログラムカウンタの値は、シーケンスプログラムが格納されているメモリ上のアドレスを示している。プログラム実行回路は、プログラムカウンタの値をアドレスとしてメモリを読んでプログラムを取込み順次実行する。
また、シーケンスプログラムを構成する命令のオブジェクトコードには、専用LSIのプログラム実行回路で実行できる命令であるか否かを判別するためのデータを含ませておき、プログラム実行回路が命令を取込んだ段階で、これを判別する。
専用LSIは、シーケンスプログラムを実行中、自らが実行できない命令を取込むと、CPUに対して“CPU命令実行要求信号”を出力し、シーケンスプログラムの実行を停止する。また、専用LSIは、CPUが実行するべきプログラムがメモリ上のどこにあるかを示すアドレスをLSI内部の“ポインタレジスタ”にラッチする。
CPUが“CPU命令実行要求信号”を検知するための手段としては、“CPU命令実行要求信号”による割込み、またはCPUのI/Oポート端子に“CPU命令実行要求信号”を接続し、これをポーリングするという手法を使用する。
CPUは、専用LSIから出力されるCPU命令実行要求信号を検知すると、専用LSI内部のポインタレジスタを読み、CPU自らが実行すべきプログラムが格納されているメモリのアドレスからプログラムを取り出す。そして、順次実行し、終了したら専用LSI内部の“CPU命令実行完了レジスタ”に対して、書込み動作を行う。“CPU命令実行完了レジスタ”への書込み動作により、プログラム実行回路に対して、CPU命令実行完了信号が1パルス出力される。専用LSIのプログラム実行回路は、CPU命令実行完了信号を検知すると、“CPU命令実行要求信号”を取下げ、シーケンスプログラムの実行を再開する。
CPUの命令実行結果の出力は、CPUが専用LSI内部メモリ、専用LSI内部レジスタにデータを書込むことにより行なわれる。例として、乗算命令の場合、CPUは、シーケンスプログラムで指定された専用LSI内部メモリのアドレスから乗数データ、被乗数データを読んで、これらの乗算を行い、結果をシーケンスプログラムで指定された専用LSI内部メモリのアドレスに書込む。
専用LSI内部メモリには、シーケンスプログラムで使用されるI/O、内部リレーのイメージが書込まれる。よって、このメモリには、コントローラを介して、外部のI/O領域へ周期的に転送される領域、外部のI/O機器から周期的に転送されてくるデータにより更新される領域、内部リレー、すなわち、ワークメモリ的に使用され外部のI/O機器とのデータのやり取りの無い領域が存在する。
特開平11−175115号公報
従来技術(図7(b)参照)では、実行するプログラム数が増加するに伴い、全体的なプログラム長及びプログラム実行時間が増大する。この“実行するプログラム数が増加するに従いプログラム実行時間が増大する問題”は、専用LSI内部に複数個のプログラム実行回路を内蔵し、このプログラム実行回路を複数個の汎用CPUで制御・補助し、シーケンスプログラムの並列処理を実行することで回避可能であるものの、プログラマブルコントローラ内部に複数個の汎用CPUを内蔵することは、装置の大型化、消費電力の増大、発熱の問題、コスト上昇をまねくなど課題が多い(図9参照)。
そこで本発明の目的は、1個のCPUで専用LSIに内蔵された複数個のプログラム実行回路を制御または補助することにより、複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラを提供することである。
本願の請求項1に係る発明は、複数の独立したシーケンスプログラムを並行して実行するプログラマブルコントローラにおいて、前記複数の独立したシーケンスプログラムのそれぞれに対応して設けられ、前記複数の独立したシーケンスプログラムの中で所定の第1の命令を並行して実行する複数のプログラム実行回路と、並行して実行されている複数の独立したシーケンスプログラムの中で、前記プログラム実行回路で実行できない第2の命令を実行する1台のCPUと、前記複数のプログラム実行回路で発生した少なくとも1つの前記CPUに対する前記第2の命令の実行要求及び前記CPUが前記第2の命令を実行するために必要な情報を発生した順に前記CPUに転送する第1の転送手段と、前記CPUが前記第2の命令の実行を完了したことを示す情報を前記プログラム実行回路に転送する第2の転送手段と、を備え、前記プログラム実行回路は、前記第2の命令が発生したときにCPU命令実行要求信号を出力し該CPU命令実行要求信号を出力してからCPUが該命令の実行を完了するまで停止状態となるCPU命令実行要求手段と、CPUが前記第2の命令の実行を完了した信号を受けてプログラム実行を再開する再開手段と、を有し、前記第1の転送手段は、前記第2の命令が発生したときに前記CPU命令実行要求信号を順次受け付ける受付手段と、前記第2の命令が発生した前記プログラム実行回路のID番号と前記第2の命令のプログラムアドレスを順次記憶する記憶手段と、前記記憶手段に記憶されているプログラムアドレスに基づいてCPUが順次前記第2の命令を実行していくためのCPU命令実行開始信号を前記受付手段からCPUに順次出力するCPU実行開始手段と、を有し、前記第2の転送手段は、CPUが前記第2の命令の実行を完了する毎に完了した前記第2の命令に対応する前記ID番号のプログラム実行回路にCPU命令実行完了信号と実行結果を出力するCPU実行完了通知手段と、を有することを特徴とするプログラマブルコントローラである。
本発明は、専用LSIとCPU1個を用いる構成により、複数本の独立したシーケンスプログラムを並行して実行することで、従来のプログラマブルコントローラに比較してより処理時間を短縮できる。
また、本発明はCPUを1個用いる構成であるので、高速化に伴う装置の大型化、多消費電力化や、高コスト化を避けることができる。
以下、本発明のプログラマブルコントローラの一実施形態について図面とともに説明する。なお、図1〜図9において外部メモリに格納されている「プログラム(1)〜(n)」はシーケンスプログラム(1)〜(n)を意味する。
図1は、本発明のプログラマブルコントローラの一実施形態である、複数の独立したプログラムを並列して実行可能なプログラマブルコントローラの概略ブロック図である。
プログラマブルコントローラ100は、CPU1、外部メモリ2、および、専用LSI3を備えている。CPU1は専用LSI3を制御または補助している。
専用LSI3はその内部に複数個のプログラム実行回路3a1,3a2,・・・3anを内蔵している。そして、専用LSI3のプログラム実行回路3a1,3a2,・・・3anが外部メモリ2に格納している複数本のシーケンスプログラムを並行して実行する。シーケンスプログラムは、専用LSI3では実行できない命令を含んでいる可能性がある。そこで、CPU1は従来技術と同様に専用LSI3では実行できないシーケンスプログラムに含まれる命令を実行する。
また、プログラマブルコントローラ100は複数本のシーケンスプログラムを並行して実行することから、複数のシーケンスプログラムが同時にCPU1に対して命令の実行要求信号を出力する可能性もある。そこで、専用LSI3にCPU1に対するこれらの命令の実行要求を調停する調停回路4を設け、各プログラム実行回路3a1,3a2,・・・3anから実行要求されているCPU1に対するこれらの命令を順番に従って順次実行できるようにしている。この順番は、例えば、調停回路4を構成するFIFOレジスタ3cに同時に書込みを行おうとした場合、プログラム実行回路に付与されているID番号の若いプログラム実行回路のものから順に書込みを行うようにして決められる。
このようにプログラマブルコントローラ100を構成とすることにより、図1(b)に示されるように、プログラム実行回路(1)3a1,(2)3a2,・・・(n)3anはシーケンスプログラム(1)〜(n)を並行して実行できる。その結果、全てのシーケンスプログラムの実行が完了するまでの時間が、全てのシーケンスプログラムが順次実行される従来技術(図7(b)を参照)に比較して大幅に短縮化される。
図2は、図1に示したプログラマブルコントローラ100の概略ブロック図のより詳細なブロック図であり、特に、専用LSI3をより詳細に示したブロック図である。専用LSI3は、プログラム実行回路3a1〜3an、ポインタレジスタ3b1〜3bn、FIFOレジスタ3c、ID番号ラッチ・デコード回路3d、CPU命令実行完了レジスタ3e、オアゲート3f、内部メモリ3g、I/Oデータコントローラ3h、書込み調停回路3iを備えている。プログラム実行回路3a1〜3anは、それぞれ従来技術と同様にその回路内部にプログラムカウンタ(図示せず)およびシーケンスプログラム実行開始フラグ(図示せず)を有する。そして、CPU1はプログラムカウンタのセット、プログラム実行開始フラグのセット等の専用LSI3に対する制御を行っている。また、プログラム実行回路3a1〜3anは、CPU1が実行するべき命令が外部メモリ2上のどこにあるかを示すアドレスをラッチするための専用のポインタレジスタ3b1〜3bnを一つ一つ対応して備えている。また、外部メモリ2には、CPU1および専用LSI3で実行される、複数のシーケンスプログラム1〜nが格納されている。図2に示されるプログラム(1)は、シーケンスプログラムがプログラム実行回路3a1〜3anで実行される命令とCPU1で実行される命令とから構成されることを模式的に表したものである。
図1で説明した調停回路4は、本実施形態ではFIFOレジスタ3c、ID番号ラッチ・デコード回路3d、CPU命令実行完了レジスタ3e、オアゲート3f、書込み調停回路3iを備えている。FIFOレジスタ3cは、プログラム実行回路3a1〜3anが外部メモリ2内のCPU実行命令(例えば、タイマ、カウンタ、乗算など)を参照した場合、プログラム実行回路3a1〜3anのID番号とポインタレジスタ3b1〜3bnのデータとを書き込む。
次に、プログラマブルコントローラ100のハードウェア構成におけるシーケンスプログラムの実行順序について説明する。
シーケンスプログラムの実行順序は以下のようになる。
(1)CPU1はプログラム実行回路3a1〜3an内部のプログラムカウンタに値をセットし、また、プログラム実行回路3a1〜3an内部のシーケンスプログラム実行開始フラグをオンすることにより、プログラム実行回路を起動する。起動されるプログラム実行回路は1つの場合、複数の場合が起こりうる。
(2)起動されたプログラム実行回路(k)はプログラムカウンタの値に従って、外部メモリ2からシーケンスプログラムを取込み、順次実行していく。なお、プログラム実行回路(k)は、専用LSI3に内蔵されるプログラム実行回路3a1〜3anの任意の1つを意味する。
(3)プログラム実行回路(k)が外部メモリ2からCPU実行命令を取込むと、
(4)プログラム実行回路(k)はCPU1に対してCPU命令実行要求信号s1を出力、FIFOレジスタに自らのID番号(k)、ポインタレジスタのデータを書込み、シーケンスプログラムの実行停止状態に入る。
(5)CPU1は、専用LSI3から出力されるCPU命令実行要求信号s1を検知すると、専用LSI3内部のFIFOレジスタ3cを読み、自らが実行すべきプログラムが格納されている外部メモリ2上のアドレスからプログラムを取り出して順次実行する。終了したら、専用LSI3内部のCPU命令実行完了レジスタ3eに対して書込み動作を行なう。CPU命令実行完了レジスタ3eへの書込み動作により、プログラム実行回路(k)に対してCPU命令実行完了信号s2が1パルス出力される。CPU1の命令実行結果の出力は、CPU1が専用LSI3の内部メモリ3gにデータを書込むことにより行なわれる。詳細は従来技術と同様である。
(6)CPU1が専用LSI3内部のFIFOレジスタ3cを読むと、FIFOレジスタ3c内のID番号がラッチ・デコードされる(図2のID番号ラッチ・デコード回路3d参照)。この、ID番号ラッチ・デコード回路3dの出力は、CPU命令実行完了信号s2との論理積がとられて、ID番号に該当するプログラム実行回路(k)に接続される。これにより、CPU1は、命令実行依頼元のプログラム実行回路(k)にのみCPU命令実行完了信号s2を出力することができる。
(7)プログラム実行回路(k)は、CPU命令実行完了信号s2を検知すると、CPU命令実行要求信号s1を取下げ、シーケンスプログラムの実行を再開する。
(8)プログラム実行回路3a1〜3anの中の、複数のプログラム実行回路が調停回路4を構成するFIFOレジスタ3cに同時に書込みを行おうとした場合、ID番号の若いプログラム実行回路のものから順に書込みを行うことができることにする。このようにすることにより、各プログラム実行回路3a1,3a2,・・・3anから実行要求されているCPU1に対するこれらの命令を順番に従って順次実行できるようにしている。
図3は本発明のプログラマブルコントローラに用いられる調停回路の一例である。FIFOレジスタへの書込み処理は書込み調停回路3iが調停する。図4は本発明のプログラマブルコントローラに用いられるFIFOレジスタへの書込みの調停を説明する図であり、図5は本発明のプログラマブルコントローラに用いられる書込み調停回路の一例である。
ここで、プログラム実行回路のFIFOレジスタへの書込み処理は、次のような手順により実行する。
プログラム実行回路(k)は、書込み調停回路3iに対してリクエスト信号(k)を出力する。このリクエスト信号(k)は、FIFOレジスタへ書込みが完了するまで出力し続けるものとする。
書込み調停回路は他の優先順位の高いプログラム実行回路からのリクエスト信号を受けていなければプログラム実行回路(k)に対してグラント信号(k)を出力する。このグラント信号(k)は、リクエスト信号(k)の出力が取下げられるまで出力し続けるものとする。
プログラム実行回路(k)はグラント信号(k)を受取ったら、FIFOレジスタへの書込みを行い、書込みが完了したらリクエスト信号を取下げる。
図5は書込み調停回路の一例である。複数のプログラム実行回路から、同時(全く同時刻)にFIFOレジスタへの書込み処理が開始された場合、即ち、複数のプログラム実行回路から同時に書込み調停回路3iに対してリクエスト信号が出力された場合、グラント信号は、最も優先順位の高いプログラム実行回路に対してのみ出力される。図5の例では、ID番号の若いプログラム実行回路の優先順位を高くしている。
本発明の一実施形態である複数の独立したプログラムを並列して実行するプログラマブルコントローラのブロック図である。 図1に示したプログラマブルコントローラ100の概略ブロック図のより詳細なブロック図であり、特に、専用LSI3をより詳細に説明したブロック図である。 本発明のプログラマブルコントローラに用いられる調停回路の一例である。 本発明のプログラマブルコントローラに用いられるFIFOレジスタへの書込みの調停を説明する図である。 本発明のプログラマブルコントローラに用いられる書込み調停回路の一例である。 従来のプログラマブルコントローラのブロック図である。 従来のプログラマブルコントローラにより複数の独立したプログラムを実行する構成(CPU1個使用の例)。 従来技術のプログラマブルコントローラの詳細ブロック図である。 従来技術ブログラマブルコントローラにより複数の独立したプログラムを実行する構成(CPU複数個使用の例)。
符号の説明
1 CPU
2 外部メモリ
3 専用LSI(専用大規模集積回路)
3a1〜3an プログラム実行回路
3b1〜3bn ポインタレジスタ
3c FIFOレジスタ
3d ID番号ラッチ・デコード回路
3e CPU命令実行完了レジスタ
3f オアゲート
3g 内部メモリ
3h I/Oデータコントローラ
3i 書込み調停回路
4 調停回路
5 I/O機器
6 データバス
7 アドレスバス
100 プログラマブルコントローラ
s1 CPU命令実行要求信号
s2 CPU命令実行完了信号

Claims (1)

  1. 複数の独立したシーケンスプログラムを並行して実行するプログラマブルコントローラにおいて、
    前記複数の独立したシーケンスプログラムのそれぞれに対応して設けられ、前記複数の独立したシーケンスプログラムの中で所定の第1の命令を並行して実行する複数のプログラム実行回路と、
    並行して実行されている複数の独立したシーケンスプログラムの中で、前記プログラム実行回路で実行できない第2の命令を実行する1台のCPUと、
    前記複数のプログラム実行回路で発生した少なくとも1つの前記CPUに対する前記第2の命令の実行要求及び前記CPUが前記第2の命令を実行するために必要な情報を発生した順に前記CPUに転送する第1の転送手段と、
    前記CPUが前記第2の命令の実行を完了したことを示す情報を前記プログラム実行回路に転送する第2の転送手段と、
    を備え、
    前記プログラム実行回路は、
    前記第2の命令が発生したときにCPU命令実行要求信号を出力し該CPU命令実行要求信号を出力してからCPUが該命令の実行を完了するまで停止状態となるCPU命令実行要求手段と、
    CPUが前記第2の命令の実行を完了した信号を受けてプログラム実行を再開する再開手段と、
    を有し、
    前記第1の転送手段は、
    前記第2の命令が発生したときに前記CPU命令実行要求信号を順次受け付ける受付手段と、
    前記第2の命令が発生した前記プログラム実行回路のID番号と前記第2の命令のプログラムアドレスを順次記憶する記憶手段と、
    前記記憶手段に記憶されているプログラムアドレスに基づいてCPUが順次前記第2の命令を実行していくためのCPU命令実行開始信号を前記受付手段からCPUに順次出力するCPU実行開始手段と、
    を有し、
    前記第2の転送手段は、
    CPUが前記第2の命令の実行を完了する毎に完了した前記第2の命令に対応する前記ID番号のプログラム実行回路にCPU命令実行完了信号と実行結果を出力するCPU実行完了通知手段と、
    を有することを特徴とするプログラマブルコントローラ。
JP2007286092A 2007-11-02 2007-11-02 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ Expired - Fee Related JP4975586B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007286092A JP4975586B2 (ja) 2007-11-02 2007-11-02 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007286092A JP4975586B2 (ja) 2007-11-02 2007-11-02 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ

Publications (3)

Publication Number Publication Date
JP2009116445A JP2009116445A (ja) 2009-05-28
JP2009116445A5 JP2009116445A5 (ja) 2010-06-17
JP4975586B2 true JP4975586B2 (ja) 2012-07-11

Family

ID=40783553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007286092A Expired - Fee Related JP4975586B2 (ja) 2007-11-02 2007-11-02 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JP4975586B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4809497B2 (ja) * 2010-02-25 2011-11-09 ファナック株式会社 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ
JP2013222364A (ja) 2012-04-18 2013-10-28 Renesas Electronics Corp 信号処理回路

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161615A (ja) * 1997-11-25 1999-06-18 Mitsubishi Electric Corp 制御命令演算処理装置

Also Published As

Publication number Publication date
JP2009116445A (ja) 2009-05-28

Similar Documents

Publication Publication Date Title
WO2017185396A1 (zh) 一种用于执行矩阵加/减运算的装置和方法
US10657039B2 (en) Control device for a motor vehicle
US9063907B2 (en) Comparison for redundant threads
JP5994679B2 (ja) 処理装置、及び処理装置の制御方法
CN105824696B (zh) 一种具有定时中断功能的处理器装置
JP4975586B2 (ja) 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ
JP4112813B2 (ja) バスシステム及びそのコマンドの伝達方法
JP2000105759A (ja) 集積回路及び集積回路用のデータを記録した記録媒体
JP2015141717A (ja) 推測的割込みシグナリング
JP2006293741A (ja) プロセッサ
JP3456894B2 (ja) シーケンス制御装置
JP3139310B2 (ja) ディジタル信号処理装置
JPS6158861B2 (ja)
JPS62269237A (ja) デ−タプロセツサ
JP2003233403A (ja) 制御装置およびプログラミング装置
JP5194360B2 (ja) 情報処理装置およびその制御方法
JP2003029966A (ja) データ処理装置
JP5088566B2 (ja) 割込機能を備えたplc
JP2020140290A (ja) 中央演算処理装置
JP2006285719A (ja) 情報処理装置および情報処理方法
JP2009199424A (ja) マイクロコンピュータ
JPH08115214A (ja) ディジタル信号処理装置
JP2011192024A (ja) 入出力制御装置
JP2008299740A (ja) 非同期マイクロプロセッサ、電子情報装置
JPH03164945A (ja) データ処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100426

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111128

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4975586

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees