JP5747584B2 - 制御装置およびシステムプログラム - Google Patents

制御装置およびシステムプログラム Download PDF

Info

Publication number
JP5747584B2
JP5747584B2 JP2011056869A JP2011056869A JP5747584B2 JP 5747584 B2 JP5747584 B2 JP 5747584B2 JP 2011056869 A JP2011056869 A JP 2011056869A JP 2011056869 A JP2011056869 A JP 2011056869A JP 5747584 B2 JP5747584 B2 JP 5747584B2
Authority
JP
Japan
Prior art keywords
task
program
tasks
executed
control device
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.)
Active
Application number
JP2011056869A
Other languages
English (en)
Other versions
JP2012194681A (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2011056869A priority Critical patent/JP5747584B2/ja
Priority to EP11815659.5A priority patent/EP2525266A4/en
Priority to PCT/JP2011/071860 priority patent/WO2012124197A1/ja
Priority to CN201180003423.3A priority patent/CN102804086B/zh
Priority to US13/399,295 priority patent/US9377769B2/en
Publication of JP2012194681A publication Critical patent/JP2012194681A/ja
Application granted granted Critical
Publication of JP5747584B2 publication Critical patent/JP5747584B2/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
    • 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/13153Modification, change of program in real time
    • 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/15Plc structure of the system
    • G05B2219/15079Multitasking, real time multitasking

Landscapes

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

Description

本発明は、制御対象機器を制御する制御装置およびその制御装置で実行されるシステムプログラムに関する。
従来、工場の生産ラインに設置される産業用機械などを制御するPLC(Programmable
Logic Controller:プログラマブルロジックコントローラ)が知られている。
PLCは、PLCを制御するCPUユニットと、センサからの信号が入力される入力ユニットと、産業用機械などに制御信号を出力する出力ユニットとを備えている。CPUユニットは、ユーザプログラムを記憶するメモリを有する。このユーザプログラムは、CPUユニットに接続されるツール装置により編集可能に構成されている。
そして、PLCでは、入力ユニットに入力された信号をCPUユニットのメモリに取り込む処理と、ユーザプログラムを実行する処理と、ユーザプログラムの実行結果(演算結果)をメモリに書き込んで出力ユニットに送り出す処理と、ツール装置との間でデータの送受信を行うなどの周辺処理とが繰り返し行われる。これにより、PLCは、センサからの入力に基づいて産業用機械などを制御する。
また、従来では、パーソナルコンピュータの高度なソフトウェア機能と、PLCの信頼性とを備えるPAC(Programmable Automation Controller:プログラマブルオートメーションコントローラ)も知られている(たとえば、特許文献1参照)。
上記特許文献1のPACは、時分割により複数のタスクを並行して実行するとともに、各タスクを各タスクに応じた周期で実行するように構成されている。すなわち、このPACでは、マルチタスクで処理が行われる。なお、タスクには、各タスクに応じたユーザプログラムの実行が含まれている。
特開2009−181443号公報
しかしながら、特許文献1に開示された従来のPACでは、マルチタスクで処理が行われている際にツール装置によりユーザプログラムの更新を行うことが困難であるという問題点がある。具体的には、ユーザプログラムを構成するプログラム構成単位(Program Organization Unit:POU)が複数のタスクで用いられる場合において、そのプログラム構成単位が編集対象である場合には、各タスクの周期が異なることにより、プログラム構成単位の変更が反映されるタイミングが異なることによって、各タスクの演算結果の整合性が保てなくなることが生じ得るという問題点がある。すなわち、複数のタスクで用いられるプログラム構成単位が変更される場合において、周期の短いタスクにおいてその変更が反映される一方、周期の長いタスクにおいて変更前のプログラム構成単位が保持され変更が反映されない状態が生じ得る。
本発明は、上記の課題を解決するためになされたものであり、本発明の目的は、マルチタスクで処理が行われている際にユーザプログラムの更新を行うことが可能な制御装置お
よびその制御装置で実行されるシステムプログラムを提供することである。
本発明による制御装置は、制御対象機器を制御する制御装置であって、プログラム構成単位を含むユーザプログラムを記憶する第1記憶手段と、前記ユーザプログラムを含むタスクを実行するタスク実行手段と、前記第1記憶手段に記憶されたプログラム構成単位を更新する更新手段とを備え、前記タスク実行手段は、複数のタスクを並行に実行するとともに、各タスクを各タスクに応じた周期で実行するように構成され、前記更新手段は、前記タスク実行手段により実行される複数のタスクのうちの全てのタスクが実行を完了してから、前記全てのタスクのうちの最も早く実行されるタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新するように構成されていることを特徴とする。なお、複数のタスクを並行に実行するとは、複数のタスクを同時に並行して実行する場合と、時分割により複数のタスクを並行して実行する場合とを含む。
このように構成することによって、実行される複数のタスクが完了してから複数のタスクが再び実行されるまでの間にプログラム構成単位を更新することにより、各タスクの周期が異なっている場合にも、各タスクにおいてプログラム構成単位の変更を同時に反映させることができる。これにより、複数のタスクで用いられるプログラム構成単位が変更される場合において、周期の短いタスクにおいてその変更が反映される一方、周期の長いタスクにおいて変更前のプログラム構成単位が保持され変更が反映されない状態が発生しない。したがって、各タスクの演算結果の整合性を保つことができるので、マルチタスクで処理が行われている際にユーザプログラムの更新を行うことができる。また、容易に、各タスクにおいてプログラム構成単位の変更を同時に反映させることができる。
本発明による制御装置は、制御対象機器を制御する制御装置であって、プログラム構成単位を含むユーザプログラムを記憶する第1記憶手段と、前記ユーザプログラムを含むタスクを実行するタスク実行手段と、前記第1記憶手段に記憶されたプログラム構成単位を更新する更新手段とを備え、前記タスク実行手段は、複数のタスクを並行に実行するとともに、各タスクを各タスクに応じた周期で実行するように構成され、前記更新手段は、前記タスク実行手段により実行される複数のタスクのうち、更新されるプログラム構成単位を含むタスクの全てが実行を完了してから、前記更新されるプログラム構成単位を含むタスクのうち、最も早く実行されるタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新するように構成されていることを特徴とする。なお、複数のタスクを並行に実行するとは、複数のタスクを同時に並行して実行する場合と、時分割により複数のタスクを並行して実行する場合とを含む。
このように構成することによって、実行される複数のタスクが完了してから複数のタスクが再び実行されるまでの間にプログラム構成単位を更新することにより、各タスクの周期が異なっている場合にも、各タスクにおいてプログラム構成単位の変更を同時に反映させることができる。これにより、複数のタスクで用いられるプログラム構成単位が変更される場合において、周期の短いタスクにおいてその変更が反映される一方、周期の長いタスクにおいて変更前のプログラム構成単位が保持され変更が反映されない状態が発生しない。したがって、各タスクの演算結果の整合性を保つことができるので、マルチタスクで処理が行われている際にユーザプログラムの更新を行うことができる。また、更新されるプログラム構成単位が含まれていないタスクの周期が長い場合に、そのタスクの完了を待つ必要がないので、プログラム構成単位を迅速に更新することができる。
この場合において、前記更新手段によるプログラム構成単位の更新を受け付ける受付手段を備えていてもよい。
この場合において、前記タスク実行手段により実行されるタスクに関する情報を記憶する第2記憶手段と、前記第2記憶手段に記憶されたタスクに関する情報に基づいて、前記受付手段により更新を受け付けたプログラム構成単位が前記タスク実行手段により実行されるタスクに含まれているか否かを判断する判断手段とを備えていてもよい。
このように構成すれば、各タスクに更新を受け付けたプログラム構成単位が含まれているか否かを容易に判断することができる。
上記制御装置において、前記タスク実行手段は、複数のタスクを同時に並行して実行するように構成されていてもよい。
このように構成すれば、タスクの処理能力の向上を図ることができる。
上記制御装置において、前記タスク実行手段は、時分割により複数のタスクを並行して実行するように構成されていてもよい。
このように構成すれば、タスクの処理を効率的に行うことができる。
上記制御装置において、複数のタスクは、基準のタスクと、基準のタスク以外のタスクとを含み、前記基準のタスク以外のタスクの周期は、前記基準のタスクの周期の整数倍に設定されていてもよい。
このように構成すれば、複数のタスクの周期を揃えやすくすることができる。
本発明によるシステムプログラムは、制御対象機器を制御する制御装置で実行されるプログラムであって、プログラム構成単位を含むユーザプログラムを記憶する第1記憶手段を備える制御装置に、前記ユーザプログラムを含む複数のタスクを並行に各タスクに応じた周期で実行させる手順と、実行される複数のタスクのうちの全てのタスクが実行を完了してから、前記全てのタスクのうちの最も早く実行されるタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新させる手順と、を実行させるためのシステムプログラムであることを特徴とする。
本発明によるシステムプログラムは、制御対象機器を制御する制御装置で実行されるプログラムであって、プログラム構成単位を含むユーザプログラムを記憶する第1記憶手段を備える制御装置に、前記ユーザプログラムを含む複数のタスクを並行に各タスクに応じた周期で実行させる手順と、実行される複数のタスクのうち、更新されるプログラム構成単位を含むタスクの全てが実行を完了してから、前記更新されるプログラム構成単位を含むタスクのうち、最も早く実行されるタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新させる手順と、を実行させるためのシステムプログラムであることを特徴とする。
このように構成することによって、制御装置にマルチタスクで処理を行いながらユーザプログラムの更新を行わせることができる。
本発明によれば、マルチタスクで処理が行われている際にユーザプログラムの更新を行うことが可能な制御装置およびその制御装置で実行されるシステムプログラムを提供することができる。
本発明の第1実施形態によるCPUユニットを備えるPACの構成を示したブロック図である。 図1に示したPACのCPUユニットの構成を示したブロック図である。 図2に示したCPUユニットのROMに記憶されるタスクに関する情報を説明するための図である。 本発明の第1実施形態によるCPUユニットの通常時の動作を説明するためのタイムチャートである。 本発明の第1実施形態によるCPUユニットのオンラインエディット時の動作を説明するためのタイムチャートである。 本発明の第2実施形態によるCPUユニットのオンラインエディット時の動作を説明するためのタイムチャートである。 本発明の第3実施形態によるCPUユニットの構成を示したブロック図である。 図7に示したCPUユニットのROMに記憶されるタスクに関する情報を説明するための図である。 本発明の第3実施形態によるCPUユニットの通常時の動作を説明するためのタイムチャートである。
以下、本発明の実施形態について図面を参照して説明する。
<第1実施形態>
まず、図1〜図3を参照して、第1実施形態によるCPUユニット1を備えるPAC100の構成について説明する。
PAC100は、図1に示すように、PAC100を制御するCPUユニット1と、センサ50からの信号が入力される入力ユニット2と、産業用機械などの制御対象機器60に制御信号を出力する出力ユニット3と、各ユニットに電力を供給する電源ユニット4と、各ユニットを接続する内部バス5とを備えている。なお、CPUユニット1は、本発明の「制御装置」の一例である。
PAC100は、タスクを実行することにより、センサ50からの入力に基づいて制御対象機器60を制御するように構成されている。ここで、タスクには、制御対象機器60を制御するためのユーザプログラムの実行が含まれている。
CPUユニット1では、システムプログラム121(図2参照)がインストールされており、そのシステムプログラム121が実行されることによりCPUユニット1の動作が制御されるように構成されている。なお、システムプログラム121には、入力ユニット2に入力された信号をCPUユニット1に取り込む処理を実行するためのプログラムや、CPUユニット1による演算結果を出力ユニット3に送り出す処理を実行するためのプログラムなどが含まれている。
CPUユニット1は、図2に示すように、CPU11と、ROM12と、RAM13と、通信インターフェース(以下、「通信IF」という)14および15とを含んでいる。なお、CPU11は、本発明の「タスク実行手段」、「更新手段」および「判断手段」の一例である。また、ROM12は、本発明の「第1記憶手段」および「第2記憶手段」の一例であり、通信IF15は、本発明の「受付手段」の一例である。
CPU11は、システムプログラム121を実行する機能を有する。CPU11は、シングルコアであり、時分割により複数のタスクを並行して実行するように構成されている。すなわち、CPU11では、マルチタスクで処理が実行される。
ROM12は、不揮発性のメモリであり、たとえば、フラッシュメモリである。ROM12には、インストールされたシステムプログラム121が記憶されている。また、ROM12には、CPUユニット1において実行されるタスクに関する情報L1(図3参照)が記憶されている。タスクに関する情報L1には、各タスクの名称と、各タスクの優先度と、各タスクが実行される周期と、各タスクで実行されるユーザプログラムの構成と、各タスクのユーザプログラムを構成するプログラム構成単位(以下、「POU」という)とが含まれている。なお、タスクは、優先度の値が小さいタスクが優先的に実行される。また、CPUユニット1では、予め設定された時間間隔(たとえば、1ms)の制御サイクルを処理全体の共通サイクルとして採用している。また、ユーザプログラムは、たとえば、ラダー言語で記述されている。
ここで、POUは、プログラム管理上の最小単位であり、プログラムと、ファンクションと、ファンクションブロックとを含んでいる。そして、POUのファンクションおよびファンクションブロックは、再利用することが可能である。すなわち、POUのファンクションおよびファンクションブロックは、複数のユーザプログラムで共用することが可能である。なお、ファンクションは、所定の入力値が入力された場合に、所定の入力値に対
応する一定の出力値を出力する関数であり、ファンクションブロックは、内部状態を持てることにより、入力値に対する出力値が一定ではない関数である。
図3の例では、タスクAは、タスクBおよびCよりも優先的に実行されるとともに、1msの周期で実行される。すなわち、タスクAは、1回分の制御サイクル(1msの時間間隔)を実行サイクルとしている。また、タスクAは、プログラムPa1およびPa2により構成されるユーザプログラムUPaを含んでいる。また、タスクAには、プログラムPa1で利用されるファンクションブロックFB1が含まれている。なお、タスクAは、本発明の「基準のタスク」の一例である。
また、タスクBは、タスクCよりも優先的に実行されるとともに、2msの周期で実行される。すなわち、タスクBは、2回分の制御サイクル(2msの時間間隔)を実行サイクルとしている。また、タスクBの周期は、タスクAの周期の整数倍(2倍)に設定されている。また、タスクBは、プログラムPb1およびPb2により構成されるユーザプログラムUPbを含んでいる。また、タスクBには、プログラムPb2で利用されるファンクションブロックFB1が含まれている。なお、タスクBは、本発明の「基準のタスク以外のタスク」の一例である。
また、タスクCは、タスクAおよびBよりも劣後して実行されるとともに、4msの周期で実行される。すなわち、タスクCは、4回分の制御サイクル(4msの時間間隔)を実行サイクルとしている。また、タスクCの周期は、タスクAの周期の整数倍(4倍)に設定されている。また、タスクCは、プログラムPc1により構成されるユーザプログラムUPcを含んでいる。また、タスクCには、プログラムPc1で利用されるファンクションブロックFB2およびFB3が含まれている。なお、タスクCは、本発明の「基準のタスク以外のタスク」の一例である。
また、ROM12には、ユーザプログラムUPa〜UPcが記憶されている。このため、ROM12には、POUのプログラムPa1、Pa2、Pb1、Pb2およびPc1と、POUのファンクションブロックFB1〜FB3とが記憶されている。
RAM13は、揮発性のメモリであり、たとえば、DRAMである。RAM13は、CPU11により実行されるシステムプログラム121などを一時的に記憶する機能を有する。通信IF14は、内部バス5に接続されており、CPUユニット1が内部バス5を介して各ユニットと通信するために設けられている。通信IF15は、ツール装置70に接続されており、CPUユニット1がツール装置70と通信するために設けられている。
ツール装置70は、たとえば、パーソナルコンピュータであり、PAC100において実行されるユーザプログラムの作成・編集機能を有する。また、ツール装置70は、ユーザプログラムをPAC100からダウンロードする機能を有するとともに、ユーザプログラムをPAC100にアップロードする機能を有する。
CPUユニット1は、マルチタスクで処理が行われている際にユーザプログラムの更新を行うことが可能なように構成されている。すなわち、CPUユニット1は、オンラインエディットを行うことが可能なように構成されている。なお、オンラインエディットとは、CPUユニット1の運転(タスクのユーザプログラムの実行)を停止させることなく、ツール装置70を用いてユーザプログラムの一部を変更・追加することをいう。
CPUユニット1は、ツール装置70からアップロードされたユーザプログラムを通信IF15により受信した後、実行されている複数のタスクが完了してから複数のタスクが再び実行されるまでの間に、ROM12に記憶されるユーザプログラムを更新するように
構成されている。具体的には、CPUユニット1は、ユーザプログラムを受信した後、実行されている複数のタスクの実行サイクルが揃う際(複数のタスクが同期した際)に、ROM12に記憶されるユーザプログラムを更新するように構成されている。
つまり、第1実施形態によるCPUユニット1は、ユーザプログラムのPOU(ファンクションブロックFB1a)を通信IF15により受信した後、実行される複数のタスク(タスクA、BおよびC)のうち、全てのタスク(タスクA、BおよびC)の実行サイクルが揃う際に、ROM12に記憶されるユーザプログラムのPOU(ファンクションブロックFB1)を受信したPOU(ファンクションブロックFB1a)に変更するように構成されている。
次に、図4を参照して、第1実施形態によるCPUユニット1の通常時の動作について説明する。なお、以下の動作は、CPUユニット1(図2参照)のCPU11によりシステムプログラム121が実行されることにより行われる。すなわち、システムプログラム121は、CPUユニット1に以下の動作を実行させるためのシステムプログラムである。
CPUユニット1では、電源が投入されると、所定の初期処理が実行される。
そして、制御サイクルと同時にタスクA、BおよびCの実行サイクルが開始される。なお、タスクAは1msの周期で実行され、タスクBは2msの周期で実行され、タスクCは4msの周期で実行される。
具体的には、まず、最も優先度の高いタスクAの処理が開始される。このとき、タスクBおよびCは、タスクAよりも優先度が低いことから、実際の処理が開始されることなく待機状態になる。
そして、タスクAのユーザプログラムUPaが実行され、タスクAの処理が完了すると、タスクCよりも優先度が高いタスクBの処理が開始される。このとき、タスクCは待機状態のままである。そして、タスクBのユーザプログラムUPbが実行される。
次に、タスクA、BおよびCの実行サイクルが同時に開始されてから1ms経過すると、タスクAの実行サイクルが経過することから、タスクBのユーザプログラムUPbが中断され、タスクAの実行が開始される。このとき、タスクBおよびCは待機状態である。
そして、タスクAのユーザプログラムUPaが実行され、タスクAの処理が完了すると、中断されたタスクBの処理が再開される。これにより、タスクBのユーザプログラムUPbの残りが実行される。そして、タスクBの処理が完了すると、タスクCの処理が開始され、タスクCのユーザプログラムUPcが実行される。
次に、タスクA、BおよびCの実行サイクルが同時に開始されてから2ms経過すると、タスクAの実行サイクルが経過することから、タスクCのユーザプログラムUPcが中断され、タスクAの実行が開始される。このとき、タスクBの実行サイクルも経過することから、タスクBおよびCは待機状態である。すなわち、タスクA、BおよびCの実行サイクルが同時に開始されてから2ms経過すると、タスクAおよびBの実行サイクルが再び同時に開始される。
そして、タスクAのユーザプログラムUPaが実行され、タスクAの処理が完了すると、タスクBの処理が開始される。このとき、タスクCは待機状態である。そして、タスクBのユーザプログラムUPbが実行される。
次に、タスクA、BおよびCの実行サイクルが同時に開始されてから3ms経過すると、タスクAの実行サイクルが経過することから、タスクBのユーザプログラムUPbが中断され、タスクAの実行が開始される。このとき、タスクBおよびCは待機状態である。
そして、タスクAのユーザプログラムUPaが実行され、タスクAの処理が完了すると、中断されたタスクBの処理が再開される。これにより、タスクBのユーザプログラムUPbの残りが実行される。そして、タスクBの処理が完了すると、中断されたタスクCの処理が再開される。これにより、タスクCのユーザプログラムUPcの残りが実行される。そして、タスクCの処理が完了した後、タスクA、BおよびCの実行サイクルが同時に開始されてから4ms経過すると、タスクAの実行サイクルが経過することから、タスクAの実行が開始される。このとき、タスクBおよびCの実行サイクルも経過することから、タスクBおよびCは待機状態である。すなわち、タスクA、BおよびCの実行サイクルが同時に開始されてから4ms経過すると、タスクA、BおよびCの実行サイクルが再び同時に開始される。その後、上記した動作が繰り返し行われる。
次に、図5を参照して、第1実施形態によるCPUユニット1のオンラインエディット時の動作について説明する。なお、オンラインエディットとは、CPUユニット1(図2参照)の運転(タスクのユーザプログラムの実行)を停止させることなく、ツール装置70(図2参照)を用いてユーザプログラムの一部を変更・追加することをいう。
なお、以下では、上記した通常時の動作が行われている際に、ツール装置70からユーザプログラムがアップロードされることにより、通信IF15(図2参照)によるユーザプログラムの受信が地点P1で完了した場合の動作について説明する。また、以下では、オンラインエディットの編集内容として、タスクAのプログラムPa1およびタスクBのプログラムPb2で利用されるファンクションブロックFB1をファンクションブロックFB1aに変更する場合を例に説明する。
また、以下の動作は、CPUユニット1のCPU11によりシステムプログラム121が実行されることにより行われる。すなわち、システムプログラム121は、CPUユニット1に以下の動作を実行させるためのシステムプログラムである。
まず、制御サイクルと同時にタスクA、BおよびCの実行サイクルが開始される。なお、このときのタスクA、BおよびCの処理については通常時と同様である。そして、通信IF15によるファンクションブロックFB1aの受信が地点P1で完了される。
その後、タスクA、BおよびCの実行が完了されてからタスクA、BおよびCが再び実行されるまでの間に、オンラインエディットの編集内容が反映される。具体的には、タスクA、BおよびCの実行サイクルが同時に開始される際(タスクA、BおよびCの実行が完了されてからタスクA、BおよびCの実行サイクルが再び同時に開始されるまでの間)に、オンラインエディットの編集内容が反映される。すなわち、地点P2においてタスクA、BおよびCの実行サイクルが揃う際に、ROM12(図2参照)に記憶されたファンクションブロックFB1がファンクションブロックFB1aに更新される。
これにより、ファンクションブロックFB1aの受信が完了した後であっても、タスクA、BおよびCの実行サイクルが同時に開始されるまでは、タスクAのプログラムPa1およびタスクBのプログラムPb2においてファンクションブロックFB1が用いられる。そして、タスクA、BおよびCの実行サイクルが同時に開始された後は、編集内容が反映されていることにより、タスクAのプログラムPa1およびタスクBのプログラムPb2においてファンクションブロックFB1aが用いられる。
つまり、タスクA、BおよびCの実行サイクルが揃う地点P2までは、プログラムPa1およびプログラムPb2においてファンクションブロックFB1が用いられ、タスクA、BおよびCの実行サイクルが揃う地点P2からは、プログラムPa1およびプログラムPb2においてファンクションブロックFB1aが用いられる。
第1実施形態では、上記のように、ユーザプログラム(ファンクションブロックFB1a)を受信した後、実行される複数のタスク(タスクA、BおよびC)のうち、全てのタスク(タスクA、BおよびC)の実行サイクルが揃った場合に、ROM12に記憶されるユーザプログラム(ファンクションブロックFB1)を受信したユーザプログラム(ファンクションブロックFB1a)に変更する。
このように構成することによって、各タスクの周期が異なっている場合にも、各タスクにおいてユーザプログラムの変更が同時に反映される。これにより、タスクA、BおよびCの実行サイクルが揃う地点P2までは、プログラムPa1およびプログラムPb2においてファンクションブロックFB1を用いるとともに、タスクA、BおよびCの実行サイクルが揃う地点P2からは、プログラムPa1およびプログラムPb2においてファンクションブロックFB1aを用いることができる。したがって、タスクAおよびBで用いられるファンクションブロックFB1が受信したファンクションブロックFB1aに変更される場合において、周期の短いタスクAにおいてその変更が反映される一方、周期の長いタスクBにおいて変更前のファンクションブロックFB1が保持され変更が反映されない状態が発生しない。つまり、タスクAのユーザプログラムPa1ではファンクションブロックFB1aが用いられるとともに、タスクBのユーザプログラムPb2ではファンクションブロックFB1が用いられる状態が発生しない。その結果、各タスクの演算結果の整合性を保つことができるので、マルチタスクで処理が行われている際にユーザプログラムの更新を行うことができる。つまり、マルチタスクで処理が行われている際にオンラインエディットを適切に行うことができる。
また、第1実施形態では、全てのタスク(タスクA、BおよびC)の実行サイクルが揃った場合に、ROM12に記憶されるPOUを更新することによって、容易に、各タスクにおいてPOUの変更を同時に反映させることができる。
また、第1実施形態では、CPU11が、シングルコアであり、時分割により複数のタスクを並行して実行することによって、CPU11の処理能力を効率的に利用することができる。
また、第1実施形態では、タスクBおよびCの周期がタスクAの周期の整数倍であることによって、タスクA、BおよびCの実行サイクルを揃えやすくすることができる。
<第2実施形態>
まず、第2実施形態によるCPUユニット1の構成について説明する。
第2実施形態によるCPUユニット1(図2参照)は、ツール装置70からアップロードされたユーザプログラムのPOU(ファンクションブロックFB1a)を通信IF15により受信した後、実行される複数のタスク(タスクA、BおよびC)のうち、オンラインエディットの対象となるPOU(ファンクションブロックFB1)を含むタスク(タスクAおよびB)の実行サイクルが揃う際に、ROM12に記憶されるユーザプログラムのPOU(ファンクションブロックFB1)を受信したPOU(ファンクションブロックFB1a)に変更するように構成されている。なお、CPUユニット1では、CPU11により、ROM12に記憶されたタスクに関する情報L1に基づいて、オンラインエディッ
トの対象となるPOUを含むタスクの判別を行うことが可能である。
なお、第2実施形態によるCPUユニット1のその他の構成は、第1実施形態によるCPUユニット1と同様である。また、第2実施形態によるCPUユニット1の通常時の動作は、第1実施形態によるCPUユニット1と同様である。
次に、図6を参照して、第2実施形態によるCPUユニット1のオンラインエディット時の動作について説明する。なお、以下では、通常時の動作が行われている際に、ツール装置70からユーザプログラムがアップロードされることにより、通信IF15によるユーザプログラムの受信が地点P1で完了した場合の動作について説明する。また、以下では、オンラインエディットの編集内容として、タスクAのプログラムPa1およびタスクBのプログラムPb2で利用されるファンクションブロックFB1をファンクションブロックFB1aに変更する場合を例に説明する。
また、以下の動作は、CPUユニット1のCPU11によりシステムプログラム121が実行されることにより行われる。すなわち、システムプログラム121は、CPUユニット1に以下の動作を実行させるためのシステムプログラムである。
まず、制御サイクルと同時にタスクA、BおよびCの実行サイクルが開始される。なお、このときのタスクA、BおよびCの処理については通常時と同様である。そして、通信IF15によるファンクションブロックFB1aの受信が地点P1で完了される。
また、ROM12に記憶されたタスクに関する情報L1に基づいて、タスクA、BおよびCにファンクションブロックFB1が含まれているか否かが判断される。その結果、タスクAおよびBにはファンクションブロックFB1が含まれ、タスクCにはファンクションブロックFB1が含まれていないと判断される。
その後、タスクAおよびBの実行が完了されてからタスクAおよびBが再び実行されるまでの間に、オンラインエディットの編集内容が反映される。具体的には、タスクAおよびBの実行サイクルが同時に開始される際(タスクAおよびBの実行が完了されてからタスクAおよびBの実行サイクルが再び同時に開始されるまでの間)に、オンラインエディットの編集内容が反映される。すなわち、地点P3においてタスクAおよびBの実行サイクルが揃う際に、ROM12に記憶されたファンクションブロックFB1がファンクションブロックFB1aに更新される。
これにより、ファンクションブロックFB1aの受信が完了した後であっても、タスクAおよびBの実行サイクルが同時に開始されるまでは、タスクAのプログラムPa1およびタスクBのプログラムPb2においてファンクションブロックFB1が用いられる。そして、タスクAおよびBの実行サイクルが同時に開始された後は、編集内容が反映されていることにより、タスクAのプログラムPa1およびタスクBのプログラムPb2においてファンクションブロックFB1aが用いられる。
つまり、タスクAおよびBの実行サイクルが揃う地点P3までは、プログラムPa1およびプログラムPb2においてファンクションブロックFB1が用いられ、タスクAおよびBの実行サイクルが揃う地点P3からは、プログラムPa1およびプログラムPb2においてファンクションブロックFB1aが用いられる。
第2実施形態では、上記のように、ユーザプログラム(ファンクションブロックFB1a)を受信した後、実行される複数のタスク(タスクA、BおよびC)のうち、編集対象のユーザプログラム(ファンクションブロックFB1)を含むタスク(タスクAおよびB
)の実行サイクルが揃う際に、ROM12に記憶されるユーザプログラム(ファンクションブロックFB1)を受信したユーザプログラム(ファンクションブロックFB1a)に変更することによって、編集対象のユーザプログラム(ファンクションブロックFB1)が含まれていないタスク(タスクC)の周期が長い場合に、そのタスク(タスクC)の完了を待つ必要がないので、ユーザプログラムを迅速に更新することができる。
また、第2実施形態では、ROM12がタスクに関する情報L1を記憶することによって、各タスクに編集対象のPOUが含まれているか否かをCPU11が容易に判断することができる。
なお、第2実施形態のその他の効果は、上記第1実施形態と同様である。
<第3実施形態>
まず、図7および図8を参照して、第3実施形態によるCPUユニット1aの構成について説明する。なお、第1実施形態によるCPUユニット1と同一部分には同一符号を付して重複する説明を省略する。
CPUユニット1aでは、図7に示すように、システムプログラム121aがインストールされており、そのシステムプログラム121aが実行されることによりCPUユニット1aの動作が制御されるように構成されている。なお、CPUユニット1aは、本発明の「制御装置」の一例である。
CPUユニット1aは、CPU11aと、ROM12aと、RAM13と、通信IF14および15とを含んでいる。なお、CPU11aは、本発明の「タスク実行手段」、「更新手段」および「判断手段」の一例である。また、ROM12aは、本発明の「第1記憶手段」および「第2記憶手段」の一例である。
CPU11aは、システムプログラム121aを実行する機能を有する。CPU11aは、デュアルコアであり、複数のタスクを同時に並行して実行するように構成されている。すなわち、CPU11aでは、マルチタスクで処理が実行される。なお、CPU11aのその他の構成は、上記したCPU11と同様である。
ROM12aには、インストールされたシステムプログラム121aが記憶されている。また、ROM12aには、CPUユニット1aにおいて実行されるタスクに関する情報L2(図8参照)が記憶されている。タスクに関する情報L2には、各タスクの名称と、各タスクの優先度と、各タスクが実行される周期と、各タスクで実行されるユーザプログラムの構成と、各タスクのユーザプログラムを構成するPOUとが含まれている。なお、ROM12aのその他の構成は、上記したROM12と同様である。
図8の例では、タスクDは、タスクEよりも優先的に実行されるとともに、1msの周期で実行される。すなわち、タスクDは、1回分の制御サイクル(1msの時間間隔)を実行サイクルとしている。また、タスクDは、プログラムPd1およびPd2により構成されるユーザプログラムUPdを含んでいる。また、タスクDには、プログラムPd1で利用されるファンクションブロックFB4が含まれている。なお、タスクDは、本発明の「基準のタスク」の一例である。
また、タスクEは、タスクDよりも劣後して実行されるとともに、2msの周期で実行される。すなわち、タスクEは、2回分の制御サイクル(2msの時間間隔)を実行サイクルとしている。また、タスクEの周期は、タスクDの周期の整数倍(2倍)に設定されている。また、タスクEは、プログラムPe1およびPe2により構成されるユーザプロ
グラムUPeを含んでいる。また、タスクEには、プログラムPe2で利用されるファンクションブロックFB4が含まれている。なお、タスクEは、本発明の「基準のタスク以外のタスク」の一例である。
第3実施形態によるCPUユニット1aは、ユーザプログラムのPOU(ファンクションブロックFB1a)を通信IF15により受信した後、実行される複数のタスク(タスクDおよびE)のうち、全てのタスク(タスクDおよびE)の実行サイクルが揃う際に、ROM12aに記憶されるユーザプログラムのPOU(ファンクションブロックFB1)を受信したPOU(ファンクションブロックFB1a)に変更するように構成されている。
次に、図9を参照して、第3実施形態によるCPUユニット1aの通常時の動作について説明する。なお、以下の動作は、CPUユニット1a(図7参照)のCPU11aによりシステムプログラム121aが実行されることにより行われる。すなわち、システムプログラム121aは、CPUユニット1aに以下の動作を実行させるためのシステムプログラムである。
CPUユニット1aでは、電源が投入されると、所定の初期処理が実行される。
そして、制御サイクルと同時にタスクDおよびEの実行サイクルが開始される。なお、タスクDは1msの周期で実行され、タスクEは2msの周期で実行される。
第3実施形態によるCPUユニット1aでは、タスクDおよびEが並行して処理される。そして、タスクDの処理が完了した後、タスクDおよびEの実行サイクルが同時に開始されてから1ms経過すると、タスクDの実行サイクルが経過することから、タスクDの実行が開始される。その後、タスクDの処理が完了され、タスクEの処理が完了された後、タスクDおよびEの実行サイクルが同時に開始されてから2ms経過すると、タスクDおよびEの実行サイクルが経過することから、再びタスクDおよびEが実行される。その後、上記した動作が繰り返し行われる。
なお、第3実施形態によるCPUユニット1aのオンラインエディット時の動作は、第1実施形態によるCPUユニット1と略同様である。
第3実施形態では、上記のように、CPU11aが、デュアルコアであり、複数のタスクを同時に並行して実行することによって、タスクの処理能力の向上を図ることができる。
なお、第3実施形態のその他の効果は、上記第1実施形態と同様である。
なお、今回開示した実施形態は、すべての点で例示であって、限定的な解釈の根拠となるものではない。したがって、本発明の技術的範囲は、上記した実施形態のみによって解釈されるものではなく、特許請求の範囲の記載に基づいて画定される。また、本発明の技術的範囲には、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
たとえば、第1実施形態では、PAC100がCPUユニット1と、入力ユニット2と、出力ユニット3と、電源ユニット4とを備える例を示したが、これに限らず、PACが通信ユニットなどのその他のユニットを備えていてもよいし、PACに入力ユニットが設けられていなくてもよい。
また、第1実施形態では、PAC100が複数のユニットにより構成される例を示した
が、これに限らず、PACが1つの筐体により構成され、その筐体に各ユニットの機能が組み込まれていてもよい。
また、第1〜第3実施形態において、タスクには、定期的に実行されるタスク(定周期タスク)に加えて、予め設定された実行条件が成立した場合に実行されるタスク(イベントタスク)が含まれていてもよい。
また、第1〜第3実施形態では、編集対象がファンクションブロックである例を示したが、これに限らず、編集対象がファンクションであってもよい。
また、第1〜第3実施形態では、編集対象のPOU(ファンクションブロック)が1個である例を示したが、これに限らず、編集対象のPOUが複数であってもよい。
また、第1および第2実施形態では、ROM12が、タスクに関する情報L1を記憶するとともに、ユーザプログラムを記憶する例を示したが、これに限らず、タスクに関する情報を記憶するROMと、ユーザプログラムを記憶するROMとが別個に設けられていてもよい。なお、第3実施形態についても同様である。
また、第3実施形態において、タスクの数が3個以上ある場合に、CPUが、実行される複数のタスクのうち、編集対象のPOUを含むタスクの実行サイクルが揃う際に、ROMに記憶されるPOUを更新するようにしてもよい。
また、第3実施形態では、CPU11aがデュアルコアである例を示したが、これに限らず、たとえば、CPUがクアッドコアであってもよい。すなわち、CPUのコアの数はいくつであってもよい。
1、1a CPUユニット(制御装置)
11、11a CPU(タスク実行手段、更新手段、判断手段)
12、12a ROM(第1記憶手段、第2記憶手段)
15 通信IF(受付手段)
60 制御対象機器
121、121a システムプログラム

Claims (9)

  1. 制御対象機器を制御する制御装置であって、
    プログラム構成単位を含むユーザプログラムを記憶する第1記憶手段と、
    前記ユーザプログラムを含むタスクを実行するタスク実行手段と、
    前記第1記憶手段に記憶されたプログラム構成単位を更新する更新手段とを備え、
    前記タスク実行手段は、複数のタスクを並行に実行するとともに、各タスクを各タスクに応じた周期で実行するように構成され、
    前記更新手段は、前記タスク実行手段により実行される複数のタスクのうちの全てのタスクが実行を完了してから、前記全てのタスクのうちの最も早く実行されるタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新するように構成されていること
    を特徴とする制御装置。
  2. 制御対象機器を制御する制御装置であって、
    プログラム構成単位を含むユーザプログラムを記憶する第1記憶手段と、
    前記ユーザプログラムを含むタスクを実行するタスク実行手段と、
    前記第1記憶手段に記憶されたプログラム構成単位を更新する更新手段とを備え、
    前記タスク実行手段は、複数のタスクを並行に実行するとともに、各タスクを各タスクに応じた周期で実行するように構成され、
    前記更新手段は、前記タスク実行手段により実行される複数のタスクのうち、更新されるプログラム構成単位を含むタスクの全てが実行を完了してから、前記更新されるプログラム構成単位を含むタスクのうち、最も早く実行されるタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新するように構成されていること
    を特徴とする制御装置。
  3. 請求項に記載の制御装置であって、
    前記更新手段によるプログラム構成単位の更新を受け付ける受付手段を備えること
    を特徴とする制御装置。
  4. 請求項3に記載の制御装置であって、
    前記タスク実行手段により実行されるタスクに関する情報を記憶する第2記憶手段と、
    前記第2記憶手段に記憶されたタスクに関する情報に基づいて、前記受付手段により更新を受け付けたプログラム構成単位が前記タスク実行手段により実行されるタスクに含まれているか否かを判断する判断手段とを備えること
    を特徴とする制御装置。
  5. 請求項1から請求項4までのいずれか一つに記載の制御装置であって、
    前記タスク実行手段は、複数のタスクを同時に並行して実行するように構成されていること
    を特徴とする制御装置。
  6. 請求項1から請求項4までのいずれか一つに記載の制御装置であって、
    前記タスク実行手段は、時分割により複数のタスクを並行して実行するように構成されていること
    を特徴とする制御装置。
  7. 請求項1から請求項6までのいずれか一つに記載の制御装置であって、
    複数のタスクは、基準のタスクと、基準のタスク以外のタスクとを含み、
    前記基準のタスク以外のタスクの周期は、前記基準のタスクの周期の整数倍に設定されていること
    を特徴とする制御装置。
  8. 制御対象機器を制御する制御装置で実行されるシステムプログラムであって、
    プログラム構成単位を含むユーザプログラムを記憶する第1記憶手段を備える制御装置に、
    前記ユーザプログラムを含む複数のタスクを並行に各タスクに応じた周期で実行させる手順と、
    実行される複数のタスクのうちの全てのタスクが実行を完了してから、前記全てのタスクのうちの最も早く実行されるタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新させる手順と、
    を実行させるためのシステムプログラム。
  9. 制御対象機器を制御する制御装置で実行されるシステムプログラムであって、
    プログラム構成単位を含むユーザプログラムを記憶する第1記憶手段を備える制御装置に、
    前記ユーザプログラムを含む複数のタスクを並行に各タスクに応じた周期で実行させる手順と、
    実行される複数のタスクのうち、更新されるプログラム構成単位を含むタスクの全てが実行を完了してから、前記更新されるプログラム構成単位を含むタスクのうち、最も早く実行されるタスクが再び実行されるまでの間に、前記第1記憶手段に記憶されたプログラム構成単位を更新させる手順と、
    を実行させるためのシステムプログラム。
JP2011056869A 2011-03-15 2011-03-15 制御装置およびシステムプログラム Active JP5747584B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2011056869A JP5747584B2 (ja) 2011-03-15 2011-03-15 制御装置およびシステムプログラム
EP11815659.5A EP2525266A4 (en) 2011-03-15 2011-09-26 CONTROL DEVICE, SYSTEM PROGRAM, AND STORAGE MEDIUM
PCT/JP2011/071860 WO2012124197A1 (ja) 2011-03-15 2011-09-26 制御装置およびシステムプログラムならびに記録媒体
CN201180003423.3A CN102804086B (zh) 2011-03-15 2011-09-26 控制装置和系统程序以及记录介质
US13/399,295 US9377769B2 (en) 2011-03-15 2012-02-17 Control apparatus for updating a user program while processing is being performed and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011056869A JP5747584B2 (ja) 2011-03-15 2011-03-15 制御装置およびシステムプログラム

Publications (2)

Publication Number Publication Date
JP2012194681A JP2012194681A (ja) 2012-10-11
JP5747584B2 true JP5747584B2 (ja) 2015-07-15

Family

ID=46830298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011056869A Active JP5747584B2 (ja) 2011-03-15 2011-03-15 制御装置およびシステムプログラム

Country Status (4)

Country Link
EP (1) EP2525266A4 (ja)
JP (1) JP5747584B2 (ja)
CN (1) CN102804086B (ja)
WO (1) WO2012124197A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6394014B2 (ja) * 2014-03-14 2018-09-26 オムロン株式会社 制御システム及びプログラム部品
JPWO2015136973A1 (ja) * 2014-03-14 2017-04-06 オムロン株式会社 制御装置及び制御システム
JP6508192B2 (ja) 2014-03-14 2019-05-08 オムロン株式会社 制御装置及び制御システム
FR3033427B1 (fr) * 2015-03-03 2018-05-18 Zodiac Aerotechnics Procede de sequencement de commandes d'execution, procede d'execution, programme d'ordinateur et circuit integre
JP6645223B2 (ja) * 2016-02-04 2020-02-14 富士電機株式会社 制御システム、および制御装置
JP6874511B2 (ja) 2016-04-28 2021-05-19 オムロン株式会社 出力制御ユニット、出力制御システム、出力制御ユニットの制御方法
JP6953775B2 (ja) 2016-04-28 2021-10-27 オムロン株式会社 出力制御ユニット、出力制御システム、出力制御ユニットの制御方法
JP2018130754A (ja) * 2017-02-17 2018-08-23 蛇の目ミシン工業株式会社 電動プレス、電動プレスの加圧関連作業実行方法およびプログラム
JP6859922B2 (ja) * 2017-10-24 2021-04-14 オムロン株式会社 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
JP6927089B2 (ja) * 2018-03-05 2021-08-25 オムロン株式会社 制御装置、システムプログラム、制御方法
JP6863628B1 (ja) * 2020-01-10 2021-04-21 Necプラットフォームズ株式会社 更新装置、リアルタイムシステム、更新方法及び更新プログラム
KR102497258B1 (ko) * 2020-12-16 2023-02-06 현대오토에버 주식회사 차량용 운영체제의 태스크 실행 시스템 및 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2846760B2 (ja) * 1992-02-05 1999-01-13 株式会社日立製作所 プログラマブルコントローラ
JP3371349B2 (ja) * 1995-07-21 2003-01-27 オムロン株式会社 制御処理装置
CN1189641A (zh) * 1997-01-27 1998-08-05 中国航空工业总公司第六二五研究所 一种可编程自动控制系统及其控制方法
JPH10312275A (ja) * 1997-05-13 1998-11-24 Dainippon Printing Co Ltd プログラムを自動更新可能な端末機
JP3594035B2 (ja) * 2003-03-13 2004-11-24 オムロン株式会社 制御装置、cpuユニット、プログラマブルコントローラのユーザプログラム編集方法、及びオンラインエディットされる際のプログラマブルコントローラの処理方法
EP1998240B1 (de) * 2007-05-30 2013-05-15 Siemens Aktiengesellschaft Zyklisch arbeitende Steuerung sowie Verfahren zum Einketten von Software-Bausteinen in den Funktionsablauf einer Steuerung
JP4993208B2 (ja) 2008-01-31 2012-08-08 オムロン株式会社 産業用コントローラ用機器

Also Published As

Publication number Publication date
EP2525266A4 (en) 2014-04-02
CN102804086B (zh) 2015-07-15
WO2012124197A1 (ja) 2012-09-20
CN102804086A (zh) 2012-11-28
JP2012194681A (ja) 2012-10-11
EP2525266A1 (en) 2012-11-21

Similar Documents

Publication Publication Date Title
JP5747584B2 (ja) 制御装置およびシステムプログラム
JP5796311B2 (ja) 制御装置およびシステムプログラム
US9377769B2 (en) Control apparatus for updating a user program while processing is being performed and recording medium
US10082777B2 (en) CPU unit for PLC, PLC-use system program, recording medium in which PLC-use system program is stored, PLC system, PLC support device, PLC support program, and recording medium in which PLC support program is stored
JP5252014B2 (ja) 制御装置、制御システム、ツール装置および収集指示プログラム
JP5218585B2 (ja) 制御装置およびシステムプログラム
WO2015136973A1 (ja) 制御装置及び制御システム
CN111095138B (zh) 控制装置、控制装置的控制方法、信息处理程序及记录介质
JP2009181443A (ja) 産業用コントローラ用機器
JP5365875B2 (ja) 産業用コントローラ
JP6812726B2 (ja) 制御ユニット、データリフレッシュ方法、データリフレッシュプログラム
JP6394014B2 (ja) 制御システム及びプログラム部品
JP2007241434A (ja) シーケンス処理実行装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150305

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150427

R150 Certificate of patent or registration of utility model

Ref document number: 5747584

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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