JP2019152996A - エンジニアリングツール、コントローラ、および制御システム - Google Patents

エンジニアリングツール、コントローラ、および制御システム Download PDF

Info

Publication number
JP2019152996A
JP2019152996A JP2018036820A JP2018036820A JP2019152996A JP 2019152996 A JP2019152996 A JP 2019152996A JP 2018036820 A JP2018036820 A JP 2018036820A JP 2018036820 A JP2018036820 A JP 2018036820A JP 2019152996 A JP2019152996 A JP 2019152996A
Authority
JP
Japan
Prior art keywords
hardware
allocation data
allocation
controller
storage unit
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
JP2018036820A
Other languages
English (en)
Other versions
JP6496058B1 (ja
Inventor
元気 立野
Genki Tateno
元気 立野
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.)
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions 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 Toshiba Corp, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2018036820A priority Critical patent/JP6496058B1/ja
Priority to CN201880090173.3A priority patent/CN111758089B/zh
Priority to US16/976,589 priority patent/US11392412B2/en
Priority to PCT/JP2018/033696 priority patent/WO2019167316A1/ja
Application granted granted Critical
Publication of JP6496058B1 publication Critical patent/JP6496058B1/ja
Publication of JP2019152996A publication Critical patent/JP2019152996A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

【課題】ホストOSおよびゲストOSに対してハードウェアが誤って割り当てられる可能性を低減する。【解決手段】エンジニアリングツールは、ハードウェア(HD)割当データ記憶部と、割当条件記憶部と、ツールプロセス部と、を備える。HD割当データ記憶部は、コントローラにおいて実行されるホストOSおよびホストOS上に実現される仮想マシン上で動作するゲストOSそれぞれに対するHDの割り当てを示しかつコントローラにダウンロードするHD割当データを記憶する。割当条件記憶部は、ホストOSおよびゲストOSに対するHDの割当条件を記憶する。ツールプロセス部は、HD割当データが、割当条件記憶部の割当条件を満たすと判断した場合、入力されたHD割当データを記憶部に保存し、入力されたハードウェア割当データが割当条件を満たさないと判断した場合、入力されたHD割当データをハードウェア割当データ記憶部に保存しない。【選択図】図2

Description

本発明の実施形態は、エンジニアリングツール、コントローラ、および制御システムに関する。
サーバ仮想化という、1台のコンピュータを論理分割して、当該コンピュータで複数のOS(Operating System)を稼働させる技術がある。この技術を、プラント内のバルブ等の制御対象機器を制御する制御システムに適用することができれば、HMI(Human Machine Interface)、エンジニアリングツール、コントローラなどを1台のコンピュータに集約できる。これにより、制御システムにおける設備の導入費用、電力や空調にかかるコストの削減に大きな効果が期待できる。
国際公開第2016/189689号 国際公開第2015/137505号
ところで、制御システムに対してサーバ仮想化を導入する場合、エンジニアリングツールを使用するエンジニアによって設定されたハードウェア割当データに基づいて、コンピュータのホストOS上に実現される仮想マシン上で動作するゲストOSに対して、ハードウェアを割り当てて、仮想マシンを起動させる必要がある。その際、ハードウェア割当データの設定に誤りが存在すると、制御システムが正常に動作しない場合がある。
実施形態のエンジニアリングツールは、ハードウェア割当データ記憶部と、割当条件記憶部と、ツールプロセス部と、を備える。ハードウェア割当データ記憶部は、コントローラにおいて実行されるホストOS(Operating System)および当該ホストOS上に実現される仮想マシン上で動作するゲストOSそれぞれに対するハードウェアの割り当てを示しかつコントローラにダウンロードするハードウェア割当データを記憶する。割当条件記憶部は、ホストOSおよびゲストOSに対するハードウェアの割当条件を記憶する。ツールプロセス部は、ハードウェア割当データを入力するための設定画面を表示部に表示させ、設定画面を用いて入力されたハードウェア割当データが、割当条件記憶部に記憶される割当条件を満たすと判断した場合、入力されたハードウェア割当データをハードウェア割当データ記憶部に保存し、入力されたハードウェア割当データが割当条件を満たさないと判断した場合、入力されたハードウェア割当データをハードウェア割当データ記憶部に保存しない。
図1は、第1の実施形態にかかる制御システムの機能構成の一例を示す図である。 図2は、第1の実施形態にかかる制御システムが有するコントローラおよびツール用PCの機能構成の一例を示す図である。 図3は、第1の実施形態にかかるツール用PCによるハードウェア割当データの設定処理の流れの一例を示す図である。 図4は、第1の実施形態にかかるツール用PCにおいて表示される設定画面の一例を示す図である。 図5は、第1の実施形態にかかるツール用PCにおいて表示されるエラー表示の一例を示す図である。 図6は、第1の実施形態にかかるコントローラに対するハードウェア割当データのダウンロード処理の流れの一例を示す図である。 図7は、第2の実施形態にかかるツール用PCにおいて表示される設定画面の一例を示す図である。
以下、添付の図面を用いて、本実施形態にかかるエンジニアリングツール、コントローラ、および制御システムについて説明する。
(第1の実施形態)
図1は、第1の実施形態にかかる制御システムの機能構成の一例を示す図である。図1に示すように、本実施形態にかかる制御システムは、コントローラ1と、ツール用PC2(エンジニアリングツールの一例)と、を有する。そして、コントローラ1とツール用PC2とは、LAN(Local Area Network)等のネットワークにより互いに通信可能に接続されている。本実施形態では、ツール用PC2が、コントローラ1に対して各種情報を送信する処理をダウンロード(D/L)と言うものとする。また、ツール用PC2が、コントローラ1から各種情報を取得する処理をアップロード(U/L)と言うものとする。
ツール用PC2は、ベンダまたはエンジニア等により用いられるエンジニアリングツールであり、POU(Program Organization Unit)や後述するハードウェア割当データ(ツールデータ)等を記憶する。POUは、制御システム全体の処理を実行するためのプログラムを機能単位にモジュール化したプログラムである。
コントローラ1は、プラント内のセンサ等から各種の検出結果が入力される。また、コントローラ1は、ツール用PC2において作成されたPOUがダウンロードされる。そして、コントローラ1は、当該コントローラ1内のタスク上でPOUを実行する。これにより、コントローラ1は、入力された検出結果に基づく演算を行い、その演算結果に基づいて、プラント内のバルブ等の制御対象機器を制御する。
また、コントローラ1は、当該コントローラが有するリソース(ハードウェア)が論理分割され、複数のOS(Operating System)を稼働させて、制御システムが有するHMI(Human Machine Interface)や他のコントローラ等、制御対象機器の制御に関わる外部装置を集約する。HMIは、制御システムのオペレータが、リモートでコントローラ1において実行されるPOUの状態等を監視したり、コントローラ1内への変数の書き込みやPOUの変更等の各種操作を行ったりする用途で用いられる。
図2は、第1の実施形態にかかる制御システムが有するコントローラおよびツール用PCの機能構成の一例を示す図である。図2に示すように、コントローラ1は、ハードウェア101、ホストOS102、ホストプロセス群103、仮想マシン104、ゲストOS105、およびゲストプロセス群106を有する。ハードウェア101は、CPU(Central Processing Unit)等のプロセッサ、ROM(Read Only Memory)、RAM(Random Access Memory)等のメモリ、ツール用PC2等の外部装置との通信に用いるLANポート、USB(Universal Serial Bus)ポート、PCI(Peripheral Component Interconnect)スロット等である。
本実施形態では、コントローラ1は、複数のCPUコア(例えば、4つのCPUコア)をハードウェア101として有し、当該CPUコア上でソフトウェアを実行するマルチコアプロセッサである。具体的には、コントローラ1は、複数のCPUコアのうちいずれかにより実行される1つのOS(ホストOS102)によって、互いに隔離された複数のコンテナ110,111を動作させる。その際、コントローラ1は、各コンテナ110,111を、異なるCPUコアによって実行する。本実施形態では、図2に示すように、コントローラ1は、ホストOS102およびホストプロセス群103を含むコンテナ110と、仮想マシン104、ゲストOS105およびゲストプロセス群106を含むコンテナ111と、を異なるCPUコアによって実行する。
ホストOS102は、コントローラ1において仮想化される外部装置(仮想マシン104)を実現するOSである。ホストプロセス群103は、ホストOS102上で動作するアプリケーションを有する。仮想マシン104は、ホストOS102上で実現される。本実施形態では、仮想マシン104は、HMIや他のコントローラ等の外部装置のハードウェアを仮想化したマシンである。ここで、仮想化とは、外部装置のハードウェアをエミュレートすることを含む。ゲストOS105は、仮想マシン104上で動作し、外部装置のプログラム(後述するゲストプロセス群106)を動作させるOSである。ゲストプロセス群106は、ゲストOS105によって動作し、後述するハードウェア割当データに従ってゲストOS105に割り当てられるハードウェア101を用いて、制御対象機器の制御に関わる処理(以下、制御処理と言う)を実行する。ここで、仮想マシン104がHMIを仮想化したマシンである場合、制御処理には、制御システムの監視や当該制御システムにおいて行われるプロセスのリモート操作に関わる処理が含まれる。また、仮想マシン104が他のコントローラを仮想化したマシンである場合、制御処理には、制御対象機器に対して制御データを送信する等して、当該制御対象機器を制御する処理が含まれる。
本実施形態では、ホストプロセス群103は、コントローラプロセス部103aを有する。コントローラプロセス部103aは、ゲストOS105を介さずにホストOS102によって動作する。そして、コントローラプロセス部103aは、ツール用PC2からPOUがダウンロードされ、当該POUを実行する。また、コントローラプロセス部103aは、ツール用PC2からハードウェア割当データがダウンロードされ、当該ハードウェア割当データに従ってホストOS102に割り当てられたハードウェア101によって、制御対象機器の制御に関する制御処理を実行する。ここで、ハードウェア割当データは、ホストOS102およびゲストOS105それぞれに対するハードウェア101の割り当てを示すデータである。具体的には、コントローラプロセス部103aは、コントローラ1の電源が投入された場合に、ハードウェア割当データを有効化して、当該ハードウェア割当データが示すホストOS102に割り当てられたハードウェア101を用いて、制御対象機器を制御する。また、コントローラプロセス部103aは、ダウンロードされたハードウェア割当データを、ハードウェア101が有するHDD(Hard Disk Drive)等の不揮発性の記憶部であるハードウェア割当データ記憶部101aに保存する。
ところで、制御システムにおけるエンジニアリングデータの管理上の観点から、ゲストOS105に割り当てるハードウェア101も、ハードウェア割当データに従って管理することが好ましい。そのため、本実施形態では、ホストプロセス群103は、コントローラプロセス部103aに加えて、ゲスト初期化プロセス部103bを有する。ゲスト初期化プロセス部103bは、コントローラ100の電源が投入された際、ハードウェア割当データ記憶部101aに記憶されるハードウェア割当データを参照して、ゲストOS105にハードウェア101を割り当てるとともに、外部装置を仮想化した仮想マシン104をホストOS102上に設定する。さらに、ゲスト初期化プロセス部103bは、仮想マシン104上でゲストOS105を起動させる。これにより、ホストOS102に対するハードウェア101の割り当てと同様の方法で、仮想マシン104上で動作するゲストOS105に対してもハードウェア101を割り当てることができる。その結果、HMIや他のコントローラ等の外部装置を1つのコントローラ1に集約した場合でも、ハードウェア101の更新に応じて、ゲストOS105に対するハードウェア101の割り当てを容易に管理可能となる。
しかしながら、ツール用PC2からダウンロードされたハードウェア割当データに誤りがあった場合、当該ダウンロードされたハードウェア割当データに従って、ホストOS102およびゲストOS105に対してハードウェア101を適切に割り当てることができず、コントローラ1に対して悪影響を及ぼす可能性がある。例えば、ダウンロードされたハードウェア割当データに従ってゲストOS105に対して割り当てるメモリの容量が、ハードウェア101が有するメモリの容量より大きい場合、コントローラ1が有するCPUコアがゲストOS105を実行できず、仮想マシン104をHMIとして機能させることができない可能性がある。
そこで、本実施形態では、コントローラ1は、ハードウェア101が有するHDD等の不揮発性の記憶部により構成される割当条件記憶部101bを有する。割当条件記憶部101bは、割当条件データを記憶する。割当条件データは、ホストOS102およびゲストOS105それぞれに対するハードウェア101の割当条件を示すデータである。コントローラプロセス部103aは、ツール用PC2からハードウェア割当データがダウンロードされた際、当該ダウンロードされたハードウェア割当データが、割当条件記憶部101bに記憶される割当条件データを満たすか否かを判断する。そして、コントローラプロセス部103aは、ダウンロードされたハードウェア割当データが、割当条件データを満たすと判断した場合、当該ダウンロードされたハードウェア割当データを、ハードウェア割当データ記憶部101aに保存する。一方、コントローラプロセス部103aは、ダウンロードされたハードウェア割当データが、割当条件データを満たさないと判断した場合、当該ダウンロードされたハードウェア割当データを、ハードウェア割当データ記憶部101aに保存しない。これにより、ツール用PC2からダウンロードされた誤ったハードウェア割当データに従って、ホストOS102およびゲストOS105に対してハードウェア101が割り当てられることを防止できるので、コントローラ1に対して悪影響を及ぼす可能性を低減できる。また、エンジニアによるツール用PC2の操作によって、ハードウェア割当データのアップロードが指示された場合、ハードウェア割当データ記憶部101aに記憶されるハードウェア割当データは、ツール用PC2によってアップロードされる。
次に、ツール用PC2の機能構成について説明する。図2に示すように、ツール用PC2は、ツールプロセス部201、表示部202、割当条件記憶部203、およびハードウェア割当データ記憶部204を有する。ハードウェア割当データ記憶部204は、コントローラ1の機種毎またはコントローラ1のネットワークアドレス(例えば、IPアドレス)毎に、ハードウェア割当データを記憶する。割当条件記憶部203は、コントローラ1の機種毎またはコントローラ1のネットワークアドレス(例えば、IPアドレス)毎に、割当条件データを記憶する。
ツールプロセス部201は、ツール用PC2全体を制御する。本実施形態では、ツール用PC2は、CPU等のプロセッサ、ROMやRAM等のメモリ等のハードウェアを有し、プロセッサがメモリに記憶されるプログラムを実行することによってツールプロセス部201を実現するものとするが、これに限定するものではなく、回路によってツールプロセス部201を実現することも可能である。
具体的には、ツールプロセス部201は、ハードウェア割当データを入力するための設定画面を表示部202に表示させる。また、ツールプロセス部201は、設定画面を用いて入力されたハードウェア割当データが、割当条件記憶部203に記憶される割当条件データを満たすか否かを判断する。そして、ツールプロセス部201は、ハードウェア割当データが割当条件データを満たすと判断した場合、当該ハードウェア割当データをハードウェア割当データ記憶部204に保存する。一方、ツールプロセス部201は、ハードウェア割当データが割当条件データを満たさないと判断した場合、当該ハードウェア割当データをハードウェア割当データ記憶部204に保存しない。これにより、コントローラ1にダウンロードするハードウェア割当データに従って、ホストOS102およびゲストOS105に対して誤ってハードウェア101が割り当てられることを防止できるので、コントローラ1に悪影響を及ぼす可能性を低減できる。
その後、ツール用PC2のユーザであるエンジニアによりハードウェア割当データが選択されかつ当該選択されたハードウェア割当データのダウンロードが指示された場合に、ツールプロセス部201は、ハードウェア割当データ記憶部204に記憶されるハードウェア割当データのうち、当該選択されたハードウェア割当データをコントローラ1にダウンロードする。これにより、エンジニアは、ツール用PC2を用いて、コントローラ1の仮想マシン104上で動作するゲストOS105に対するハードウェアの割り当てを管理できる。また、ツール用PC2のユーザであるエンジニアによりハードウェア割当データのアップロードが指示された場合に、ツールプロセス部201は、コントローラ1からハードウェア割当データをアップロードし、当該アップロードしたハードウェア割当データ記憶部204に保存する。
図3は、第1の実施形態にかかるツール用PCによるハードウェア割当データの設定処理の流れの一例を示す図である。ツールプロセス部201は、ハードウェア割当データを入力するための設定画面を表示部202に表示させる(ステップS301)。本実施形態では、ツールプロセス部201は、デフォルトのハードウェア割当データが表示された設定画面を表示部202に表示させるものとする。次に、ツールプロセス部201は、割当条件記憶部203から、ツール用PC2のユーザ(エンジニア)により指示されたコントローラ1の機種または当該コントローラ1のネットワークアドレスの割当条件データを読み込む(ステップS302)。また、ツールプロセス部201は、ハードウェア割当データ記憶部204から、ツール用PC2のユーザにより指示されたコントローラ1の機種または当該コントローラ1のネットワークアドレスのハードウェア割当データを読み込む(ステップS302)。
次いで、ツールプロセス部201は、設定画面を用いて入力されたハードウェア割当データと、ハードウェア割当データ記憶部204から読み込んだハードウェア割当データとを比較して、ハードウェア割当データが変更されたか否かを判断する(ステップS303)。本実施形態では、ツールプロセス部201は、設定画面においてハードウェア割当データが含む1つの項目が入力される度に、設定画面を用いて入力されたハードウェア割当データと、読み込んだハードウェア割当データとを比較して、ハードウェア割当データが変更されたか否かを判断するものとするが、これに限定するものではない。例えば、ツールプロセス部201は、設定画面を用いた全てのハードウェア割当データの入力が完了して、当該ハードウェア割当データの保存が指示された場合に、設定画面を用いて入力されたハードウェア割当データと、読み込んだハードウェア割当データとを比較して、ハードウェア割当データが変更されたか否かを判断しても良い。
ハードウェア割当データが変更されないと判断した場合(ステップS303:No)、ツールプロセス部201は、ハードウェア割当データ記憶部204へのハードウェア割当データの保存を行わない。一方、ハードウェア割当データが変更されたと判断した場合(ステップS303:Yes)、ツールプロセス部201は、設定画面を用いて入力されたハードウェア割当データが、読み込んだ割当条件データを満たすか否かを判断する(ステップS304)。
本実施形態では、割当条件データは、下記の表1に示すように、ホストOS CPU数、ゲストOS CPU数、システムCPU数、ホストOSメモリ、ゲストOSメモリ、トータルメモリ、内蔵LANポート、内蔵USBポート、拡張PCIスロットA、拡張PCIスロットB等の項目を含む。
Figure 2019152996
ホストOS CPU数は、ホストOS102に割り当て可能なCPUコアの数の上限および下限を示す。ゲストOS CPU数は、ゲストOS105に割り当て可能なCPUコアの数の上限および下限を示す。システムCPU数は、ホストOS102およびゲストOS105に割り当て可能なCPUコアの合計の上限および下限を示す。
ホストOSメモリは、ホストOS102に割り当て可能なメモリの容量の上限および下限を示す。ゲストOSメモリは、ゲストOS105に割り当て可能なメモリの容量の上限および下限を示す。トータルメモリは、ホストOS102およびゲストOS105に割り当て可能なメモリの合計の上限および下限を示す。
内蔵LANポートは、ホストOS102およびゲストOS105のいずれに当該内蔵LANポートを割り当てるかを示す。内蔵USBポートは、ホストOS102およびゲストOS105のいずれに当該内蔵USBポートを割り当てるかを示す。拡張PCIスロットAは、ホストOS102およびゲストOS105のいずれに当該拡張PCIスロットAを割り当てるかを示す。拡張PCIスロットBは、ホストOS102およびゲストOS105のいずれに当該拡張PCIスロットBを割り当てるかを示す。ここで、「0」は、ホストOS102およびゲストOS105の両方にハードウェア101(例えば、内蔵LANポート)を割り当てることを示す。また、「1」は、ホストOS102にハードウェア101を割り当てることを示す。また、「2」は、ゲストOS105にハードウェア101を割り当てることを示す。
本実施形態では、ツールプロセス部201は、読み込んだ割当条件データのうち、設定画面において入力されたハードウェア割当データの項目に該当する割当条件データを特定する。そして、ツールプロセス部201は、設定画面において入力されたハードウェア割当データと、特定した割当条件データとを比較して、当該入力されたハードウェア割当データが割当条件を満たすか否かを判断する。
例えば、ツールプロセス部201は、設定画面においてホストOS102に割り当てるCPUコアの数が入力された場合、当該入力されたCPUコアの数が、ホストOS CPU数が示す上限および下限を満たしているか否かを判断する。また、ツールプロセス部201は、設定画面おいてホストOS102およびゲストOS105の少なくとも一方に割り当てるCPUコアの数が入力された場合、ホストOS102およびゲストOS105に割り当てるCPUコアの合計が、システムCPU数が示す上限および下限を満たしているか否かを判断する。
設定画面を用いて入力されたハードウェア割当データが割当条件データを満たすと判断した場合(ステップS304:Yes)、ツールプロセス部201は、当該入力されたハードウェア割当データをハードウェア割当データ記憶部204に保存する(ステップS305)。その後、ツールプロセス部201は、ツール用PC2のユーザの操作に応じて、ハードウェア割当データ記憶部204に記憶されるハードウェア割当データをコントローラ1にダウンロードする。
本実施形態では、ツールプロセス部201は、下記の表2に示すデータ構成のハードウェア割当データをコントローラ1にダウンロードする。具体的には、ツールプロセス部201は、表2に示すように、ハードウェア割当データの項目毎のハードウェア割当データ(例えば、数値)をコントローラ1にダウンロードする。
Figure 2019152996
一方、設定画面を用いて入力されたハードウェア割当データが割当条件データを満たさないと判断した場合(ステップS304:No)、ツールプロセス部201は、設定画面を用いて入力されたハードウェア割当データをハードウェア割当データ記憶部204に保存しない。さらに、ツールプロセス部201は、入力されたハードウェア割当データが割当条件データを満たさない旨のエラー表示を表示部202に表示させる(ステップS306)。
図4は、第1の実施形態にかかるツール用PCにおいて表示される設定画面の一例を示す図である。ツールプロセス部201は、図4に示すように、コントローラ情報401と、ハードウェア割当データ設定欄402と、ダウンロードボタン403、アップロードボタン404と、を含む設定画面Gを表示部202に表示させる。本実施形態では、ツールプロセス部201は、ツール用PC2のユーザ(エンジニア)により指示されたコントローラ1毎に設定画面Gを表示させる。
コントローラ情報401は、コントローラ1の機種など、ハードウェア割当データを変更するコントローラ1を識別可能とする情報である。ダウンロードボタン403は、設定画面Gを用いて入力されたハードウェア割当データのコントローラ1へのダウンロードを指示するボタンである。アップロードボタン404は、コントローラ1からのハードウェア割当データのアップロードを指示するボタンである。
ハードウェア割当データ設定欄402は、ハードウェア割当データを入力するためのインタフェースである。具体的には、ハードウェア割当データ設定欄402は、ハードウェア割当データの項目(例えば、ホストOS CPU数、ゲストOS CPU数、ホストOSメモリ、ゲストOSメモリ、内蔵LANポート、内蔵USBポート、拡張PCIスロットA、拡張PCIスロットB)毎に、当該項目に対応するハードウェア割当データを表示する。ハードウェア割当データ設定欄402には、ツール用PC2が有する操作部によって入力されたハードウェア割当データ(例えば、数値)や、当該ハードウェア割当データ設定欄402に表示されるプルダウンメニューから選択されたハードウェア割当データが表示される。ハードウェア割当データ設定欄402に表示されるプルダウンメニューには、ハードウェア割当データとして選択可能なハードウェア割当データの候補(言い換えると、割当条件データを満たすハードウェア割当データ)のみが表示される。また、設定画面Gが最初に表示された際(すなわち、ハードウェア割当データ設定欄402にハードウェア割当データが入力されていない場合)、ハードウェア割当データ設定欄402には、ハードウェア割当データの前回値または保存値が表示されるものとする。ここで、前回値とは、前回入力されたハードウェア割当データである。また、保存値は、ハードウェア割当データ記憶部204に記憶されているハードウェア割当データ(言い換えると、ハードウェア割当データ記憶部204に保存済みのハードウェア割当データ)である。
本実施形態では、ハードウェア割当データ設定欄402のハードウェア割当データの項目のうち、内蔵LANポート、内蔵USBポート、拡張PCIスロットA、および拡張PCIスロットBは、プロダウンメニューのみから、ハードウェア割当データを入力するものとする。そして、当該内蔵LANポート、内蔵USBポート、拡張PCIスロットA、および拡張PCIスロットBに表示されるプルダウンメニューには、ハードウェア割当データとして選択可能なハードウェア割当データの候補を、ツール用PC2のユーザが認識し易い情報に変換した変換情報を表示する。
例えば、内蔵LANポートのハードウェア割当データとして選択可能なハードウェア割当データの候補が「0」〜「2」の整数である場合、「0」を「ホスト・ゲスト共用」に変換して表示し、「1」を「ホスト専用」に変換して表示し、「2」を「ゲスト専用」に変換して表示する。
本実施形態では、ツール用PC2のユーザは、ハードウェア割当データ設定欄402に表示されるプルダウンメニューからハードウェア割当データを選択することとしたが、これに限定するものではなく、任意のハードウェア割当データをハードウェア割当データ設定欄402に対して自由入力できることとしても良い。
ツールプロセス部201は、ハードウェア割当データ設定欄402を用いて、ハードウェア割当データの1つの項目が入力される度に、当該入力されたハードウェア割当データが、割当条件記憶部203に記憶される割当条件データを満たすか否かを判断する。そして、入力されたハードウェア割当データが割当条件データを満たさないと判断した場合、ツールプロセス部201は、当該入力されたハードウェア割当データをハードウェア割当データ設定欄402に反映させず、ハードウェア割当データの前回値または保存値をハードウェア割当データ設定欄402に表示させる。一方、入力されたハードウェア割当データが割当条件データを満たすと判断した場合、ツールプロセス部201は、入力されたハードウェア割当データをハードウェア割当データ設定欄402に表示させる。
本実施形態では、ツールプロセス部201は、ハードウェア割当データの1つの項目が入力される度に、当該入力されたハードウェア割当データが割当条件データを満たすか否かを判断しているが、これに限定するものではなく、ハードウェア割当データの全ての項目が入力された後、またはハードウェア割当データのハードウェア割当データ記憶部204への保存が指示された場合に、当該入力されたハードウェア割当データが割当条件を満たすか否かを判断しても良い。
図5は、第1の実施形態にかかるツール用PCにおいて表示されるエラー表示の一例を示す図である。ツールプロセス部201は、入力されたハードウェア割当データが割当条件データを満たさない場合、図5に示すように、エラー表示EGを表示部202に表示させる。エラー表示EGには、入力されたハードウェア割当データの項目うち、割当条件データを満たさないハードウェア割当データの項目の名称501(例えば、ホストOS CPU数 異常)、および当該項目の割当条件データ502を含める。
図6は、第1の実施形態にかかるコントローラに対するハードウェア割当データのダウンロード処理の流れの一例を示す図である。コントローラ1のコントローラプロセス部103aは、ツール用PC2からダウンロードされるハードウェア割当データを受信する(ステップS601)。また、コントローラプロセス部103aは、割当条件記憶部101bから、割当条件データを読み込む(ステップS602)。
次いで、コントローラプロセス部103aは、ツール用PC2からダウンロードされたハードウェア割当データが、読み込んだ割当条件データを満たすか否かを判断する(ステップS603)。ダウンロードされたハードウェア割当データが割当条件データを満たすと判断した場合(ステップS603:Yes)、コントローラプロセス部103aは、ダウンロードされたハードウェア割当データを、ハードウェア割当データ記憶部101aに保存する(ステップS604)。
一方、ダウンロードされたハードウェア割当データが割当条件データを満たさないと判断した場合(ステップS603:No)、コントローラプロセス部103aは、ダウンロードされたハードウェア割当データをハードウェア割当データ記憶部101aに保存しない。さらに、コントローラプロセス部103aは、ダウンロードされたハードウェア割当データが不正なデータであることを通知するエラー応答をツール用PC2に送信する(ステップS605)。本実施形態では、ダウンロードされたハードウェア割当データが割当条件データを満たさない場合、コントローラプロセス部103aは、エラー応答をツール用PC2に送信しているが、エラー応答をツール用PC2に送信しなくても良い。
このように、第1の実施形態にかかる制御システムによれば、誤ったハードウェア割当データに従って、ホストOS102およびゲストOS105に対してハードウェア101が割り当てられることを防止できるので、コントローラ1に悪影響を及ぼす可能性を低減できる。
(第2の実施形態)
本実施形態は、ツール用PCにおいて、コントローラからアップロードしたハードウェア割当データを含む設定画面を表示部に表示させる例である。以下の説明では、第1の実施形態と同様の構成については説明を省略する。
図7は、第2の実施形態にかかるツール用PCにおいて表示される設定画面の一例を示す図である。本実施形態では、ツールプロセス部201は、コントローラ1からアップロードしたハードウェア割当データを含む設定画面を表示部202に表示させる。具体的には、ツールプロセス部201は、図7に示すように、コントローラ情報401、ハードウェア割当データ設定欄402、ダウンロードボタン403、およびアップロードボタン404に加えて、アップロード済みハードウェア割当データ欄701を含む設定画面Gを表示部202に表示させる。アップロード済みハードウェア割当データ欄701は、コントローラ1からアップロードしたハードウェア割当データを、当該ハードウェア割当データの項目毎に表示する。
このように、第2の実施形態にかかる制御システムによれば、コントローラ1からアップロードしたハードウェア割当データを確認しながら、ハードウェア割当データ設定欄402に対して、ハードウェア割当データを入力することができるので、ホストOS102およびゲストOS105に対するハードウェア101の割り当ての変更を容易に行うことができる。なお、アップロード済みハードウェア割当データ欄701に表示されるハードウェア割当データは、編集することはできないものとする。
以上説明したとおり、第1,2の実施形態によれば、誤ったハードウェア割当データに従って、ホストOS102およびゲストOS105に対してハードウェア101が割り当てられることを防止できるので、コントローラ1に悪影響を及ぼす可能性を低減できる。
なお、本実施形態のコントローラ1で実行されるプログラムは、ROM等に予め組み込まれて提供される。本実施形態のコントローラ1で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、本実施形態のコントローラ1で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のコントローラ1で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
本実施形態のコントローラ1で実行されるプログラムは、上述した各部(ホストOS102、ホストプロセス群103、仮想マシン104、ゲストOS105、ゲストプロセス群106)を含むモジュール構成となっており、実際のハードウェアとしてはCPUが上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、ホストOS102、ホストプロセス群103、仮想マシン104、ゲストOS105、ゲストプロセス群106が主記憶装置上に生成されるようになっている。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 コントローラ
2 ツール用PC
101 ハードウェア
101a,204 ハードウェア割当データ記憶部
101b,203 割当条件記憶部
102 ホストOS
103 ホストプロセス群
103a コントローラプロセス部
103b ゲスト初期化プロセス部
104 仮想マシン
105 ゲストOS
106 ゲストプロセス群
201 ツールプロセス部
202 表示部
G 設定画面

Claims (3)

  1. コントローラにおいて実行されるホストOS(Operating System)および当該ホストOS上に実現される仮想マシン上で動作するゲストOSそれぞれに対するハードウェアの割り当てを示しかつ前記コントローラにダウンロードするハードウェア割当データを記憶するハードウェア割当データ記憶部と、
    前記ホストOSおよび前記ゲストOSに対する前記ハードウェアの割当条件を記憶する割当条件記憶部と、
    前記ハードウェア割当データを入力するための設定画面を表示部に表示させ、前記設定画面を用いて入力された前記ハードウェア割当データが、前記割当条件記憶部に記憶される前記割当条件を満たすと判断した場合、前記入力されたハードウェア割当データを前記ハードウェア割当データ記憶部に保存し、前記入力されたハードウェア割当データが前記割当条件を満たさないと判断した場合、前記入力されたハードウェア割当データを前記ハードウェア割当データ記憶部に保存しないツールプロセス部と、
    を備えるエンジニアリングツール。
  2. ハードウェアと、
    ホストOSと、
    前記ホストOS上に実現される仮想マシンと、
    前記仮想マシン上で動作するゲストOSと、
    ハードウェア割当データ記憶部と、
    前記ホストOSおよび前記ゲストOSに対する前記ハードウェアの割当条件を記憶する割当条件記憶部と、
    エンジニアリングツールから、前記ホストOSおよび前記ゲストOSそれぞれに対する前記ハードウェアの割り当てを示すハードウェア割当データを受信し、前記ハードウェア割当データが、前記割当条件記憶部に記憶される前記割当条件を満たすと判断した場合、前記ハードウェア割当データを前記ハードウェア割当データ記憶部に保存し、前記ハードウェア割当データが前記割当条件を満たさないと判断した場合、前記ハードウェア割当データを前記ハードウェア割当データ記憶部に保存しないコントローラプロセス部と、
    前記ゲストOSによって動作し、前記ハードウェア割当データ記憶部に記憶される前記ハードウェア割当データに従って前記ゲストOSに割り当てられた前記ハードウェアを用いて、外部の制御対象機器の制御処理を実行するゲストプロセス部と、
    前記ホストOSによって動作し、前記ハードウェア割当データ記憶部に記憶される前記ハードウェア割当データに従って前記ホストOSに割り当てられた前記ハードウェアを用いて、前記制御対象機器の制御処理を実行するホストプロセス部と、
    を備えるコントローラ。
  3. エンジニアリングツールと、コントローラと、を有する制御システムであって、
    前記エンジニアリングツールは、
    前記コントローラにおいて実行されるホストOSおよび当該ホストOS上に実現される仮想マシン上で動作するゲストOSそれぞれに対するハードウェアの割り当てを示しかつ前記コントローラにダウンロードするハードウェア割当データを記憶するツール側ハードウェア割当データ記憶部と、
    前記ホストOSおよび前記ゲストOSに対する前記ハードウェアの割当条件を記憶するツール側割当条件記憶部と、
    前記ハードウェア割当データを入力するための設定画面を表示部に表示させ、前記設定画面を用いて入力された前記ハードウェア割当データが前記ツール側割当条件記憶部に記憶される前記割当条件を満たすと判断した場合、前記入力されたハードウェア割当データを前記ツール側ハードウェア割当データ記憶部に保存し、前記入力されたハードウェア割当データが前記ツール側割当条件記憶部に記憶される前記割当条件を満たさないと判断した場合、前記入力されたハードウェア割当データを前記ツール側ハードウェア割当データ記憶部に保存しないツールプロセス部と、
    を備え、
    前記コントローラは、
    前記ハードウェアと、
    前記ホストOSと、
    前記ホストOS上に実現される仮想マシンと、
    前記仮想マシン上で動作する前記ゲストOSと、
    コントローラ側ハードウェア割当データ記憶部と、
    前記割当条件を記憶するコントローラ側割当条件記憶部と、
    前記エンジニアリングツールから、前記ハードウェア割当データを受信し、前記受信したハードウェア割当データが、前記コントローラ側割当条件記憶部に記憶される前記割当条件を満たすと判断した場合、前記受信したハードウェア割当データを前記コントローラ側ハードウェア割当データ記憶部に保存し、前記受信したハードウェア割当データが前記コントローラ側割当条件記憶部に記憶される前記割当条件を満たさないと判断した場合、前記受信したハードウェア割当データを前記コントローラ側ハードウェア割当データ記憶部に保存しないコントローラプロセス部と、
    前記ゲストOSによって動作し、前記コントローラ側ハードウェア割当データ記憶部に記憶される前記ハードウェア割当データに従って前記ゲストOSに割り当てられた前記ハードウェアを用いて、外部の制御対象機器の制御処理を実行するゲストプロセス部と、
    前記ホストOSによって動作し、前記コントローラ側ハードウェア割当データ記憶部に記憶される前記ハードウェア割当データに従って前記ホストOSに割り当てられた前記ハードウェアを用いて、前記制御対象機器の制御処理を実行するホストプロセス部と、
    を備える制御システム。
JP2018036820A 2018-03-01 2018-03-01 エンジニアリングツール、コントローラ、および制御システム Active JP6496058B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018036820A JP6496058B1 (ja) 2018-03-01 2018-03-01 エンジニアリングツール、コントローラ、および制御システム
CN201880090173.3A CN111758089B (zh) 2018-03-01 2018-09-11 工程工具、控制器以及控制系统
US16/976,589 US11392412B2 (en) 2018-03-01 2018-09-11 Engineering tool, controller, and control system
PCT/JP2018/033696 WO2019167316A1 (ja) 2018-03-01 2018-09-11 エンジニアリングツール、コントローラ、および制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018036820A JP6496058B1 (ja) 2018-03-01 2018-03-01 エンジニアリングツール、コントローラ、および制御システム

Publications (2)

Publication Number Publication Date
JP6496058B1 JP6496058B1 (ja) 2019-04-03
JP2019152996A true JP2019152996A (ja) 2019-09-12

Family

ID=65999129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018036820A Active JP6496058B1 (ja) 2018-03-01 2018-03-01 エンジニアリングツール、コントローラ、および制御システム

Country Status (4)

Country Link
US (1) US11392412B2 (ja)
JP (1) JP6496058B1 (ja)
CN (1) CN111758089B (ja)
WO (1) WO2019167316A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021131630A (ja) * 2020-02-18 2021-09-09 株式会社東芝 監視制御装置およびクライアントpc
US11394614B2 (en) * 2020-05-05 2022-07-19 Arista Networks, Inc. Network device supporting multiple operating systems to enable optimized use of network device hardware

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012056731A1 (ja) * 2010-10-27 2012-05-03 株式会社日立製作所 リソース管理サーバ、リソース管理方法及びリソース管理プログラムが格納された記憶媒体
JP2013522729A (ja) * 2010-03-11 2013-06-13 マイクロソフト コーポレーション 構成ドリフトの効果的管理
JP2016042249A (ja) * 2014-08-15 2016-03-31 富士通株式会社 設定検証方法、設定検証プログラムおよび設定検証装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100399273C (zh) * 2005-08-19 2008-07-02 联想(北京)有限公司 一种虚拟机系统及其硬件配置方法
US8762999B2 (en) 2007-09-27 2014-06-24 Oracle America, Inc. Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement
JP5478372B2 (ja) * 2010-06-14 2014-04-23 三菱電機株式会社 ゲストos制御システム
JP2014215765A (ja) * 2013-04-24 2014-11-17 株式会社三菱東京Ufj銀行 制御装置
CN103324516B (zh) * 2013-07-04 2017-02-08 曙光信息产业(北京)有限公司 基于虚拟化驱动的硬件管理方法和装置
JP2015176340A (ja) 2014-03-14 2015-10-05 オムロン株式会社 プログラマブルコントローラおよびプログラマブルコントローラによるデバイス制御方法
DE112015006570T5 (de) 2015-05-27 2018-03-15 Mitsubishi Electric Corporation Programmerzeugungseinrichtung, Programmerzeugungsverfahren und Programmerzeugungsprogramm
WO2018154967A1 (ja) * 2017-02-24 2018-08-30 株式会社東芝 制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013522729A (ja) * 2010-03-11 2013-06-13 マイクロソフト コーポレーション 構成ドリフトの効果的管理
WO2012056731A1 (ja) * 2010-10-27 2012-05-03 株式会社日立製作所 リソース管理サーバ、リソース管理方法及びリソース管理プログラムが格納された記憶媒体
JP2016042249A (ja) * 2014-08-15 2016-03-31 富士通株式会社 設定検証方法、設定検証プログラムおよび設定検証装置

Also Published As

Publication number Publication date
WO2019167316A1 (ja) 2019-09-06
US11392412B2 (en) 2022-07-19
JP6496058B1 (ja) 2019-04-03
US20210004254A1 (en) 2021-01-07
CN111758089B (zh) 2023-12-22
CN111758089A (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
CN109522088A (zh) 一种虚拟机迁移方法及装置
US11334379B2 (en) Control device
WO2012117556A1 (ja) 情報処理装置及び情報処理装置制御方法
JP6496058B1 (ja) エンジニアリングツール、コントローラ、および制御システム
JP2006134208A (ja) ストレージ仮想化装置
US10956238B2 (en) Programmable controller, management device, and control system
US9785599B2 (en) Information processing apparatus and log output method
JP6515462B2 (ja) 情報処理装置、情報処理装置の設定方法及び設定プログラム
JP6051233B2 (ja) 計算機システム、管理計算機及び管理方法
JP7073654B2 (ja) 情報処理システム、情報処理装置およびプログラム
JP2015179448A (ja) 情報処理装置、情報処理方法、情報処理プログラム、情報処理システム、ストレージ、ストレージ制御方法、及び、ストレージ制御プログラム
US8752046B2 (en) Virtual calculating machine system, virtual calculating machine control apparatus and virtual calculating machine control method
JP2015049612A (ja) Usbホスト装置、及びusbホスト装置用のプログラム
JP5881852B2 (ja) 仮想計算機システム
JP6833649B2 (ja) プログラマブルコントローラ及びコントロールシステム
WO2021048976A1 (ja) 数値制御装置
JP2020198674A (ja) スレーブユニット、及びサーボ駆動システム
US20210042143A1 (en) Information processing device, method, and program
US20120284711A1 (en) Method and Arrangement for Configuring a Resource for a Virtual Runtime Environment
JP7413183B2 (ja) コントロールシステム
JP7413169B2 (ja) コントロール装置
JP6459696B2 (ja) 切り替え装置、切り替え方法、切り替えプログラム、仮想情報管理装置、及び、情報処理装置
JP2022178916A (ja) 機械学習システム、機械学習プログラム、及び、機械学習方法
JP2012208539A (ja) 仮想マシン管理装置及び仮想マシン管理プログラム
CN117608749A (zh) 虚拟机迁移方法、系统、宿主机及计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181218

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181218

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190307

R150 Certificate of patent or registration of utility model

Ref document number: 6496058

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150