IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝電機サービス株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023050485
(43)【公開日】2023-04-11
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
   G06F 9/50 20060101AFI20230404BHJP
   G05B 23/02 20060101ALI20230404BHJP
【FI】
G06F9/50 120Z
G05B23/02 Z
【審査請求】未請求
【請求項の数】2
【出願形態】OL
(21)【出願番号】P 2021160596
(22)【出願日】2021-09-30
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】胡 天翔
【テーマコード(参考)】
3C223
【Fターム(参考)】
3C223AA01
3C223BA03
3C223CC02
3C223DD03
3C223EB05
3C223FF04
3C223FF13
3C223GG01
3C223HH08
3C223HH29
(57)【要約】
【課題】プラント監視装置に適切なハードウェアスペックを判断するための情報を出力する。
【解決手段】実施形態の情報処理装置は、情報処理装置は、HMIで実行される処理に関するハードウェアリソース使用量が登録されたテーブルを記憶する記憶部を備える。情報処理装置は、仮想HMIが実行する処理に関する情報の入力を受け、仮想HMIのメモリおよびハードディスクの使用量と、CPUの負荷とを算出する。また、情報処理装置は、料金別ハードウェアスケールテーブルを参照して、算出した仮想HMIのメモリおよびハードディスクの使用量と、CPUの負荷と、に対応するメモリのスケール、ハードディスクのスケール、およびCPUの種別を特定する。情報処理装置は、算出した仮想HMIのメモリおよびハードディスクの使用量と、CPUの負荷と、特定したメモリのスケール、ハードディスクのスケール、およびCPUの種別とを表示する。
【選択図】図1
【特許請求の範囲】
【請求項1】
HMI(Human Machine Interface)が処理するタグの種別ごとのメモリ使用量が登録されたタグ種別別メモリ使用量テーブルと、前記HMIの画面を構成するグラフィック画面コンポーネントごとのメモリ使用量が登録された画面コンポーネント別メモリ使用量テーブルと、前記HMIが処理するタグの種別ごとのハードディスク使用量が登録されたタグ種別別ハードディスク使用量テーブルと、前記HMIの画面を構成するグラフィック画面コンポーネントごとのハードディスク使用量が登録された画面コンポーネント別ハードディスク使用量テーブルと、前記HMIが処理するタグの種別ごとのCPU負荷がCPUの種別ごとに登録されたタグ種別別CPU負荷テーブルと、前記HMIが受けるアラームの種別ごとのCPU負荷がCPUの種別ごとに登録されたアラーム種別別CPU負荷テーブルと、クラウド環境に構築される仮想HMIが料金別に使用可能なメモリのスケール、ハードディスクのスケール、およびCPUの種別の複数の組み合わせが登録された料金別ハードウェアスケールテーブルと、を記憶する記憶部を備え、
前記仮想HMIが処理するタグの種別および数量、前記仮想HMIが表示する画面を構成する画面コンポーネント、および前記仮想HMIが受けるアラームの種別および数量、の入力を受け、前記タグ種別別メモリ使用量テーブル、前記画面コンポーネント別メモリ使用量テーブル、前記タグ種別別ハードディスク使用量テーブル、前記画面コンポーネント別ハードディスク使用量テーブル、前記タグ種別別CPU負荷テーブル、および前記アラーム種別別CPU負荷テーブルを参照して、前記仮想HMIのメモリの最大使用量と、ハードディスクの単位期間あたりの最大使用量と、CPUの最大負荷と、を算出し、
前記料金別ハードウェアスケールテーブルを参照して、算出した前記仮想HMIのメモリの最大使用量、ハードディスクの単位期間あたりの最大使用量、CPUの最大負荷、に対応するメモリのスケール、ハードディスクのスケール、およびCPUの種別を特定し、
算出した前記仮想HMIのメモリの最大使用量、ハードディスクの単位期間あたりの最大使用量、およびCPUの最大負荷と、特定した前記メモリのスケール、ハードディスクのスケール、およびCPUの種別とを表示する、
情報処理装置。
【請求項2】
クラウド環境に構築される仮想HMIが料金別に使用可能なメモリのスケール、ハードディスクのスケール、およびCPUの種別の複数の組み合わせが登録された料金別ハードウェアスケールテーブルを記憶する記憶部を備え、
クラウド環境に構築された仮想HMIのメモリの使用量、ハードディスクの使用量、およびCPUの負荷の履歴データを取得し、
取得した前記履歴データにより前記料金別ハードウェアスケールテーブルを参照して、仮想HMIのリソース使用量に対応するメモリのスケール、ディスクのスケール、およびCPUの種別を特定し、
取得した前記履歴データに基づく前記仮想HMIのリソース使用量と、前記仮想HMIの現在の契約スケールと、特定した前記メモリのスケール、ハードディスクのスケール、およびCPUの種別とを表示する、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、情報処理装置に関する。
【背景技術】
【0002】
従来、産業プラント(以下、単にプラントという)を制御する分散制御システム(Distributed Control System:DCS)等の制御システムにおいて、I/O(Input/Output)機器等を制御するためにコントローラが用いられている。また、このようなコントローラにおける処理の実行状況等をオペレータが監視するためにHMI(Human Machine Interface)が用いられている。
【0003】
また、このような制御システムを構成する装置を、クラウド環境に設けられたバーチャルマシン(Virtual Machine:VM)により実現する場合がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2019-57158号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
一般に、バーチャルマシンはスケール(CPU性能、メモリサイズ、およびディスクサイズ)により従量課金制が採用されるため、オーバースペックな契約にならないように、予定されるハードウェアリソース使用量の見積もりすることが求められる。特に、HMIはハードウェアリソースの使用量が小さい場合があるため、実際に使用予定のハードウェアリソース使用量に即した適切な見積もりが行われた場合のユーザのメリットが大きい。
【課題を解決するための手段】
【0006】
実施形態の情報処理装置は、タグ種別別メモリ使用量テーブル、画面コンポーネント別メモリ使用量テーブル、タグ種別別ハードディスク使用量テーブル、画面コンポーネント別ハードディスク使用量テーブル、タグ種別別CPU負荷テーブル、アラーム種別別CPU負荷テーブルおよび料金別ハードウェアスケールテーブルを記憶する記憶部を備える。タグ種別別メモリ使用量テーブルは、HMI(Human Machine Interface)が処理するタグの種別ごとのメモリ使用量が登録される。画面コンポーネント別メモリ使用量テーブルは、HMIの画面を構成するグラフィック画面コンポーネントごとのメモリ使用量が登録される。タグ種別別ハードディスク使用量テーブルは、HMIが処理するタグの種別ごとのハードディスク使用量が登録される。画面コンポーネント別ハードディスク使用量テーブルは、HMIの画面を構成するグラフィック画面コンポーネントごとのハードディスク使用量が登録される。タグ種別別CPU負荷テーブルは、HMIが処理するタグの種別ごとのCPU負荷がCPUの種別ごとに登録される。アラーム種別別CPU負荷テーブルは、HMIが受けるアラームの種別ごとのCPU負荷がCPUの種別ごとに登録される。料金別ハードウェアスケールテーブルは、クラウド環境に構築される仮想HMIが料金別に使用可能なメモリのスケール、ハードディスクのスケール、およびCPUの種別の複数の組み合わせが登録される。情報処理装置は、仮想HMIが処理するタグの種別および数量、仮想HMIが表示する画面を構成する画面コンポーネント、および仮想HMIが受けるアラームの種別および数量、の入力を受け、タグ種別別メモリ使用量テーブル、画面コンポーネント別メモリ使用量テーブル、タグ種別別ハードディスク使用量テーブル、画面コンポーネント別ハードディスク使用量テーブル、タグ種別別CPU負荷テーブル、およびアラーム種別別CPU負荷テーブルを参照して、仮想HMIのメモリの最大使用量と、ハードディスクの単位期間あたりの最大使用量と、CPUの最大負荷と、を算出する。また、情報処理装置は、料金別ハードウェアスケールテーブルを参照して、算出した仮想HMIのメモリの最大使用量、ハードディスクの単位期間あたりの最大使用量、CPUの最大負荷、に対応するメモリのスケール、ハードディスクのスケール、およびCPUの種別を特定する。情報処理装置は、算出した仮想HMIのメモリの最大使用量、ハードディスクの単位期間あたりの最大使用量、およびCPUの最大負荷と、特定したメモリのスケール、ハードディスクのスケール、およびCPUの種別とを表示する。
【図面の簡単な説明】
【0007】
図1図1は、第1の実施形態にかかる制御システムの構成の一例を示す図である。
図2図2は、第1の実施形態にかかるタグ種別別メモリ使用量テーブルの一例を示す図である。
図3図3は、第1の実施形態にかかる画面コンポーネント別メモリ使用量テーブルの一例を示す図である。
図4図4は、第1の実施形態にかかるタグ種別別ハードディスク使用量テーブルの一例を示す図である。
図5図5は、第1の実施形態にかかる画面コンポーネント別ハードディスク使用量テーブルの一例を示す図である。
図6図6は、第1の実施形態にかかる第1のタグ種別別CPU負荷テーブルの一例を示す図である。
図7図7は、第1の実施形態にかかる第1のアラーム種別別CPU負荷テーブルの一例を示す図である。
図8図8は、第1の実施形態にかかる第2のタグ種別別CPU負荷テーブルの一例を示す図である。
図9図9は、第1の実施形態にかかる第2のアラーム種別別CPU負荷テーブルの一例を示す図である。
図10図10は、第1の実施形態にかかる料金別ハードウェアスケールテーブルの一例を示す図である。
図11図11は、第1の実施形態にかかる処理予定タグテーブルの一例を示す図である。
図12図12は、第1の実施形態にかかる表示予定グラフィック画面コンポーネントテーブル352の一例を示す図である。
図13図13は、第1の実施形態にかかる処理予定アラームテーブルの一例を示す図である。
図14図14は、第1の実施形態にかかる見積もり画面の一例を示す図である。
図15図15は、第1の実施形態に係るHMIメモリ使用量見積結果画面の一例を示す図である。
図16図16は、第1の実施形態に係るHMIディスク使用量見積結果画面の一例を示す図である。
図17図17は、第1の実施形態に係るHMICPU負荷見積結果画面の一例を示す図である。
図18図18は、第1の実施形態にかかるードウェアリソース使用量見積もり処理の流れの一例を示すフローチャートである。
図19図19は、第2の実施形態にかかるクラウド環境に設けられた複数の仮想HMI、およびエンジニアリングツール用PCを含むシステムの構成の一例を示す図である。
図20図20は、第2の実施形態にかかるリソース使用量履歴テーブルの構成の一例を示す図である。
図21図21は、第2の実施形態にかかるメモリに関するハードウェアリソース使用状況情報の画面の一例を示す図である。
図22図22は、第2の実施形態にかかるディスクに関するハードウェアリソース使用状況情報の画面の一例を示す図である。
図23図23は、第2の実施形態にかかるCPUに関するハードウェアリソース使用状況情報の画面の一例を示す図である。
図24図24は、第2の実施形態にかかるエンジニアリングツール用PCによるハードウェアリソース使用状況情報の表示処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、添付の図面を用いて、本実施形態にかかる情報処理装置について説明する。
【0009】
(第1の実施形態)
図1は、第1の実施形態にかかる制御システムSの構成の一例を示す図である。当該制御システムSは、クラウド環境に設けられる仮想HMI(Human Machine Interface)1、コントローラ2a,2b、およびエンジニアリングツール用PC(Personal Computer)3を有する。コントローラ2a,2b、およびエンジニアリングツール用PC3は、LAN(Local Area Network)等により互いに通信可能に接続されている。また、コントローラ2a,2b、およびエンジニアリングツール用PC3は、インターネット1等のネットワークを介して、クラウド環境10に設けられた仮想HMI1と通信可能である。なお、図1では、仮想HMI1のみがクラウド環境10に設けられるものとしたが、コントローラ2a,2bもクラウド環境10に設けられてもよい。
【0010】
本実施形態においては、図1に示す制御システムSは構築中であるものとする。具体的には、エンジニアリングツール用PC3およびコントローラ2a,2bは構築されているものの、クラウド環境10における仮想HMI1のハードウェアリソースのスケールに関する契約が決定していない状態である。本実施形態において、エンジニアリングツール用PC3が、仮想HMI1のハードウェアリソースの使用量を見積もることにより、ユーザがハードウェアリソースのスケールに関する契約をする際の支援をする。
【0011】
仮想HMI1は、コントローラ2a,2bで実行される処理の状況等を、オペレータが監視するために用いられるバーチャルマシン(VM)である。仮想HMI1はクラウド環境10に設けられるため、オペレータが使用するPC等からネットワークを介して仮想HMI1に接続することにより、仮想HMI1が表示する画面をオペレータが照会することができる。
【0012】
なお、図1では仮想HMI“A”のみを図示するが、制御システムSは、仮想HMI1“B”、仮想HMI1“C”等の複数の仮想HMI1を備えてもよい。
【0013】
仮想HMI1は、OS(Operating System)等のプラットフォーム上で、当該仮想HMI1の機能を実現するためのソフトウェアが動作する。例えば、仮想HMI1は、オペレータがコントローラ2a,2bの処理状況を確認可能な画面を提供する。各画面は、グラフィック画面コンポーネントにより定義される。仮想HMI1で表示される1つの画面は、1または複数のグラフィック画面コンポーネントにより定義される。例えば、2つのポンプを監視するための画面は、2つのポンプの各々に対応する2つのグラフィックコンポーネントにより構成される。また、1つのグラフィック画面コンポーネントが複数の画面で用いられる場合もある。
【0014】
また、仮想HMI1は、コントローラ2a,2bからタグの情報を取得する。また、仮想HMI1は、コントローラ2a,2bから、アラームを取得する。タグおよびアラームを取得すると、仮想HMI1では当該タグおよびアラームの保存、および当該タグおよびアラームの画面表示等の処理が実行される。タグは、コントローラ2a,2bにおけるデータ管理の単位である。
【0015】
仮想HMI1が取得するタグの種別、グラフィック画面コンポーネント、発生するアラームの件数によって、仮想HMI1で実行される処理が変化する。このため、タグの種別、グラフィック画面コンポーネント、発生するアラームの件数によって、仮想HMI1がクラウド環境10で使用するハードウェアリソース使用量が変化する。
【0016】
本実施形態における仮想HMI1がクラウド環境10で使用するハードウェアは、メモリ、ハードディスク、およびCPU(Central Processing Unit)である。以下、ハードディスクを単にディスクという。メモリ使用量、ハードディスクの使用量、およびCPUの負荷を総称してハードウェアリソース使用量という。
【0017】
エンジニアリングツール用PC3は、本実施形態における情報処理装置の一例である。エンジニアリングツール用PC3は、エンジニアリングツールを備える。エンジニアリングツールは、コントローラ2で実行される制御プログラムやタスクの生成や、制御プログラムで使用されるパラメータの値の設定をすることができるプログラムである。エンジニアリングツールで生成された制御プログラム等がLANを介してコントローラ2a,2bにダウンロードされることにより、コントローラ2a,2bがプラントを制御するための処理を実行することができる。
【0018】
図1に示すように、エンジニアリングツール用PC3は、一例として、CPU31と、RAM(Random Access Memory)32等の主記憶装置と、HDD(Hard Disk Drive)33等の補助記憶装置と、ROM(Read Only Memory)34と、ディスプレイ(表示部)35と、マウスやキーボード等の入力装置36と、通信インタフェース37とを備える。CPU31、RAM32と、HDD33、ROM34、ディスプレイ35、入力装置36、および通信インタフェース37が、バス38により接続される。通信インタフェース37は、コントローラ2a,2bおよび仮想HMI1とネットワークを介して通信する。
【0019】
HDD33は、本実施形態における記憶部の一例である。HDD33は、タグ種別別メモリ使用量テーブル331と、画面コンポーネント別メモリ使用量テーブル332と、タグ種別別ハードディスク使用量テーブル333と、画面コンポーネント別ハードディスク使用量テーブル334と、第1のタグ種別別CPU負荷テーブル335と、第1のアラーム種別別CPU負荷テーブル336と、第2のタグ種別別CPU負荷テーブル337と、第2のアラーム種別別CPU負荷テーブル337と、基本使用量テーブル339とを記憶する。
【0020】
タグ種別別メモリ使用量テーブル331、画面コンポーネント別メモリ使用量テーブル332、タグ種別別ハードディスク使用量テーブル333、画面コンポーネント別ハードディスク使用量テーブル334、第1のタグ種別別CPU負荷テーブル335、第1のアラーム種別別CPU負荷テーブル336、第2のタグ種別別CPU負荷テーブル337、第2のアラーム種別別CPU負荷テーブル337、および基本使用量テーブル339を総称して、ハードウェアリソース使用量テーブル330という。
【0021】
ハードウェアリソース使用量テーブル330は、後述の仮想HMI1のハードウェアリソース使用量の見積もり処理で参照されるマスタテーブルである。ハードウェアリソース使用量テーブル330には、HMIが参照するタグの種別および数量、HMIの画面を構成するグラフィック画面コンポーネント、およびHMIが受けるアラームの種別および数量、に対応するメモリ、ハードディスク、およびCPUの使用量が登録される。本実施形態では、ハードウェアリソース使用量テーブル330は複数のテーブルに分割されて構成されるが、1つのテーブルに統合されてもよい。
【0022】
ハードウェアリソース使用量テーブル330は、例えば予めデータが登録された状態でHDD33に保存される。あるいは、一例として、既に稼働中の現行のHMIを仮想HMIに置き換える場合、現行のHMIにおけるハードウェアリソース使用実績に基づいて、ハードウェアリソース使用量テーブル330が生成されてもよい。当該ハードウェアリソース使用量テーブル330の生成の処理は、CPU31により実行されてもよい。
【0023】
また、HDD33は、料金別ハードウェアスケールテーブル340を記憶する。料金別ハードウェアスケールテーブル340は、クラウド環境10に構築される仮想HMI1の料金別に使用可能なメモリ、ハードディスク、およびCPUのスケールの組み合わせが登録されたテーブルである。本実施形態においては、仮想HMI1のCPU性能、メモリ使用可能量、およびハードディスク使用可能量を、スケールという。
【0024】
また、HDD33は、処理予定タグテーブル351と、表示予定グラフィック画面コンポーネントテーブル352と、処理予定アラームテーブル353とを記憶する。処理予定タグテーブル351、表示予定グラフィック画面コンポーネントテーブル352、および処理予定アラームテーブル353を総称して、処理予定情報テーブル350という。
【0025】
エンジニアリングツール用PC3は、入力装置36を介して、クラウド環境10に構築される仮想HMI1が取得するタグの種別および数量、仮想HMI1が表示する画面を構成する画面コンポーネント、および仮想HMI1が受けるアラームの種別および数量のユーザによる登録を受け付ける。例えば、CPU31がディスプレイ35に処理予定情報の入力画面を表示させ、当該入力画面にユーザが入力したデータが、処理予定情報テーブル350に登録される。各テーブルの構成の詳細は後述する。
【0026】
コントローラ2a,2bは、分散制御システム(DCS)用のコントローラである。以下、コントローラa,2bを特に区別しない場合には、単にコントローラ2という。より詳細には、コントローラ2は、プラントのセンサ等からの各種入力情報を演算し、制御対象であるバルブなどの機器に出力情報を与えることにより、プラントを制御する。コントローラ2は、制御演算や入出力にリアルタイム性が求められるため、組み込み型のハードウェアやリアルタイムOS等の構成要素を含む。そして、コントローラ2は、組み込み型のハードウェアやリアルタイムOS等のプラットフォーム上で、当該コントローラ2の機能をサポートするプログラムが動作する。
【0027】
コントローラ2は、タグデータベースと、タスクとを記憶する。タスクは、複数の制御プログラムが機能ごとにまとめられた、コントローラ2で実行される処理の実行単位である。コントローラ2は、複数のタスクを記憶する。また、1つのタスクは、1または複数のPOU(Program Organization Unit)を含む。POUは、機能毎にモジュール化して作成された制御プログラムである。タスクおよびタスクに含まれるPOUは、エンジニアリングツールで生成され、コントローラ2にダウンロードされる。
【0028】
また、タグデータベースには、コントローラ2で実行される処理で使用されるタグデータが保存される。タグデータは、POU単位で対応付けられた複数のパラメータの値を含むパラメータ群である。より詳細には、タグデータは、対象とする処理(POU)を示すタグ名称と、当該タグ名称に対応付けられるパラメータの値とを含む。例えば、タグ名称が“Ind0001”であり、パラメータの値として、当該処理で発生したアラームの種類を示す“PH”を含む。“PH”は、監視対象のセンサ等の現在値(PV,Process Value)が上限値を超えたことを示すアラームである。なお、タグデータに含まれるパラメータ値は、アラームの種類に限定されるものではない。例えば、タグデータは、POU内のファンクションブロックで使用されるパラメータ値や、アラームの発生を判断する閾値、発生したアラームの重要度(グレード)を示すパラメータ値等をさらに含むものであっても良い。また、センサ等の現在値が正常範囲に戻る等により、アラームが回復(終了)した場合は、タグデータから、アラームの種類を示す情報が削除される。
【0029】
コントローラ2は、タグデータベースに保存されたタグデータのうち、アラームの種類が設定されたタグデータを読み出し、当該タグデータのタグ名称と、当該タグ名称に対応付けられたアラームの種類とを、HMI1に送信する。タグデータに含まれるパラメータのうち、タグ名称と、当該タグ名称に対応付けられたアラームの種類を示す情報とを、アラームを特定する識別情報であるアラーム情報とする。また、コントローラ2は、アラームが回復した場合に、回復したアラームを特定するアラーム回復情報を、HMI1に送信する。
【0030】
また、コントローラ2は、メモリパリティエラー等のシステムアラームが発生した場合、当該発生したシステムアラームの情報であるシステムアラーム情報をHMI1に送信する。
【0031】
次に、図2図9を用いて、ハードウェアリソース使用量テーブル330について説明する。
【0032】
図2は、本実施形態にかかるタグ種別別メモリ使用量テーブル331の一例を示す図である。図2に示すように、タグ種別別メモリ使用量テーブル331は、タグ種別ごとのメモリ使用量が登録されたテーブルである。タグ種別は、タグを分類するグループである。当該メモリ使用量の値は、例えば標準的なHMIにおいて各タグ種別に属するタグを1つ処理するために使用するメモリの使用量の値である。HMIは、例えば当該タグのデータを一時的に保存するためにメモリを使用する。
【0033】
本実施形態において「HMIがタグを処理する」とは、HMIが当該タグをコントローラから取得すること、取得したタグを一時保存すること、および当該タグに関する出力の処理を実行すること等を含む。
【0034】
図2に示す例では、タグ種別が「Tag1」のタグに対してはメモリを3KB使用することを示している。
【0035】
図3は、本実施形態にかかる画面コンポーネント別メモリ使用量テーブル332の一例を示す図である。図3に示すように、画面コンポーネント別メモリ使用量テーブル332は、グラフィック画面コンポーネントごとのメモリ使用量が登録されたテーブルである。グラフィック画面コンポーネントは、HMIで表示される画面を定義する。なお、以下、グラフィック画面コンポーネントを単に画面コンポーネントと記載する場合がある。図3に示す例では、グラフィック画面コンポーネントが「Graphic_MDL_1」である画面を表示する処理を実行するには、メモリを4KB要することを示している。
【0036】
図4は、第1の実施形態にかかるタグ種別別ハードディスク使用量テーブル333の一例を示す図である。図4に示すように、タグ種別別ハードディスク使用量テーブル333は、タグ種別ごとのハードディスク使用量が登録されたテーブルである。ハードディスク使用量の単位期間は1日とする。例えば、タグ種別「Tag1」に属するタグ1つ当たりに使用されるハードディスク使用量は1日当たり1KBである。仮に、当該タグ種別「Tag1」に属するタグが1つずつ毎日実行される場合、1年間のハードディスク使用量は365KBとなる。
【0037】
図5は、第1の実施形態にかかる画面コンポーネント別ハードディスク使用量テーブル334の一例を示す図である。図5に示すように、画面コンポーネント別ハードディスク使用量テーブル334は、グラフィック画面コンポーネントごとのハードディスク使用量が登録されたテーブルである。例えば、タグ種別が「Graphic_MDL_1」の画面の表示に、1日当たりのハードディスク使用量は1KB分である。
【0038】
図6は、第1の実施形態にかかる第1のタグ種別別CPU負荷テーブル335の一例を示す図である。第1のタグ種別別CPU負荷テーブル335には、HMIが処理するタグ種別ごとのCPU負荷がCPUの種別ごとに登録される。図6に示すように、第1のタグ種別別CPU負荷テーブル335は、CPU種別“1”のCPUにおいて、CPUの1%の負荷に相当するタグ種別ごとのタグの数量が登録されたテーブルである。例えばタグ種別「Tag1」に属するタグ200個に関する処理が、CPU種別“1”のCPUの1%の負荷に相当する。
【0039】
図7は、第1の実施形態にかかる第1のアラーム種別別CPU負荷テーブル336の一例を示す図である。第1のアラーム種別別CPU負荷テーブル336は、HMIが受けるアラームの種別ごとのCPU負荷がCPUの種別ごとに登録される。図7に示すように、第1のアラーム種別別CPU負荷テーブル336は、CPU種別“1”のCPUにおいて、CPUの1%の負荷に相当するアラーム種別ごとの数量が登録されたテーブルである。例えばアラーム種別「プロセスアラーム」に属するアラーム200個に関する処理が、CPU種別“1”のCPUの1%の負荷に相当する。
【0040】
図8は、第1の実施形態にかかる第2のタグ種別別CPU負荷テーブル337の一例を示す図である。図8に示すように、第2のタグ種別別CPU負荷テーブル337は、CPU種別“2”のCPUにおいて、CPUの1%の負荷に相当するタグ種別ごとのタグの数量が登録されたテーブルである。CPU種別“2”の方が、CPU種別“1”よりも性能が高いため、CPU種別“2”のCPUの1%の負荷に相当するタグ種別「Tag1」に属するタグの数は、図6よりも多い400個である。第1のタグ種別別CPU負荷テーブル335および第2のタグ種別別CPU負荷テーブル337は、本実施形態におけるタグ種別別CPU負荷テーブルの一例である。
【0041】
図9は、第1の実施形態にかかる第2のアラーム種別別CPU負荷テーブル338の一例を示す図である。図9に示すように、第2のアラーム種別別CPU負荷テーブル338は、CPU種別“2”のCPUにおいて、CPUの1%の負荷に相当するアラーム種別ごとの数量が登録されたテーブルである。第1のアラーム種別別CPU負荷テーブル336および第2のアラーム種別別CPU負荷テーブル338は、本実施形態におけるアラーム種別別CPU負荷テーブルの一例である。
【0042】
なお、CPUの種別は2つに限定されるものではない。仮想HMI1が使用可能なCPUの種別が3つ以上ある場合、タグ種別別CPU負荷テーブルおよびアラーム種別別CPU負荷テーブルがさらに設けられてもよい。また、本実施形態では、CPUの種別ごとにタグ種別別CPU負荷テーブルとアラーム種別別CPU負荷テーブルとを保持しているが、複数の種別のCPUの負荷に関する情報が、1つのテーブルに登録されてもよい。また、図6図9に示す各テーブルを統合して1つのテーブルとしてもよい。
【0043】
また、基本使用量テーブル339については図示を省略するが、基本使用量テーブル339は、HMIで実行される処理の内容にかかわらず使用されるメモリ使用量、ハードウェアリソース使用量、およびCPU負荷が登録されたテーブルである。HMIで実行される処理の内容にかかわらず使用されるハードウェアリソースは、例えば、HMIでソフトウェアを実行するために必要となるHMIソフト実行基本使用量、およびクラウド環境10でHMIが稼働するために必ず必要となるシステム基本使用量である。
【0044】
図10は、第1の実施形態にかかる料金別ハードウェアスケールテーブル340の一例を示す図である。料金別ハードウェアスケールテーブル340は、クラウド環境10に構築される仮想HMI1が料金別に使用可能なメモリのスケール、ハードディスクのスケール、およびCPUの種別の複数の組み合わせが登録されたテーブルである。料金別ハードウェアスケールテーブル340に登録されたメモリ使用可能量、ハードウェアリソース使用可能量、およびCPU種別は、ハードウェアスケールの一例である。
【0045】
仮想HMI1は従量課金制なので、使用可能なハードウェアスケールに応じて料金が段階的に高くなる。図10に示す例では、「スケールNo.」の昇順に使用可能なハードウェアスケールが大きくなっているため、「スケールNo.」の昇順に料金が高くなる。なお、図10に示すハードウェアスケールの値および組み合わせは一例であり、これに限定されない。
【0046】
次に、図11図13を用いて処理予定情報テーブル350について説明する。
【0047】
図11は、第1の実施形態にかかる処理予定タグテーブル351の一例を示す図である。処理予定タグテーブル351は、仮想HMI1により処理される予定のタグが属するタグ種別、タグ種別名、およびタグ種別ごとのタグ数が見積もり対象HMIの名称と対応付けられて登録されるテーブルである。図11における見積もり対象の仮想HMI1は、図1に示すHMI“A”である。
【0048】
図12は、第1の実施形態にかかる表示予定グラフィック画面コンポーネントテーブル352の一例を示す図である。表示予定グラフィック画面コンポーネントテーブル352は、仮想HMI1により表示される予定の画面を定義するグラフィック画面コンポーネントのID、グラフィック画面コンポーネント名、およびグラフィック画面コンポーネントの数量が対応付けられて登録されるテーブルである。表示予定グラフィック画面コンポーネントテーブル352における「数量」とは、仮想HMI1で表示される全ての画面で使用される各グラフィックコンポーネントの数量である。
【0049】
なお、処理予定タグテーブル351および表示予定グラフィック画面コンポーネントテーブル352においてタグ種別名およびグラフィック画面コンポーネント名は必須ではない。あるいは、エンジニアリングツール用PC3のHDD33が予めタグ種別をタグ種別名に対応付けて記憶しておき、ユーザがエンジニアリングツール用PC3のディスプレイ35に表示された入力画面よりタグ種別名を入力すると、エンジニアリングツール用PC3のCPU31がHDD33に記憶されたタグ種別を参照して処理予定タグテーブル351に登録する構成を採用してもよい。また、エンジニアリングツール用PC3のHDD33が予めグラフィック画面コンポーネントをグラフィック画面コンポーネント名に対応付けて記憶しておき、ユーザがエンジニアリングツール用PC3のディスプレイ35に表示された入力画面よりグラフィック画面コンポーネントのIDを入力すると、エンジニアリングツール用PC3のCPU31がHDD33に記憶されたグラフィック画面コンポーネント名を参照して処理予定タグテーブル351に登録する構成を採用してもよい。
【0050】
図13は、第1の実施形態にかかる処理予定アラームテーブル353の一例を示す図である。処理予定アラームテーブル353は、仮想HMI1により処理される予定のアラーム種別と、当該アラーム種別に属するアラームの一日当たりの発生回数とが見積もり対象HMIの名称と対応付けられて登録されるテーブルである。
【0051】
図11図13に示す処理予定タグテーブル351、表示予定グラフィック画面コンポーネントテーブル352、および処理予定アラームテーブル353の各項目は、例えばユーザがエンジニアリングツール用PC3のディスプレイ35に表示された入力画面より入力する。
【0052】
次に、本実施形態のエンジニアリングツール用PC3により表示されるハードウェアリソース使用量の見積もり画面について説明する。
【0053】
図14は、第1の実施形態にかかる見積もり画面の一例を示す図である。当該見積もり画面は、CPU31によりエンジニアリングツール用PC3のディスプレイ35に表示される。
【0054】
見積もり画面は、スケール見積もり実行ボタン111、見積詳細ボタン110、および見積出力ボタン112を有する。
【0055】
スケール見積もり実行ボタン111は、ユーザによる見積もり実行操作を受け付けるためのボタンである。例えば、ユーザは、見積もり画面の「仮想HMI名」に見積もり対象の仮想HMIの名称を入力する。また、ユーザは、メモリ使用量の表示単位、ディスク使用量の表示単位および単位期間、および見積もり対象のCPU種別をリストボックスから選択した上で、スケール見積もり実行ボタン111を押下する。
【0056】
この場合、エンジニアリングツール用PC3のCPU31は、ハードウェアリソース使用量テーブル330および処理予定情報テーブル350を参照して、仮想HMI1のメモリ使用量の最大値、単位期間あたりのディスクの最大使用量、CPU負荷の最大値を算出し、見積もり画面の「最大使用量」行に表示する。また、CPU31は、「最大使用量」行の上に、「タグ」および「グラフィック画面表示」等の処理のカテゴリごとのメモリ使用量の最大値、ディスク使用量の最大値、CPU負荷の最大値を表示する。CPU負荷は%で表される。また、エンジニアリングツール用PC3のCPU31は、「タグ」「グラフィック画面表示」「データベース管理」の各欄に、「タグ」「グラフィック画面表示」「データベース管理」ごとのメモリ使用量、ディスク使用量、およびCPU使用率を表示させる。なお、「データベース管理」は、仮想HMI1がタグを介して収集したデータ、および発生したアラームを保存するデータベースのために使用するハードウェアリソースを示す。
【0057】
また、CPU31は、料金別ハードウェアスケールテーブル340を参照して、算出した仮想HMI1のメモリの最大使用量、ハードディスクの単位期間あたりの最大使用量、CPUのスペックごとの最大負荷、に対応するメモリのスケール、ハードディスクのスケール、およびCPUの種別を特定する。例えば、CPU31は、料金別ハードウェアスケールテーブル340に登録されたメモリのスケール、ハードディスクのスケール、およびCPUの種別の複数の組み合わせのうち、メモリのスケールが算出した仮想HMI1のメモリの最大使用量より大きく、ハードディスクの単位期間あたりの最大使用量より大きく、CPUの最大負荷が閾値を超えないCPU種別の組み合わせの中で最も料金が安い組み合わせを、特定する。
【0058】
なお、CPU31は、ハードディスクの容量不足によるデータ保存失敗のリスクを低減するために、単位期間あたりの最大使用量にバッファ容量を加算した結果よりも大きいスケールを選択してもよい。
【0059】
CPU31は、料金別ハードウェアスケールテーブル340から特定したメモリのスケール、ハードディスクのスケール、およびCPUの種別の組み合わせを、見積もり画面の「推奨スケール」行に表示する。
【0060】
また、見積出力ボタン112は、見積もり結果をデータとして出力するボタンである。
【0061】
また、見積詳細ボタン110は、図14に示す見積もり結果のメモリ、ハードディスク、およびCPUごとの詳細を表示する画面を表示させるボタンである。
【0062】
ユーザが見積詳細ボタン110を押下した場合、CPU31は、「HMIメモリ使用量見積結果」画面、「HMIディスク使用量見積結果」画面、および「HMICPU負荷見積結果」画面をディスプレイ35に表示させる。
【0063】
図15は、第1の実施形態に係るHMIメモリ使用量見積結果画面の一例を示す図である。図15に示す画面例では、2つのHMI1(HMI“A”、HMI“B”)のメモリ使用量見積結果を示すが、HMI“Aのみが表示されてもよい。
【0064】
HMIメモリ使用量見積結果画面では、カテゴリごとにメモリ使用量の合計値と、当該合計値の算出根拠を表示する。例えば、HMI“A”におけるタグ関連の処理に要するメモリ使用量の合計は350MBであり、その根拠としてタグ種別ごとのタグの数量が表示されている。CPU31は、処理予定タグテーブル351に登録された仮想HMI1により処理される予定のタグ種別ごとのタグ数と、タグ種別別メモリ使用量テーブル331に登録されたタグ種別ごとのメモリ使用量とに基づいて、HMI“A”におけるタグ関連の処理に要するメモリ使用量を算出する。
【0065】
また、HMI“A”におけるグラフィック画面の表示関連のメモリ使用量は150MBであり、その根拠としてグラフィック画面コンポーネントの数量が表示されている。CPU31は、表示予定グラフィック画面コンポーネントテーブル352に登録された仮想HMI1により表示される予定の画面を定義するグラフィック画面コンポーネントごとの数量と、画面コンポーネント別メモリ使用量テーブル332に登録されたグラフィック画面コンポーネントごとのメモリ使用量とに基づいて、HMI“A”におけるグラフィック画面の表示関連の処理に要するメモリ使用量を算出する。
【0066】
また、「基本部使用量合計」の欄に表示されるメモリ使用量は、基本使用量テーブル339に登録されたメモリ使用量の合計値である。基本部使用量合計の内訳として表示されるHMIソフト実行基本使用量、およびシステム基本使用量は、基本使用量テーブル339に登録されたデータである。
【0067】
カテゴリごとのメモリの使用量の合計値を合計すると、メモリ最大使用量“3200MB”となる。なお、メモリ最大使用量およびメモリ推奨スケールは、図14で表示された値と同様である。
【0068】
図16は、第1の実施形態に係るHMIディスク使用量見積結果画面の一例を示す図である。HMIディスク使用量見積結果画面では、カテゴリごとにハードディスク使用量の合計値と、当該合計値の算出根拠を表示する。例えば、HMI“A”におけるタグに関連して使用されるハードディスク使用量の合計は1日当たり100MBであり、その根拠としてタグ種別ごとのタグの数量が表示されている。CPU31は、処理予定タグテーブル351に登録された仮想HMI1により処理される予定のタグ種別ごとのタグ数と、タグ種別別ハードディスク使用量テーブル333に登録されたタグ種別ごとのハードディスク使用量とに基づいて、HMI“A”におけるタグ関連の処理に要するハードディスク使用量を算出する。
【0069】
また、HMI“A”におけるグラフィック画面の表示関連のハードディスク使用量は1日当たり100MBであり、その根拠としてグラフィック画面コンポーネントの数量が表示されている。CPU31は、表示予定グラフィック画面コンポーネントテーブル352に登録された仮想HMI1により表示される予定の画面を定義するグラフィック画面コンポーネントごとの数量と、画面コンポーネント別ハードディスク使用量テーブル334に登録されたグラフィック画面コンポーネントごとのハードディスク使用量とに基づいて、HMI“A”におけるグラフィック画面の表示関連の処理に要するハードディスク使用量を算出する。
【0070】
また、「基本部使用量合計」の欄に表示されるハードディスク使用量は、基本使用量テーブル339に登録されたハードディスク使用量の合計値である。基本部使用量合計の内訳として表示されるHMIソフト実行基本使用量、およびシステム基本使用量は、基本使用量テーブル339に登録されたデータである。
【0071】
図17は、第1の実施形態に係るHMICPU負荷見積結果画面の一例を示す図である。HMICPU負荷見積結果画面では、カテゴリごとにCPU負荷の合計値と、当該合計値の算出根拠を表示する。また、HMICPU負荷見積結果画面では、図14の見積もり画面でユーザにより選択されたCPU種別における負荷の値が表示されるものとする。図17に示す画面では、CPU種別“1”における負荷が表示される。なお、HMICPU負荷見積結果画面に、複数のCPU種別ごとのCPU負荷を表示してもよい。
【0072】
HMI“A”におけるタグに関連して使用されるCPU負荷の合計は10%であり、その根拠としてタグ種別ごとのタグの数量が表示されている。CPU31は、処理予定タグテーブル351に登録された仮想HMI1により処理される予定のタグ種別ごとのタグ数と、第1のタグ種別別CPU負荷テーブル335に登録されたタグ種別ごとのハードディスク使用量とに基づいて、HMI“A”におけるタグ関連の処理に要するCPU負荷を算出する。
【0073】
また、HMI“A”におけるアラーム処理関連のCPU負荷は60%であり、その根拠としてアラーム種別別の1日当たりのアラーム発生回数が表示されている。CPU31は、処理予定アラームテーブル353に登録された仮想HMI1により処理される予定のアラーム種別と、当該アラーム種別に属するアラームの一日当たりの発生回数と、第1のアラーム種別別CPU負荷テーブル336に登録されたアラーム種別ごとのハードディスク使用量とに基づいて、HMI“A”におけるタグ関連の処理に要するCPU負荷を算出する。
【0074】
また、「基本部使用量合計」の欄に表示されるCPU負荷は、基本使用量テーブル339に登録されたCPU負荷の合計値である。基本部使用量合計の内訳として表示されるHMIソフト実行負荷、およびシステム基本負荷は、基本使用量テーブル339に登録されたデータである。
【0075】
次に、以上のように構成されたエンジニアリングツール用PC3により実行されるハードウェアリソース使用量見積もり処理の流れについて説明する。
【0076】
図18は、第1の実施形態にかかるードウェアリソース使用量見積もり処理の流れの一例を示すフローチャートである。
【0077】
まず、エンジニアリングツール用PC3のCPU31は、入力装置36を介して仮想HMI1の処理予定情報の入力を受け付ける(S1)。具体的には、CPU31は、ユーザによる仮想HMI1が処理するタグの種別および数量、仮想HMI1が表示する画面を構成するグラフィック画面コンポーネント、および仮想HMI1が受けるアラームの種別および数量の入力を受け付ける。CPU31は、入力された情報を処理予定情報テーブル350に登録する。
【0078】
そして、ユーザによる見積もり画面表示操作を受け付けた場合(S2“Yes”)、CPU31は、ディスプレイ35に見積もり画面を表示させる(S3)。エンジニアリングツールのメニュー画面等からユーザが当該見積もり画面を選択する操作である。また、ユーザによる見積もり画面表示操作を受け付けるまでは(S2“No”)、S3の処理には進まずに待機する。
【0079】
そして、CPU31は、入力装置36を介して見積もりに使用するメモリ使用量の表示単位、ディスク使用量の表示単位および単位期間、および見積もり対象のCPU種別の入力を受け付ける(S4)。例えば、図14で図示したように、ユーザにより見積もり画面上でメモリ使用量の表示単位、ディスク使用量の表示単位および単位期間、および見積もり対象のCPU種別が選択される。
【0080】
そして、CPU31は、S1で入力された処理予定情報により、ハードウェアリソース使用量テーブル330と、基本使用量テーブル339とを参照してメモリの最大使用量、ハードディスクの最大使用量、およびCPUの最大負荷を算出する(S5)。
【0081】
料金別ハードウェアスケールテーブルを参照して、算出したメモリの最大使用量、ハードディスクの最大使用量、およびCPUの最大負荷を満たすメモリ、ハードディスク、およびCPUのスケールを特定する(S6)。例えば、CPU31は、料金別ハードウェアスケールテーブル340に登録されたメモリのスケール、ハードディスクのスケール、およびCPUの種別の複数の組み合わせのうち、メモリのスケールが算出した仮想HMI1のメモリの最大使用量より大きく、ハードディスクの単位期間あたりの最大使用量より大きく、CPUの最大負荷が閾値を超えないCPU種別の組み合わせの中で最も料金が安い組み合わせを、特定する。
【0082】
算出したメモリの最大使用量、ハードディスクの最大使用量、およびCPUの最大負荷と、特定したメモリ、ハードディスク、およびCPUのスケールを見積もり画面に表示する(S7)。ここで、このフローチャートの処理は終了する。なお、図18では見積もり画面に見積もり結果を表示した後に、ユーザの画面操作によって実行される図15図17に示す詳細画面の表示処理については図示を省略する。
【0083】
このように、本実施形態のエンジニアリングツール用PC3は、ハードウェアリソース使用量テーブル330と、料金別ハードウェアスケールテーブル340と、を記憶するHDD33を備える。エンジニアリングツール用PC3は、クラウド環境10に構築される仮想HMI1が処理するタグの種別および数量、仮想HMI1が表示する画面を構成するグラフィック画面コンポーネント、および仮想HMI1が受けるアラームの種別および数量、の登録を受け、ハードウェアリソース使用量テーブル330を参照して、仮想HMI1のメモリの最大使用量と、ハードディスクの単位期間あたりの最大使用量と、CPUの最大負荷と、を算出する。エンジニアリングツール用PC3は、料金別ハードウェアスケールテーブル340を参照して、算出した仮想HMIのメモリの最大使用量、ハードディスクの単位期間あたりの最大使用量、CPUの最大負荷、に対応するメモリのスケール、ハードディスクのスケール、およびCPUの種別を特定する。エンジニアリングツール用PC3は、算出した仮想HMI1のメモリの最大使用量、ハードディスクの単位期間あたりの最大使用量、およびCPUの最大負荷と、特定したメモリのスケール、ハードディスクのスケール、およびCPUの種別とを表示する。このため、本実施形態のエンジニアリングツール用PC3は、クラウド環境10で仮想HMI1を構築する場合に、仮想HMI1で使用予定のハードウェアリソース使用量に即した適切な見積もりを支援することができる。
【0084】
なお、本実施形態では、ハードウェアリソース使用量テーブル330は、例えば予めデータが登録された状態でHDD33に保存されるとしたが、エンジニアリングツール用PC3が、他のHMIでのハードウェアリソース使用量の実績データ等からハードウェアリソース使用量テーブル330に登録するデータを生成してもよい。
【0085】
なお、本実施形態では、メモリ使用量を算出する根拠としてタグ種別とグラフィック画面コンポーネントとを例示したが、システムアラームなどのアラームのメモリ使用量を示す情報をさらに考慮してもよい。この場合、ハードウェアリソース使用量テーブル330は、さらに、アラーム種別ごとのメモリ使用量は登録されたテーブルを含んでもよい。
【0086】
なお、本実施形態では、CPUの負荷を算出する根拠としてタグ種別とアラーム種別とを例示したが、CPUの1%の負荷に相当するグラフィック画面コンポーネントの数をCPUの負荷を算出する根拠としてもよい。
【0087】
(第2の実施形態)
第1の実施形態では、仮想HMI1の導入前に、仮想HMI1が実行予定の処理に基づいて、HMI1のハードウェアリソース使用量を見積もるものであったが、この第2の実施形態では、すでに運用中の仮想HMIのハードウェアリソース使用量に基づいて、現状の仮想HMIのハードウェアスケールが適切であるか否かをユーザが判断するための情報を出力するものである。
【0088】
図19は、第2の実施形態にかかるクラウド環境10に設けられた複数の仮想HMI1a~1c、およびエンジニアリングツール用PC3を含むシステムの構成の一例を示す図である。図19に示すように、エンジニアリングツール用PC3は、ネットワークNを介してクラウド環境10と接続する。クラウド環境10には、仮想HMI1a~1cが設けられる。本実施形態においては、仮想HMI1a~1cは、運用中であるものとする。なお、図19では3つの仮想HMI1a~1cを図示するが、仮想HMIの数はこれに限定されるものではない。
【0089】
仮想HMI1a~1cは、図示しないコントローラ2と接続しており、コントローラ2からタグに関するアラームや、システムアラーム等を受信し、それに応じて処理をする。
【0090】
仮想HMI1a~1cは、それぞれ、リソース使用量履歴テーブル80a~80cを記憶する。リソース使用量履歴テーブル80a~80cは、仮想HMI1a~1cのメモリの使用量、ハードディスクの使用量、およびCPUの負荷を記録した履歴データである。
【0091】
また、本実施形態のエンジニアリングツール用PC3は、第1の実施形態と同様に、CPU31、RAM32と、HDD33、ROM34、ディスプレイ35、入力装置36、通信インタフェース37が、およびバス38を備える。
【0092】
HDD33は、料金別ハードウェアスケールテーブル340、リソース使用量履歴テーブル361~363、およびHMI別契約情報テーブル370を記憶する。
【0093】
料金別ハードウェアスケールテーブル340は、第1の実施形態と同様に、クラウド環境10に構築される仮想HMI1の料金別に使用可能なメモリ、ハードディスク、およびCPUのスケールの組み合わせが登録されたテーブルである。
【0094】
リソース使用量履歴テーブル361~363は、仮想HMI1a~1cから取得したリソース使用量履歴テーブル80a~80cの内容が登録されるテーブルである。
【0095】
HMI別契約情報テーブル370は、仮想HMI1a~1cの現在の契約スケールが登録されたテーブルである。また、HMI別契約情報テーブル370は、ハードディスクの契約期間、およびハードディスクの使用期間の情報をさらに有してもよい。
【0096】
本実施形態のエンジニアリングツール用PC3のCPU31は、仮想HMI1a~1cから、リソース使用量履歴テーブル80a~80cに登録された仮想HMI1a~1cのメモリの使用量、ハードディスクの使用量、およびCPUの負荷の履歴データを取得する。CPU31は、取得した履歴データをHDD33のリソース使用量履歴テーブル361~363に登録する。なお、図19では、各仮想HMI1a~1cごとに、リソース使用量履歴テーブル361~363を設けているが、複数の仮想HMI1a~1cの履歴データが1つのテーブルに登録されてもよい。
【0097】
エンジニアリングツール用PC3は、料金別ハードウェアスケールテーブル340を参照して、履歴データに基づく仮想HMI1a~1cのハードウェアリソース使用量に対応するメモリのスケール、ディスクのスケール、およびCPUの種別を特定する。また、エンジニアリングツール用PC3は、取得した履歴データに基づく仮想HMI1a~1cのリソース使用量、仮想HMI11a~1cの現在の契約スケール、および仮想HMI1a~1cのリソース使用量から特定したスケールをディスプレイ35に表示させる。
【0098】
図20は、第2の実施形態にかかるリソース使用量履歴テーブル80aの構成の一例を示す図である。仮想HMI1a~1cは、タグや画面表示などの処理項目毎、期間(例えば、1時間)毎にメモリ・ディスク・CPUのハードウェアリソースの使用量を集計する。例えば、リソース使用量履歴テーブル80aは、規定の周期ごとに仮想HMI1aのメモリの使用量、ハードディスクの余剰量、およびCPUの使用率(負荷)が自国対応付けられて記録される。なお、リソース使用量履歴テーブル80b,80cも図20に示す例と同様とする。リソース使用量履歴テーブル361~363も図20に示す例と同様のテーブル構造でもよいし、項目が異なっていてもよい。
【0099】
なお、仮想HMI1a~1cは、当該期間毎における各処理項目の数量を集計するようにしてもよい。また、仮想HMI1a~1cは、HMIソフトの実行における使用メモリ・使用ディスク・CPUのハードウェアリソースの使用量を集計する。
【0100】
エンジニアリングツール用PC3のCPU31は、仮想HMI1a~1cからリソース使用量の履歴データを取得する。なお、エンジニアリングツール用PC3のCPU31は、取得した履歴データをリソース使用量履歴テーブル361~363のデータ構造に合わせて追加・更新するようにしてもよい。例えば、履歴データに、リソース使用量履歴テーブル361~363に含まれていないタグの情報が含まれている場合、CPU31は、当該タグのメモリ・ディスク・CPUの使用量の情報をリソース使用量履歴テーブル361~363に追加するようにしてもよい。
【0101】
まず、メモリに関するハードウェアリソース使用状況情報の生成方法について説明する。エンジニアリングツール用PC3のCPU31は、リソース使用量履歴テーブル361~363を参照し、タグや画面の種類毎の各期間の平均数量・最大数量を算出する。CPU31は、リソース使用量履歴テーブル361~363を参照し、各期間のタグや画面処理における使用メモリの最大値・平均値を算出する。また、CPU31は、リソース使用量履歴テーブル361~363を参照し、HMIソフトの実行における使用メモリの最大値・平均値を算出する。
【0102】
また、CPU31は、タグや画面の種類毎の各期間の平均数量・最大数量、各期間のタグや画面処理における使用メモリの最大値・平均値、HMIソフトの実行における使用メモリの最大値・平均値を算出する。また、CPU31は、HMI別契約情報テーブル370に含まれる現在のメモリサイズを特定し、および料金別ハードウェアスケールテーブル340を参照して推奨メモリサイズを特定する。CPU31算出および特定した情報から、メモリに関するハードウェアリソース使用状況情報を生成する。なお、推奨メモリサイズは、各期間のタグや画面処理における使用メモリの最大値、HMIソフトの実行における使用メモリの最大値を加算した値に基づいて算出されたものでもよい。
【0103】
続いて、ハードディスクに関するハードウェアリソース使用状況情報の生成方法について説明する。CPU31は、リソース使用量履歴テーブル361~363を参照し、タグや画面の種類毎の1日当たりの数量を算出する。CPU31は、リソース使用量履歴テーブル361~363を参照し、1日当たりのタグや画面処理における使用ディスク量を算出する。また、CPU31は、リソース使用量履歴テーブル361~363を参照し、1日当たりのHMIソフトの実行における使用ディスク量を算出する。
【0104】
また、CPU31は、タグや画面の種類毎の1日当たりの数量、1日当たりのタグや画面処理における使用ディスク量、1日当たりのHMIソフトの実行における使用ディスク量、HMI別契約情報テーブル370に含まれる現在の使用ディスクサイズ、ディスク余剰サイズを含むディスクに関するハードウェアリソース使用状況情報を生成する。また、CPU31は、現在の使用ディスクサイズとディスクの使用期間とディスクの契約期間とに基づいて、現在の使用ディスクサイズに基づく契約期間(例えば、2年)満了時までに必要なディスクサイズの情報をハードウェアリソース使用状況情報にさらに含めてもよい。
【0105】
続いて、CPUに関するハードウェアリソース使用状況情報の生成方法について説明する。CPU31は、リソース使用量履歴テーブル361~363を参照し、タグやアラームの種類毎の各期間の平均数量・最大数量を算出する。CPU31は、リソース使用量履歴テーブル361~363を参照し、各期間のタグやアラーム処理におけるCPU使用率の最大値・平均値を算出する。また、CPU31は、リソース使用量履歴テーブル361~363を参照し、HMIソフトの実行におけるCPU使用率の最大値・平均値を算出する。また、CPU31は、各期間のタグやアラーム処理におけるCPU使用率の最大値・平均値、HMIソフトの実行におけるCPU使用率の最大値・平均値等に基づいて、CPU最大量(HMIにおける処理全体のCPU利用率)の最大値・平均値を算出する。
【0106】
また、CPU31は、タグや画面の種類毎の各期間の平均数量・最大数量、各期間のタグやアラーム処理におけるCPU使用率の最大値・平均値、HMIソフトの実行におけるCPU使用率の最大値・平均値、CPU最大量の最大値・平均値、HMI別契約情報テーブル370に含まれる現在のCPU種別を含むCPUに関するハードウェアリソース使用状況情報を生成する。なお、CPUに関するハードウェアリソース使用状況情報にCPU最大量に基づくコメント情報を含めてもよい。例えば、CPU最大量が所定の閾値以上である場合、CPU31は、スケールアップを推奨する旨のコメント情報を含めてもよい。
【0107】
CPU31は、ユーザの入力操作に応じて、メモリに関するハードウェアリソース使用状況情報の画面、ディスクに関するハードウェアリソース使用状況情報の画面、CPUに関するハードウェアリソース使用状況情報の画面をディスプレイ35へ表示させる。例えば、CPU31は、第1の実施形態と同様の見積もり画面でユーザがスケール見積実行ボタン111を押下することにより、見積もり結果を表示してもよい。また、本実施形態のCPU31は、ユーザにより見積詳細ボタン110が押下された場合に、メモリ、ハードディスク、およびCPUごとのハードウェアリソース使用状況の分析結果をディスプレイ35へ表示させる。
【0108】
図21は、第2の実施形態にかかるメモリに関するハードウェアリソース使用状況情報の画面の一例を示す図である。図21に示す画面例では、2つのHMI1(HMI“A”、HMI“B”)のハードウェアリソース使用状況情報を示している。図21は、HMI“A”におけるタグのメモリ使用量が、最大値が350MB、平均値が250MBであり、画面のメモリ使用量が、最大値が130MB、平均値が70MBであることを示しており、現在のメモリサイズが3000MBであることを示している。なお、メモリ最大用量が3000MBに基づいて、メモリ推奨用量を示している。メモリ最大用量は、全てのタグ・画面を同時に処理している場合であるので、図21のように、メモリ最大用量より少ない用量をメモリ推奨用量としてもよい。
【0109】
図22は、第2の実施形態にかかるディスクに関するハードウェアリソース使用状況情報の画面の一例を示す図である。図22に示す画面例では、2つのHMI1(HMI“A、HMI“B”)のハードウェアリソース使用状況情報を示している。図22は、HMI“A”におけるタグのディスク使用量が、1日当たり100MBであり、画面のディスク使用量が、1日当たり100MBであることを示しており、現在のディスクサイズが500GBであることを示している。
【0110】
図23は、第2の実施形態にかかるCPUに関するハードウェアリソース使用状況情報の画面の例を示す図である。図17に示す画面例では、2つのHMI1(HMI“A”、HMI“B”)のハードウェアリソース使用状況情報を示している。図22は、HMI“A”におけるタグのCPU使用率が、最大値が10%、平均値が5%であり、アラームのCPU使用率が、最大値が80%、平均値が40%であることを示しており、現在のCPU種別がCPU1であることを示している。
【0111】
続いて、第2の実施形態にかかるエンジニアリングツール用PC3によるハードウェアリソース使用状況情報の表示処理の流れの一例について説明する。
【0112】
図24は、第2の実施形態にかかるエンジニアリングツール用PC3によるハードウェアリソース使用状況情報の表示処理の流れの一例を示すフローチャートである。
【0113】
まず、エンジニアリングツール用PC3のCPU31は、通信インタフェース37を介して各仮想HMI1a~1cから、リソース使用量履歴テーブル80a~80cに登録された仮想HMI1a~1cのリソース使用量履歴データを取得する(S21)。CPU31は、取得したリソース使用量履歴データをHDD33のリソース使用量履歴テーブル361~363に保存する。
【0114】
S22の見積もり画面表示操作の受付から、S23の見積もり画面の表示の処理までは、第1の実施形態のS2~S3の処理と同様である。
【0115】
そして、CPU31は、入力装置36を介して見積もりに使用するメモリ使用量の表示単位、およびディスク使用量の表示単位および単位期間の入力を受け付ける(S24)。
【0116】
そして、CPU31は、料金別ハードウェアスケールテーブル340を参照して、各仮想HMI1a~1cのリソース使用量を満たすメモリ、ハードディスク、およびCPUのスケールを特定する(S25)。本実施形態では、取得したリソース使用量履歴データから、ハードウェアリソース使用量の最大値だけではなく平均値が算出可能であるため、CPU31は、例えば、メモリについて最大値ではなく平均値に基づいてスケールを特定してもよい。
【0117】
そして、CPU31は、取得したリソース使用量履歴データに基づく各仮想HMI1a~1cのリソース使用量、各仮想HMI1a~1cのHMI別契約情報テーブル370に登録された各仮想HMI1a~1cの現在の契約スケール、および、取得したリソース使用量履歴データに基づく各仮想HMI1a~1cのリソース使用量から特定したメモリ、ハードディスク、およびCPUのスケールを取得する(S26)。
【0118】
本実施形態にかかるエンジニアリングツール用PC3は、仮想HMI1a~1cの実際の処理結果であるリソース使用量履歴データと、仮想HMI1a~1cの現在の契約スケールが登録されたHMI別契約情報テーブル370とに基づいたハードウェアリソース使用状況情報を出力することにより、該仮想HMI1のリソースをより適切なスペックとするために有益な情報を出力することができる。すなわち、本実施形態のンジニアリングツール用PC3は、第1の実施形態と同様の効果を奏した上で、仮想HMI1における適切なハードウェアスケールをユーザが判断することを支援することができる。
【0119】
上述の各実施形態のエンジニアリングツール用PC3で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、メモリカード、CD-RおよびDVD等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
【0120】
また、上述の各実施形態のエンジニアリングツール用PC3で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また上述の各実施形態のエンジニアリングツール用PC3で実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【0121】
また、上述の各実施形態のエンジニアリングツール用PC3で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0122】
上述の各実施形態のエンジニアリングツール用PC3で実行されるプログラムは、上述した各実施形態のエンジニアリングツール用PC3で実行される機能を含むモジュール構成となっている。実際のハードウェアとしては、CPU31がROM34またはその他の記憶媒体からプログラムを読み出して実行することにより、上述の各機能がRAM32上にロードされる。
【0123】
なお上述した各実施形態のエンジニアリングツール用PC3の機能の一部または全部をソフトウェアにより実現せずに、IC等のハードウェアにより実現してもよい。
【0124】
また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2以上を実現してもよい。
【0125】
また上述の各実施形態のエンジニアリングツール用PC3の動作形態は任意でよい。上述の各実施形態のエンジニアリングツール用PC3を、例えばネットワーク上のクラウドシステムとして動作させてもよい。
【0126】
なお、上述の各実施形態では、エンジニアリングツール用PC3を情報処理装置の一例としたが、情報処理装置はこれに限定されるものではない。例えば、エンジニアリングツール機能を有さないPCを情報処理装置の一例として使用してもよい。
【0127】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0128】
1,1a~1c 仮想HMI
2,2a,2b コントローラ
3 エンジニアリングツール用PC
10 クラウド環境
35 ディスプレイ
36 入力装置
37 通信インタフェース
38 バス
80a~80c リソース使用量履歴テーブル
330 ハードウェアリソース使用量テーブル
331 タグ種別別メモリ使用量テーブル
332 画面コンポーネント別メモリ使用量テーブル
333 タグ種別別ハードディスク使用量テーブル
334 画面コンポーネント別ハードディスク使用量テーブル
335 第1のタグ種別別CPU負荷テーブル
336 第1のアラーム種別別CPU負荷テーブル
337 第2のタグ種別別CPU負荷テーブル
338 第2のアラーム種別別CPU負荷テーブル
339 基本使用量テーブル
340 料金別ハードウェアスケールテーブル
350 処理予定情報テーブル
351 処理予定タグテーブル
352 表示予定グラフィック画面コンポーネントテーブル
353 処理予定アラームテーブル
361 リソース使用量履歴テーブル
370 HMI別契約情報テーブル
S 制御システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24