JP2016153986A - 計算機資源使用制御装置 - Google Patents

計算機資源使用制御装置 Download PDF

Info

Publication number
JP2016153986A
JP2016153986A JP2015032297A JP2015032297A JP2016153986A JP 2016153986 A JP2016153986 A JP 2016153986A JP 2015032297 A JP2015032297 A JP 2015032297A JP 2015032297 A JP2015032297 A JP 2015032297A JP 2016153986 A JP2016153986 A JP 2016153986A
Authority
JP
Japan
Prior art keywords
usage rate
resource usage
hmi
application program
task
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.)
Pending
Application number
JP2015032297A
Other languages
English (en)
Inventor
嘉孝 天谷
Yoshitaka Amaya
嘉孝 天谷
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.)
Schneider Electric Japan Holdings Ltd
Original Assignee
Digital Electronics 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 Digital Electronics Corp filed Critical Digital Electronics Corp
Priority to JP2015032297A priority Critical patent/JP2016153986A/ja
Publication of JP2016153986A publication Critical patent/JP2016153986A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】他のアプリケーションプログラムの起動に必要な計算機資源を割り当てる。【解決手段】アプリケーションプログラムの起動に計算機資源(リソース)を用いるために、ヒューマンマシンインターフェース機能を実現するHMIアプリケーションプログラムが使用している計算機資源の使用量の、当該計算機資源の総量に対する比率である全計算機資源使用率を低下させることができる低下可能幅を計算するリソース使用率低下準備部841と、リソース使用率低下準備部841によって計算された前記低下可能幅で当該HMI計算機資源使用率を低下させる使用率低下実行部842とを備える。【選択図】図2

Description

本発明は、特定のアプリケーションプログラムが実行されている状態において、他のアプリケーションプログラムの起動を円滑に行うために、実行されているアプリケーションプログラムによる計算機資源の使用を制御する計算機資源使用制御装置に関する。
コンピュータ機器においては、各種のアプリケーションプログラムを実行することにより、これらのアプリケーションプログラムによって実現される機能を利用することができる。また、このようなコンピュータ機器においては、マルチタスクの機能によって複数のアプリケーションプログラムを同時に実行することができる。
しかしながら、コンピュータ機器では、CPU(Central Processing Unit)の性能やメモリの容量を含む計算機資源に制限がある。特に、CPUの性能が低い場合やメモリの容量が少ない場合には、いくつかのアプリケーションプログラムを実行すると、計算機資源に余裕がなくなることがある。また、計算機資源が豊富であっても、すでに起動しているアプリケーションプログラムの実行に多くの計算機資源が使用される場合、未使用の計算機資源が残り少なくなっていることがある。このような計算機資源に余裕がない状態で、他のアプリケーションプログラムを起動しようとすると、当該アプリケーションプログラムの起動に十分な計算機資源を確保できなければ、当該アプリケーションプログラムの起動が遅くなってしまう。
上記のような不都合を解消するものとして、例えば、特許文献1に開示されている手法が有効である。特許文献1には、アプリケーションプログラムを起動するときに、その起動のために計算機資源が不足していると判定されると、起動するアプリケーションプログラムより優先度の低いアプリケーションプログラムを停止させることが開示されている。
特開2008−140123号公報(2008年6月19日公開)
しかしながら、アプリケーションプログラムの実行中に他のアプリケーションプログラムを起動する場合、実行中のアプリケーションプログラムが優先度の高いアプリケーションプログラムであれば、当該アプリケーションプログラムを停止することができない。例えば、このようなアプリケーションプログラムとして、プログラマブル表示器のようなHMI(Human Machine Interface)機器の機能を汎用のコンピュータ機器において実現するためのHMIアプリケーションプログラムが挙げられる。
HMIアプリケーションプログラムを利用する場合、HMIアプリケーションプログラムを常時実行することでコンピュータ機器をHMI機器として動作させ、必要に応じて他のアプリケーションプログラムを起動させる。このような場合、他のアプリケーションプログラムの起動時に計算機資源が不足していても、HMIアプリケーションプログラムを停止させることはできない。このため、他のアプリケーションプログラムの起動に十分な計算機資源を確保することができないので、当該アプリケーションプログラムの起動時間を短縮することはできない。
HMIアプリケーションプログラムを停止させることはできないが、HMIアプリケーションプログラムによる計算機資源の使用率をHMIアプリケーションプログラムの必要最低限の機能を保持した状態で低下させることが考えられる。しかしながら、現状のHMIアプリケーションプログラムでは、HMIアプリケーションプログラムによる計算機資源の使用状況に応じて、HMIアプリケーションプログラムによる計算機資源の使用率を適切に低下させることができない。
本発明は上記の問題点を解決するためになされたものであり、その目的は、HMIアプリケーションプログラムによる計算機資源の使用率を適切に低下させることにより、他のアプリケーションプログラムの起動に必要な計算機資源を割り当てることにある。
上記の課題を解決するために、本発明の計算機資源使用制御装置は、アプリケーションプログラムの起動に計算機資源を用いるために、ヒューマンマシンインターフェース機能を実現するHMIアプリケーションプログラムが使用している計算機資源の使用量の、当該計算機資源の総量に対する比率であるHMI計算機資源使用率を低下させることができる低下可能幅を計算する低下可能幅計算部と、前記低下可能幅計算部によって計算された前記低下可能幅で前記HMI計算機資源使用率を低下させる使用率低下実行部とを備えていることを特徴としている。
上記のように構成される計算機資源使用制御装置においては、低下可能幅計算部によって計算された低下可能幅で、使用率低下実行部がHMI計算機資源使用率を低下させるので、低下したHMI計算機資源使用率がアプリケーションプログラムの起動に割り当てることができる。
前記計算機資源使用制御装置において、前記HMIアプリケーションプログラムが複数のタスクから構成され、前記HMI計算機資源使用率は、前記計算機資源を各タスクが使用する使用量の、前記計算機資源の総量に対する比率であるタスク計算機資源使用率の総計であり、各タスクには、前記タスク計算機資源使用率の低下の可否が定められており、前記使用率低下実行部は、前記タスク計算機資源使用率を低下させることが可能なタスクについてのみ前記タスク計算機資源使用率を低下させることが好ましい。
これにより、HMIアプリケーションプログラムの根幹をなすシステム稼働上で重要なタスクのHMI計算機資源使用率を低下させないようにすることができる。これにより、HMIアプリケーションプログラムによって実現される機能が完全に停止するという事態を回避しながら、アプリケーションプログラムの起動のために必要な計算機資源を確保することができる。
前記計算機資源使用制御装置において、前記使用率低下実行部は、低下させる前記タスク計算機資源使用率の総計がHMI計算機資源使用率の必要とされる低下幅を満たさないときに、前記タスク計算機資源使用率を前記総計だけ低下させることが好ましい。
これにより、低下させる前記タスク計算機資源使用率の総計がHMI計算機資源使用率の必要とされる低下幅を満たさない場合、低下させるタスク計算機資源使用率の総計を可能な限り必要とされる低下幅に近づけることができる。
前記計算機資源使用制御装置において、前記使用率低下実行部は、低下可能である前記タスク計算機資源使用率の総計がHMI計算機資源使用率の必要とされる低下幅より大きいときに、重要度の低いタスクから順に前記タスク計算機資源使用率を低下させることが好ましい。
これにより、低下可能である前記タスク計算機資源使用率の総計がHMI計算機資源使用率の必要とされる低下幅より大きい場合、重要度の高いタスクのタスク計算機資源使用率を低下させないようにすることができる。
前記計算機資源使用制御装置において、前記使用率低下準備部は、起動される前記アプリケーションプログラムの実行ファイルのサイズに基づいて前記アプリケーションプログラムの起動に前記計算機資源を優先的に割り当てる程度である起動優先度を算出することが好ましい。
これにより、ユーザによる起動優先度の設定が必要なくなる。
あるいは、計算機資源使用制御装置は、アプリケーションプログラムの起動時に、ヒューマンマシンインターフェース機能を実現するHMIアプリケーションプログラムを含む、すでに実行されている全てのアプリケーションプログラムが使用している計算機資源の使用量の、当該計算機資源の総量に対する比率である全計算機資源使用率と、起動させる前記アプリケーションプログラムについて定められた、当該アプリケーションプログラムの起動に前記計算機資源を優先的に確保する程度である起動優先度とに基づいて、前記アプリケーションプログラムの起動に前記計算機資源を用いるために、前記HMIアプリケーションプログラムが使用している前記計算機資源の使用量の、前記計算機資源の総量に対する比率であるHMI計算機資源使用率を低下させる要否を判定する使用率低下要否判定部と、前記使用率低下要否判定部によって前記HMI計算機資源使用率の低下が必要であると判定されたときに当該HMI計算機資源使用率を低下させる使用率低下実行部とを備えているものであってもよい。
上記のように構成される計算機資源使用制御装置においては、アプリケーションプログラムの起動時に、使用率低下要否判定部が、全計算機資源使用率および起動優先度に基づいて、HMI計算機資源使用率を低下させる必要があると判定すると、使用率低下実行部がHMI計算機資源使用率を低下させる。これにより、全計算機資源使用率および起動優先度に応じてアプリケーションプログラムの起動のために必要な計算機資源を割り当てることができる。
前記計算機資源使用制御装置において、前記使用率低下要否判定部は、前記起動優先度に基づいて前記HMI計算機資源使用率の低下幅を決定し、前記使用率低下実行部は、前記低下幅で前記HMI計算機資源使用率を低下させることが好ましい。
これにより、起動優先度に応じた低下幅でHMI計算機資源使用率を低下させることにより、アプリケーションプログラムを起動させるために適切な計算機資源を確保することができる。
前記計算機資源使用制御装置は、前記起動優先度を各アプリケーションプログラムについて定めた起動優先度テーブルをさらに備え、前記使用率低下要否判定部が、前記起動優先度テーブルを参照して、前記HMI計算機資源使用率を低下させる要否を判定することが好ましい。
これにより、ユーザが所望に設定した起動優先度に基づいて、HMI計算機資源使用率を低下させることができる。
本発明は、HMIアプリケーションプログラムによる計算機資源の使用率を適切に低下させることにより、他のアプリケーションプログラムの起動に必要な計算機資源を割り当てることができるという効果を奏する。
本発明の実施形態1および2に係るコンピュータ機器のハードウェア構成を示すブロック図である。 本発明の実施形態1およびその変形例に係る上記コンピュータ機器のシステム構成を示すブロック図である。 HMIアプリケーションプログラムが使用する計算機資源(リソース)の使用率を低下させる対象となるアプリケーションプログラムと起動優先度との対応付けに用いられるダイアログボックスを示す図である。 上記コンピュータ機器に表示されるHMI画像を示す図である。 上記コンピュータ機器においてアプリケーションプログラムの起動時に行われる、HMIアプリケーションプログラムのリソースの使用率を低下させる処理の手順を示すフローチャートである。 HMIアプリケーションプログラムのリソースの使用率を低下させない場合および低下させた場合のそれぞれのアプリケーションプログラムのCPU使用率の変化を示すグラフである。 実施形態1の変形例に係るコンピュータ機器においてアプリケーションプログラムの起動時に行われる、HMIアプリケーションプログラムのリソースの使用率を低下させる処理の手順を示すフローチャートである。 本発明の実施形態2に係るコンピュータ機器のシステム構成を示すブロック図である。 図8のコンピュータ機器に設けられた使用率低下可否テーブルの構成を示す図である。
〔実施形態1〕
本発明の一実施形態について図1〜図7に基づいて説明すると、以下の通りである。
図1は、本実施形態に係るコンピュータ機器1の構成を示すブロック図である。図2は、本実施形態およびその変形例に係るコンピュータ機器1のシステム構成を示すブロック図である。
コンピュータ機器1(計算機資源使用制御装置)は、汎用のOS(Operating System)を実装しており、アプリケーションプログラムを実行する機能を備えている。また、コンピュータ機器1としては、パーソナルコンピュータ、ワークステーション、産業用コンピュータなどが用いられる。産業用コンピュータは、工場などの厳しい環境に適合するように、防塵性、防滴性、耐振動性などを高めた専用のコンピュータである。
本実施形態において、コンピュータ機器1は、HMI(Human Machine Interface)アプリケーションプログラムを実行させることによりHMI機器として動作するともに、他のアプリケーションプログラムも併せて実行するように構成されている。HMI機器としては、制御対象の監視および制御を行うプログラマブル表示器、SCADA(Supervisory Control And Data Acquisition)のような監視・制御システムなどが該当する。HMIアプリケーションプログラムは、HMI機器で行われるような、外部機器との通信、当該外部機器から取得したデータの表示、入力装置を用いた操作者による操作の受け付けなどの各種の機能を実現するアプリケーションプログラムである。このHMIアプリケーションプログラムは、HMIアプリケーションプログラムを伝送可能な任意の伝送媒体(通信ネットワーク、放送波など)を介してコンピュータ機器1に供給されてもよい。なお、HMIアプリケーションプログラムは、電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
また、本実施形態において、コンピュータ機器1の計算機資源(以降「リソース」と称する)とは、アプリケーションプログラムを実行するために使用されるコンピュータ機器1のハードウェア資源である。以降の説明では、特に、後述するCPU11およびメインメモリ12をリソースとして着目した構成について述べる。これは、後述する実施形態2におけるコンピュータ機器1A(図7参照)についても同様である。
まず、コンピュータ機器1のハードウェア構成について説明する。
図1に示すように、コンピュータ機器1は、CPU(Central Processing Unit)11と、メインメモリ12と、ROM(Read Only Memory)13と、補助記憶装置14と、入力部15と、出力部16と、インターフェース部17とを備えている。
CPU11は、アプリケーションプログラムを実行する処理装置である。具体的には、CPU11は、アプリケーションプログラムの実行に際して、メインメモリ12、補助記憶装置14、入力部15などからデータを受け取り、当該データに対して演算または加工を施した上で、メインメモリ12、補助記憶装置14、出力部16などに出力する。
メインメモリ12は、コンピュータ機器1における主記憶装置を構成するメモリであり、DRAM(Dynamic Random Access Memory)によって構成される。メインメモリ12が有する記憶領域は、システム領域およびユーザ領域に区分される。システム領域はOSが使用する領域であり、ユーザ領域はアプリケーションプログラムを実行するために用いられる領域である。各アプリケーションプログラムは、起動するときに、ユーザ領域においてそれぞれの使用領域がOSにより割り当てられる。
ROM13は、コンピュータ機器1の起動時やリセット時に実行されるBIOS(Basic Input Output System)などの、コンピュータ機器1の動作に不可欠なプログラムを記憶している。
補助記憶装置14は、OS、アプリケーションプログラム、各種のデータなどを記憶する大容量の記憶装置であり、HDD(Hard Disc Drive)、SSD(Solid State Drive)などで構成される。
入力部15は、ユーザによる入力操作に用いられ、タッチパネル、マウス、キーボードなどの各種の入力機器が装備される。
出力部16は、OSおよびアプリケーションプログラムの実行に伴ってコンピュータ機器1の内部で生成される、画像、音、文字などの各種の出力情報の出力に用いられ、表示装置、スピーカ、プリンタなどの各種の出力機器が装備される。
入力部15および出力部16は、コンピュータ機器1に搭載される機器であってもよいが、外部機器としてコンピュータ機器1に接続される機器であってもよい。このような外部機器は、次に説明するインターフェース部17を介してコンピュータ機器1と接続されることにより、コンピュータ機器1と一体に稼働する。
インターフェース部17は、外部機器をコンピュータ機器1と通信可能に接続するための接続部であり、シリアルインターフェース、I/Oインターフェース、USB(Universal Serial Bus)インターフェース、LAN(Local Area Network)インターフェース、メモリカードインターフェースなどの各種のインターフェースを装備している。
例えば、シリアルインターフェースには、PLC(Programmable Logic Controller)、温度調節計、インバータなどの制御機器2が接続される。また、I/Oインターフェースには、デジタル/アナログ入力に対応した各種の入力機器(センサ、スイッチ、カウンタなど)およびデジタル/アナログ出力に対応した出力機器(アクチュエータ、リレー、電磁弁、表示器など)のようなI/O機器3が接続される。LANインターフェースには、PC(Personal Computer)4などのネットワーク接続機器が接続される。USBインターフェースには、USBメモリ5などの各種のUSB接続対応機器が接続される。そして、メモリカードインターフェースには、各種のメモリカード6が接続される。
続いて、コンピュータ機器1のシステム構成について説明する。本実施形態では、HMIアプリケーションプログラムを実行することにより、コンピュータ機器1をHMI機器として動作させるとともに、コンピュータ機器1において他のアプリケーションプログラムを実行させるためのシステム構成について説明する。
図2に示すように、コンピュータ機器1において、オペレーティングシステム(以降「OS」と称する)7が実装されるとともに、HMI制御部8が設けられている。また、コンピュータ機器1において、上述した入力部15としてタッチパネル9が設けられ、上述した出力部16として表示部10が設けられている。表示部10は、液晶表示パネルのようなコンピュータ機器1に搭載される部品であるが、コンピュータ機器1とは別体に設けられる表示装置であってもよい。タッチパネル9は、表示部10の表示面に重ねて配置されている。
OS7は、上述したメインメモリ12、ROM13、補助記憶装置14、入力部15、出力部16およびインターフェース部17の管理など、アプリケーションプログラムから共通して利用される基本的な機能を提供し、コンピュータ機器1のシステム全体を管理するプログラムである。また、OS7は、実行中の各アプリケーションプログラムが使用するリソースの使用状況を監視するリソースモニタ部71と、アプリケーションプログラムについての情報を管理するアプリケーションプログラム情報管理部72と、アプリケーションプログラムを実行するアプリケーションプログラム実行処理部73とを有している。
リソースモニタ部71は、実行されている各アプリケーションプログラムについて、時々刻々と変化する各リソースの使用状況を各リソースの使用率として提示する。
アプリケーションプログラム情報管理部72は、アプリケーションプログラムの情報として、インストールされているアプリケーションプログラムのプログラム名、各アプリケーションプログラムの実行ファイルのサイズなどを管理している。
アプリケーションプログラム実行処理部73は、補助記憶装置14に記憶(保存)されている複数のアプリケーションプログラムのうち、起動が指示されたアプリケーションプログラムを起動して実行する。また、アプリケーションプログラム実行処理部73は、実行されているアプリケーションプログラムのうち、終了が指示されたアプリケーションプログラムを終了する。
HMI制御部8は、HMIアプリケーションプログラムが実行されることにより実現されるHMI機能(ヒューマンマシンインターフェース機能)の部分である。
ここで、HMI機能とは、ユーザの入力操作に応じた制御機器2への指示の発生と、制御機器2からの各種データの取得と、取得した当該各種データの表示および上記入力操作の受け付けを行うためのHMI画像の表示とを含む機能である。HMI制御部8は、HMI機能として、制御機器2との通信を制御する通信制御部81と、ユーザの操作入力に基づいて各部を制御する操作制御部82と、HMI画像の表示を制御する表示制御部83と、他のアプリケーションプログラムの起動時にHMIアプリケーションプログラムが使用するリソースの使用率(以降「HMIリソース使用率」と称する)を管理するリソース使用率管理部84とを有している。
HMIリソース使用率(HMI計算機資源使用率)は、HMIアプリケーションプログラムが使用しているリソースの使用量の、リソースの総量に対する比率である。また、HMIアプリケーションプログラムを含む実行中のアプリケーションプログラムの全てによって使用されているリソースの使用率(以降「全リソース使用率」と称する)が、上述したリソースモニタ部71から取得できる。この全リソース使用率(全計算機資源使用率)は、実行されている全てのアプリケーションプログラムが使用しているリソースの使用量の、リソースの総量に対する比率である。
リソースの総量のうち、所定量(例えば20%)が、OS7が動作するために常時用いられる。したがって、リソースの総量からOS7に固定的に割り当てられるリソースを除いたリソースが、HMIアプリケーションプログラムを含むアプリケーションプログラムの使用に割り当てられる。このため、アプリケーションプログラムを起動させる際に、OS7の動作が変化することでOS7によるリソース使用率が低下しても、その低下分がアプリケーションプログラムの起動のために用いられることはない。
HMI画像は、制御機器2に接続された装置20の状態を表示したり、タッチパネル9への操作を受け付けたりするための各種のオブジェクトを含む画像である。HMI画像に設けられるオブジェクトとしては、ランプ画像、データ表示器画像、スイッチ画像などの各種の部品画像が用意されている。ランプ画像は、上記装置20のオン・オフを点灯・消灯として表すランプを模した画像である。データ表示器画像は、制御機器2に収集された上記装置20の出力データを表示するデータ表示器を模した画像である。スイッチ画像は、上記装置20のオン・オフを操作するスイッチを模した画像である。このようなHMI画像を表示するための画像データは、PC4において作成され、例えば補助記憶装置14に保存されている。
通信制御部81は、制御機器2の通信プロトコルにしたがって制御機器2との通信を制御する。具体的には、通信制御部81は、操作制御部82からの操作指示を制御機器2に送信したり、制御機器2からデータを取得するために制御機器2にデータ送信を要求したりする。
操作制御部82は、タッチパネル9におけるユーザのタッチによる入力操作に応じた操作指示を発生する。操作指示としては、制御機器2の起動・停止指示、制御機器2に与える制御データの変更、アプリケーションプログラムを起動させる起動指示などがある。操作制御部82は、HMI画像に設けられた起動スイッチのスイッチ画像がタッチされることで起動指示を発生して、OS7に与える。
表示制御部83は、画像データに基づいて表示部10にHMI画像を表示させる制御処理を行う。また、表示制御部83は、通信制御部81を介して取得した制御機器2のデータを、HMI画像に反映させる処理を行う。例えば、表示制御部83は、HMI画像において、上述のランプ画像を点灯・消灯させたり、上述のデータ表示器画像にデータを表示させたりする処理を行う。また、表示制御部83は、上記操作指示に応じてHMI画像の状態を変化させる処理を行う。例えば、表示制御部83は、上述のスイッチ画像を操作する上記操作指示を受けて、当該スイッチ画像の表示状態(色、形状など)を変化させる処理を行う。
リソース使用率管理部84は、少なくともHMI制御部8が動作している状態、すなわち少なくともHMIアプリケーションプログラムが実行されている状態で、他のアプリケーションプログラムが起動されるとき、当該アプリケーションプログラムが円滑に起動されるようにHMIリソース使用率を管理する。
リソース使用率管理部84は、HMIリソース使用率を管理するために、アプリケーションプログラムの起動時に、HMIリソース使用率の低下が可能な幅(低下可能幅)を計算するリソース使用率低下準備部841と、アプリケーションプログラムの起動時に必要に応じてHMIリソース使用率を低下させるリソース使用率低下実行部842とを有している。
リソース使用率低下準備部841(低下可能幅計算部)は、OS7のリソースモニタ部71から取得したHMIリソース使用率と、HMIアプリケーションプログラムの動作に最低限必要なHMIリソース使用率とに基づいて、HMIリソース使用率の低下可能幅を計算する。低下可能幅は、HMIリソース使用率から、HMIアプリケーションプログラムの動作に支障を来さない最低限必要なHMIリソース使用率を減じることで得られる。
リソース使用率低下実行部842(使用率低下実行部)は、リソース使用率低下準備部841によって計算された低下可能幅でHMIリソース使用率を低下させる。
ここで、PC4について説明する。
PC4は、アプリケーションプログラムの実行が可能な汎用のコンピュータである。このPC4は、図2に示すように、ユーザの入力操作に用いられる入力部41を用いてアプリケーションプログラムの操作を行うことで生成された画像データに基づいて、表示部42が画像を表示する。
また、PC4は、コンピュータ機器1に供給する上述の画像データを作成する画像データ作成部43を備えている。
画像データ作成部43は、画像データを作成するためのアプリケーションプログラムが実行されることによって実現される機能部分である。画像データ作成部43は、上述の部品画像、各種の基本図形などのオブジェクトを配置するとともに配置したオブジェクトに各種の設定を行うGUI(Graphical User Interface)を表示部42に表示させる。また、画像データ作成部43は、入力部41を用いたユーザの入力操作を受け付けることによって、ユーザによる画像データの作成を支援する。そして、画像データ作成部43は、作成した画像データをコンピュータ機器1に転送する。上述のように、画像データは、コンピュータ機器1において補助記憶装置14に保存される。
また、画像データ作成部43は、HMI画像からアプリケーションプログラムを起動するための起動スイッチについての設定を行う起動スイッチ設定部431を有している。
起動スイッチ設定部431は、起動するアプリケーションプログラムの実行ファイルの所在を示すパス(EXEパス)と、当該アプリケーションプログラムの実行において利用されるデータファイルのパスとを起動スイッチに対して設定する。
続いて、上記のように構成されるコンピュータ機器1によるHMIリソース使用率を低下させる動作について説明する。
図4は、コンピュータ機器1における表示部10の表示面10aに表示されたHMI画像200を示す図である。図5は、コンピュータ機器1においてアプリケーションプログラムの起動時に行われるHMIリソース使用率を低下させる処理の手順を示すフローチャートである。
HMIアプリケーションプログラムが実行されることにより、HMI制御部8が動作しており、図4に示すように、HMI画像200が表示されている。このHMI画像200には、アプリケーションプログラムを起動する起動スイッチ201がスイッチ画像として設けられている。通常、1つの起動スイッチ201には、1つのアプリケーションプログラムが関連付けられている。他のHMI画像に設けられた、起動スイッチ201と同等の機能を有する起動スイッチにも、1つのアプリケーションプログラムが対応付けられている。すなわち、起動スイッチを有するHMI画像については、起動スイッチが必ず1つのアプリケーションプログラムと対応付けられている。各起動スイッチに対応付けられるアプリケーションプログラムは、全て異なっていてもよいし、一部または全てが同じであってもよい。
この状態から、図5に示すように、リソース使用率管理部84のリソース使用率低下準備部841が、アプリケーションプログラムを起動させる起動指示が発生したか否かを判定する(ステップS1)。起動指示は、HMI画像200における起動スイッチ201がコンピュータ機器1の操作者によってタッチされたときに、タッチパネル9から出力されるタッチ信号に基づいて操作制御部82によって発生する。
リソース使用率低下準備部841は、ステップS1において、起動指示が発生していない状態(NO)では、継続して起動指示の有無を監視し、HMIアプリケーションプログラムは通常動作をする。リソース使用率低下準備部841は、起動指示が発生したと判定すると(YES)、OS7のアプリケーションプログラム実行処理部73にアプリケーションプログラムの起動を待機するように指示する(ステップS2)。
次いで、リソース使用率低下準備部841は、HMIリソース使用率の低下可能幅を計算する(ステップS3)。リソース使用率低下準備部841は、低下可能幅の計算において、OS7のリソースモニタ部71より取得したHMIリソース使用率から、HMIアプリケーションプログラムの動作に支障を来さない最低限必要なHMIリソース使用率を減算する。
リソース使用率低下実行部842は、計算されたHMIリソース使用率の低下可能幅でHMIリソース使用率を低下させる(ステップS4)。リソース使用率低下準備部841は、リソース使用率低下実行部842からHMIリソース使用率の低下が完了したという通知を受けると、アプリケーションプログラム実行処理部73に、アプリケーションプログラムの起動を実行するように指示を与える(ステップS5)。
アプリケーションプログラム実行処理部73は、上記の指示を受けてアプリケーションプログラムの起動を開始させ(ステップS6)、アプリケーションプログラム実行処理部73は、アプリケーションプログラムの起動が完了したか否かを判定する(ステップS7)。アプリケーションプログラム実行処理部73は、ステップS7において、アプリケーションプログラムの起動が完了していない状態(NO)では、継続してアプリケーションプログラムの起動の完了を監視する。また、アプリケーションプログラム実行処理部73が、ステップS7において、アプリケーションプログラムの起動が完了したと判定すると、リソース使用率低下実行部842は、HMIリソース使用率の低下を解除する(ステップS8)。アプリケーションプログラムが起動を完了したときには、リソース使用率低下準備部841が、アプリケーションプログラム実行処理部73から起動完了の通知を受けると、リソース使用率低下実行部842にHMIリソース使用率の低下を解除するように指示を与える。これにより、アプリケーションプログラムが起動を完了して通常の動作状態に移行したときには、HMIリソース使用率が低下前の状態に戻される。そして、ステップS8の後には、処理がステップS1に移行する。
なお、ステップS3において計算された低下可能幅が0である場合、ステップS4,S7,S8の処理は行われない。
続いて、コンピュータ機器1によるHMIリソース使用率の低下の効果について説明する。ここでは、HMIリソース使用率としてCPU11の使用率(CPU使用率)の低下の有無について比較する。
図6は、HMIリソース使用率を低下させない場合および低下させた場合のそれぞれのアプリケーションプログラムのCPU使用率の変化を示すグラフである。図6において、上側のグラフは、HMIリソース使用率を低下させない場合のCPU使用率の変化を示し、下側のグラフは、HMIリソース使用率を低下させた場合のCPU使用率の変化を示している。
なお、OS7がリソースを使用するため、図6に示される、HMIリソース使用率と、起動するアプリケーションプログラムのリソース使用率との総計は、100%にはならない。ここでは、OS7に20%のリソースが割り当てられ、アプリケーションプログラムに80%のリソースが割り当てられている例について説明するが、80%等の数値はあくまで例示であり、OS7に割り当てられているリソースの比率および下記に述べる各アプリケーションプログラムに割り当てられているリソースの比率は適宜変化する。
図6の上側のグラフに示すように、実行中のHMIアプリケーションプログラムのCPU使用率(細線にて示す)をほぼ50%に維持したまま、アプリケーションプログラムを起動する場合、アプリケーションプログラムの起動には、30%程度のCPU使用率(太線にて示す)しかCPU11を使用できないため、起動に時間T1を要する。この場合は、アプリケーションプログラムの起動に割り当てられるリソースが少ないので、アプリケーションプログラムの起動に長時間を要している。
これに対し、図6の下側のグラフに示すように、実行中のHMIアプリケーションプログラムのCPU使用率(細線にて示す)を20%程度にまで低下させた状態で、アプリケーションプログラムを起動する場合、アプリケーションプログラムのCPU使用率(太線にて示す)がほぼ60%近くにまで確保することができるので、起動時間が時間T1のほぼ半分の時間T2まで短縮されている。この場合は、アプリケーションプログラムの起動に割り当てられるリソースが多いので、アプリケーションプログラムの起動時間を大幅に短縮することができる。
以上のように、本実施形態に係るコンピュータ機器1は、リソース使用率低下準備部841、リソース使用率低下実行部842を含むリソース使用率管理部84を備えている。これにより、リソース使用率低下準備部841は、アプリケーションプログラムの起動待機時のHMIリソース使用率およびHMIアプリケーションプログラムの動作に最低限必要なHMIリソース使用率に基づいて、HMIリソース使用率の低下可能幅を算出する。リソース使用率低下実行部842は、リソース使用率低下準備部841によって算出された低下可能幅でHMIリソース使用率を低下させる。
このように、HMI制御部8(リソース使用率管理部84)がOS7から取得した情報に基づいて算出した低下可能幅で、起動するアプリケーションプログラムのサイズに関わらず、HMIリソース使用率を低下させる。これにより、低下した使用率に応じてHMIアプリケーションプログラムの動作に使用されなくなったリソースが、アプリケーションプログラムの起動のために割り当てられる。アプリケーションプログラムの起動時には、補助記憶装置14からメインメモリ12にアプリケーションプログラムをロードするために、リソース使用率が高くなる。それゆえ、低下幅に応じて適切に確保されたリソースを用いて、アプリケーションプログラムを円滑に起動することができる。
続いて、本実施形態の変形例について説明する。
本変形例では、HMIリソース使用率を低下させる要否を判定した上で、低下可能幅の範囲内で最適なHMIリソース使用率の低下幅を決定し、その低下幅でHMIリソース使用率を低下させる。
このため、リソース使用率管理部84は、アプリケーションプログラムの起動時に、HMIリソース使用率を低下させるか否かを判定するとともにHMIリソース使用率の低下幅を決定するリソース使用率低下準備部841に代えて、図2に示すように、リソース使用率低下準備部841aを有している。また、リソース使用率管理部84は、アプリケーションプログラムの起動にリソースを優先的に確保する程度である優先度(以降「起動優先度」と称する)を各アプリケーションプログラムに対応付けた起動優先度テーブル843を有している。
リソース使用率低下準備部841aは、リソース使用率低下準備部841と同様に低下可能幅を計算するだけでなく、上述した全リソース使用率と、起動優先度とに基づいて、HMIリソース使用率の低下の要否を判定する。リソース使用率低下準備部841aは、上記の起動優先度を、上述した起動優先度テーブル843から取得する(後述する「手動モード」)。あるいは、リソース使用率低下準備部841aは、上述したアプリケーションプログラム情報管理部72から取得した実行ファイルのサイズに基づいて算出する(後述する「自動モード」)。
また、リソース使用率低下準備部841aは、HMIリソース使用率を低下させる必要があると判定した場合、起動されるアプリケーションプログラムに対応した起動優先度に基づいてHMIリソース使用率の低下幅を決定する。ただし、リソース使用率低下準備部841aは、低下可能幅の範囲内でHMIリソースの低下幅を決定する。
リソース使用率低下実行部842(使用率低下実行部)は、リソース使用率低下準備部841aがHMIリソース使用率を低下させる必要があると判定したときに、リソース使用率低下準備部841aによって決定された低下幅でHMIリソース使用率を低下させる。
起動優先度テーブル843は、HMIアプリケーションプログラム以外のアプリケーションプログラムと起動優先度とを1対1に対応付けたテーブルである。起動優先度は、例えば、高、中、低の3段階が設けられるが、これには限定されない。また、起動優先度テーブル843における起動優先度は、後述するようにユーザによって予め設定されるのが通常である。
PC4において、画像データ作成部43は、上述の起動優先度を設定する起動優先度設定部432を有している。
起動スイッチ設定部431は、起動するアプリケーションプログラムの実行ファイルの所在を示すパス(EXEパス)と、当該アプリケーションプログラムの実行において利用されるデータファイルのパスとを起動スイッチに対して設定する。
起動優先度設定部432は、起動優先度を設定するために、図3に示すような、HMIリソース使用率を低下させる対象となるアプリケーションプログラムと起動優先度との対応付けに用いられるダイアログボックス100を表示部42に表示させる。ダイアログボックス100は、自動モードおよび手動モードのいずれか一方を選択するラジオボタン101を有している。
自動モードは、上述のように、リソース使用率低下準備部841がアプリケーションプログラム情報管理部72から取得した実行ファイルのサイズに基づいて起動優先度を算出するモードである。手動モードは、ユーザが起動優先度を設定するモードである。
また、起動優先度設定部432は、アプリケーションプログラムの実行ファイルの名称(EXE名)を入力する名称入力ボックス102と、起動優先度を選択するドロップダウンリスト103とを有している。名称入力ボックス102とドロップダウンリスト103とは対をなしており、それぞれ複数設けられている。
起動優先度設定部432は、ダイアログボックスに入力されたEXE名と起動優先度との対応付けをテーブル形式のデータファイルとして作成し、コンピュータ機器1に転送する。このデータファイルには、設定されたモード(自動モードまたは手動モード)のデータも含まれている。
上記のように構成される変形例のコンピュータ機器1によるHMIリソース使用率を低下させる動作について説明する。
図7に示すように、図5に示すステップS3とステップS4との間に、ステップS31〜S33の処理が追加される点が、上述の実施形態と異なる。また、コンピュータ機器1において、HMIアプリケーションプログラムが実行されるときに、起動優先度が設定された上述のデータファイルが読み込まれることにより、リソース使用率管理部84が起動優先度テーブル843を備えるようになる。
ステップS2の後、リソース使用率低下準備部841aは、HMIアプリケーションプログラムを含む全ての実行中のアプリケーションプログラムについての全リソース使用率を、API(Application Program Interface)を利用してOS7のリソースモニタ部71から取得する(ステップS3)。リソース使用率低下準備部841は、取得した全リソース使用率と起動優先度とに基づいて、HMIリソース使用率の低下の必要であるか否かを判定する(ステップS31)。
リソース使用率低下準備部841aは、全リソース使用率と起動優先度との関係に基づいて、HMIリソース使用率の低下の要否を判定する。例えば、全リソース使用率が比較的低く余裕があり(所定の使用率以下)、かつ起動優先度が低い場合、リソース使用率低下準備部841aは、HMIリソース使用率の低下が必要ないと判定する。また、全リソース使用率が所定の使用率を超え、かつ起動優先度が中程度または高い場合、リソース使用率低下準備部841aは、HMIリソース使用率の低下が必要であると判定する。リソース使用率低下準備部841aによるHMIリソース使用率の低下の要否判定については、この判定方法に限定されない。
手動モードが設定されている場合、リソース使用率低下準備部841aは、ステップS4の判定において、起動優先度テーブル843から取得した起動優先度を用いる。一方、自動モードが設定されている場合、リソース使用率低下準備部841aは、ステップS32の判定において、アプリケーションプログラム情報管理部72からAPIを利用して取得した実行ファイルのサイズに基づいて起動優先度を決定して用いる。具体的には、リソース使用率低下準備部841aは、実行ファイルのサイズが第1閾値より大きいと判断したときに、起動優先度を「高」に決定する。また、リソース使用率低下準備部841aは、実行ファイルのサイズが、第1閾値以下であり、かつ第1閾値より小さい第2閾値以上であると判断したときに、起動優先度を「中」に決定する。そして、リソース使用率低下準備部841aは、実行ファイルのサイズが第2閾値より小さいと判断したときに、起動優先度を「低」に決定する。なお、自動モードにおける起動優先度の決定方法は、上記の例に限定されず、種々の方法が採用できる。
リソース使用率低下準備部841aは、ステップS32において、HMIリソース使用率の低下が必要であると判定すると(YES)、上記の判定に用いた起動優先度に基づいて、計算したHMIリソース使用率の低下可能幅の範囲内でHMIリソース使用率の低下幅を決定する(ステップS33)。例えば、リソース使用率低下準備部841aは、必要な低下幅が、低下可能幅以上である場合、低下可能幅を必要な低下幅として決定し、必要な低下幅が低下可能幅より小さい場合は、必要な低下幅を低下幅として決定する。
そして、ステップS6において、リソース使用率低下実行部842は、決定されたHMIリソース使用率の低下幅でHMIリソース使用率を低下させる。
また、リソース使用率低下準備部841は、ステップS32において、HMIリソース使用率の低下の必要でないと判定すると(NO)、処理をステップS5に移行する。
ここで、ステップS33の処理の詳細について説明する。
リソース使用率低下準備部841aは、まず、全リソース使用率の下記の3つの大きさに応じてHMIリソース使用率の低下幅を調整する。
なお、ここでは、HMIアプリケーション使用率の低下可能幅が十分に大きい場合について説明する。
(1)全リソース使用率が高い場合
この場合は、HMIアプリケーションプログラム以外に他のアプリケーションプログラムが実行されており、他のアプリケーションプログラムのリソース使用率が高いことが考えられるので、HMIリソース使用率の低下幅を大きくする(例えば低下可能幅の100%)。これにより、実行中のアプリケーションプログラムの実行速度を低下させることなく、アプリケーションプログラムを円滑に起動できるリソースを確保することができる。
(2)全リソース使用率に占めるHMIリソース使用率が高い場合
この場合は、HMIアプリケーションプログラム以外に他のアプリケーションプログラムが実行されてないか、あるいは実行されていても他のアプリケーションプログラムのリソース使用率が低いことが考えられるので、HMIリソース使用率の低下幅を中程度にする(例えば低下可能幅の40%)。これにより、アプリケーションプログラムを円滑に起動できるリソースを確保することができる。
(3)全リソース使用率に占めるユーザ権限実行プロセスのリソース使用率が高い場合
リソースを使用するプロセスには、アプリケーションプログラムが実行されることによって実行されるユーザ権限実行プロセスと、OS7が実行するプロセスがある。このうち、OS7が実行するプロセスは、上述のように一定の割合で使用できるリソースが割り当てられている。これに対し、ユーザ権限で実行されているプロセスは、アプリケーションプログラムの起動によってリソースの余裕が少なくなって動作に影響を受けることがあっても、支障のないことが多い。そこで、この場合は、HMIリソース使用率の低下幅を小さくする(例えば低下可能幅の20%)。これにより、アプリケーションプログラムの起動に割り当てることができるリソースを増やすことができる。
上記のように、HMIリソース使用率の低下幅の調整を全リソース使用率に基づいて行うことにより、リソースの使用実態に即してアプリケーションプログラムの起動に割り当てることができるリソースを増やすことができる。
なお、上記の各場合について付記したHMIリソース使用率の低下幅の値は、一例であって、これには限定されない。HMIリソース使用率の低下幅は、リソースの総量(CPU11の能力およびメインメモリ12の容量)に基づいて決定されるからである。
また、リソース使用率低下準備部841は、HMIリソース使用率が同じである場合、起動優先度が高いほどHMIリソース使用率の低下幅が大きくなるように、HMIリソース使用率の低下幅を決定するが、(1)〜(3)の場合について、それぞれ起動優先度に応じた調整を行う。例えば、(1)〜(3)の場合でそれぞれ定められた低下幅を、起動優先度が高い場合にはより大きくし、起動優先度が中である場合には維持し、起動優先度が低い場合にはより小さくする。
このように、起動優先度を反映させることにより、HMIリソース使用率の低下幅を、アプリケーションプログラムの起動に適した値に調整することができる。
以上のように、本変形例に係るコンピュータ機器1は、リソース使用率低下準備部841a、リソース使用率低下実行部842および起動優先度テーブル843を含むリソース使用率管理部84を備えている。これにより、リソース使用率低下準備部841aは、アプリケーションプログラムの起動時に、全リソース使用率および起動優先度に基づいて、HMIリソース使用率を低下させるか否かを判定するとともに、HMIリソース使用率を低下させると判定したときのHMIリソース使用率の低下幅を決定する。リソース使用率低下実行部842は、リソース使用率低下準備部841によってHMIリソース使用率を低下させる必要があると判定されたときに、リソース使用率低下準備部841によって決定された低下幅でHMIリソース使用率を低下させる。
このように、HMI制御部8(リソース使用率管理部84)がOS7から情報を取得して、全リソース使用率および起動優先度に応じてHMIリソース使用率を低下させる。これにより、低下した使用率に応じてHMIアプリケーションプログラムの動作に使用されなくなったリソースが、アプリケーションプログラムの起動のために割り当てられる。それゆえ、起動優先度の高いアプリケーションプログラムでは、リソースの割り当てを多くし、起動優先度の低いアプリケーションプログラムではリソースの割り当てを少なくすることができる。
アプリケーションプログラムの起動時には、補助記憶装置14からメインメモリ12にアプリケーションプログラムをロードするために、リソース使用率が高くなる。それゆえ、低下幅に応じて適切に確保されたリソースを用いて、アプリケーションプログラムを円滑に起動することができる。
これは、特にサイズの大きいアプリケーションプログラムに対して有効である。例えば、動画を再生する動画再生アプリケーションプログラム、PLC機能を汎用のパーソナルコンピュータで実現するPLCアプリケーションプログラム(いわゆる「ソフトウェアPLC」)などのサイズの大きいアプリケーションプログラムを短時間で起動することができる。また、上記のアプリケーションプログラムほどリソース使用率が高くないPDF(Portable Document Format)プログラムや表計算プログラムのようなアプリケーションプログラムについては、HMIリソース使用率の低下幅を小さくする。そして、テキスト作成アプリケーションプログラムなどのリソース使用率が低いアプリケーションプログラムについては、HMIリソース使用率の低下幅をさらに小さくする。
また、自動モードにおいては、リソース使用率低下準備部841が、アプリケーションプログラム情報管理部72から取得した実行ファイルのサイズに基づいて起動優先度を算出する。これにより、ユーザによる起動優先度の設定が必要なく、実行ファイルのサイズの大きいアプリケーションプログラムであるほど、大きいHMIリソース使用率の低下幅が定められる。
一方、手動モードにおいては、リソース使用率低下準備部841が、起動優先度テーブル843からユーザによって設定された起動優先度を取得する。これにより、ユーザが所望に設定した起動優先度に基づいて、HMIリソース使用率を低下させることができる。また、例えば、上述のようなサイズの大きいアプリケーションプログラムであっても、起動時間を短縮する必要がない場合には、起動優先度を設定しないことも可能となる。
なお、本実施形態では、CPU11およびメインメモリ12の双方のHMIリソース使用率を低下させるが、これには限定されない。例えば、メインメモリ12の容量が十分大きい場合は、CPU11のみのHMIリソース使用率を低下させてもよいし、高性能のCPU11を使用する場合は、メインメモリ12のみのHMIリソース使用率を低下させてもよい。
また、本実施形態では、起動優先度を定めるモードとして自動モードと手動モードとを選択できるようにしているが、自動モードおよび手動モードとは異なる規定モードを設け、これらの3つのモードから1つを選択できるようにしてもよい。規定モードは、アプリケーションプログラムごとに予め定められた規定の起動優先度を用いるモードである。
そして、本実施形態では、起動スイッチ201の操作によってアプリケーションプログラムを起動させる例について説明したが、アプリケーションプログラムの起動はこれに限定されない。例えば、起動スイッチ201の操作以外の何らかのトリガ、例えば、制御機器2またはI/O機器3から取得するデータ(ビット、数値など)の変化に応じてアプリケーションプログラムを起動するようにしてもよい。
〔実施形態2〕
本発明の他の実施形態について図1、図8および図9に基づいて説明すると、以下の通りである。なお、本実施形態において、実施形態1における構成要素と同等の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
HMIアプリケーションプログラムは、シングルタスクから構成されるものもあるが、複数のタスクから構成されるものもある。本実施形態では、HMIアプリケーションプログラムが複数のタスクから構成されている場合、HMIアプリケーションプログラムのタスクに応じてHMIリソース使用率の低下が可能か否か定めるようにしている。
ここで、各タスクが使用するリソースの使用率は、各タスクが使用するリソースの使用量の、リソースの総量に対する比率であるタスクリソース使用率(タスク計算機資源使用率)で規定される。また、HMIリソース使用率は、タスクリソース使用率の全てのタスクについての総計である。
図8は、本実施形態に係るコンピュータ機器1Aの構成を示すブロック図である。図9は、コンピュータ機器1Aに設けられた使用率低下可否テーブル844の構成を示す図である。
図1に示すように、コンピュータ機器1A(計算機資源使用制御装置)は、実施形態1におけるコンピュータ機器1と同様、CPU11と、メインメモリ12と、ROM13と、補助記憶装置14と、入力部15と、出力部16と、インターフェース部17とを備えている。また、図8に示すように、コンピュータ機器1Aは、コンピュータ機器1と同様、OS7が実装されるとともに、入力部15としてタッチパネル9が設けられ、出力部16として表示部10が設けられているが、HMI制御部8(図2参照)の代わりにHMI制御部8Aが設けられている。
HMI制御部8Aは、HMI制御部8と同様、通信制御部81、操作制御部82および表示制御部83を有しているが、リソース使用率管理部84に代えてリソース使用率管理部84Aを有している。リソース使用率管理部84Aは、リソース使用率管理部84と同様、リソース使用率低下準備部841、リソース使用率低下実行部842および起動優先度テーブル843を有している。リソース使用率管理部84Aは、さらにタスクリソース使用率の低下の可否およびタスクの停止の可否をHMIアプリケーションプログラムのタスクごとに定めた使用率低下可否テーブル844を有している。
使用率低下可否テーブル844は、図9に示すように、タスクリソース使用率の低下の可否およびタスクの停止の可否をHMIアプリケーションプログラムのタスクごとに定めたテーブルである。ここで、使用率低下の“×”は、タスクリソース使用率を低下させるリソース低下率が0%であることを意味し、タスクの停止は、タスクがその処理を行わない状態であり、リソース低下率が100%であることを意味する。
図9に示す例では、Aタスクは、停止が可能(○)であるので、タスクリソース使用率の低下も可能(○)であり、BタスクおよびCタスクはHMIリソース使用率の低下のみが可能(○)であり、Dタスクは停止およびタスクリソースの使用率低下の双方が不可能(×)である。また、使用率低下可否テーブル844は、タスクリソース使用率の低下が可能なタスクについては、最大低下可能率であるリソース低下可能率も併せ持つ。また、BタスクとCタスクとでは低下可能率が異なり、Bタスクの低下可能率がCタスクの低下可能率より大きい。
なお、以降の説明では、タスクリソース使用率の低下および停止のいずれもが可能なタスクを停止可能タスクと称し、タスクリソース使用率の低下のみが可能なタスクを使用率低下可能タスクと称する。
リソース使用率管理部84Aにおいて、リソース使用率低下実行部842は、使用率低下可否テーブル844を参照して、HMIアプリケーションプログラムのタスクのうち、リソース使用率低下準備部841によって決定された低下幅を満たすように、停止可能タスクおよび使用率低下可能タスクの少なくとも一方を選択し、選択した停止可能タスクを停止させ、選択した使用率低下可能タスクのタスクリソース使用率を低下させる。
使用率低下可能タスクとしては、データサンプリングタスク、アラームタスクなどが挙げられ、停止可能タスクとしては、遠隔モニタリングタスク、画像表示タスク、アラームタスクなどが挙げられる。
データサンプリングタスクは、制御機器2などから一定周期でデータを収集するタスクである。データサンプリングタスクは、一時的に処理をしない状態となったり、遅くしたり(処理周期の長期化)、スキップ(間引き)したりすることでサンプリングのタイミングがずれても、システム稼働上は致命的な欠陥とはならない場合があり、そのような場合に使用率低下可能タスクとして扱うことができる。
遠隔モニタリングタスクは、遠隔地からHMI制御部8の動作状況をモニタリングするタスクである。遠隔モニタリングタスクは、一時的に中断しても、すなわちアプリケーションが起動する数秒〜数十秒間中断しても、システム稼働に致命的な影響を及ぼさないので、停止可能なタスクとして扱うことができる。
画像表示タスクは、表示制御部83が行う画像表示処理のタスクであり、一時的に停止しても差し支えない場合は、停止可能なタスクとして扱うことができる。
アラームタスクは、コンピュータ機器1Aの内部、制御機器2などで発生したアラームを取得して必要に応じて出力するタスクである。アラームタスクは、アラームに対して即時に対応するためにリアルタイムにアラームを発報する必要があるようなシステム設計がされている場合は一時停止できない。しかしながら、アラームタスクは、このようなシステム設定がされていない場合、一時停止可能であるので、停止可能なタスクとして扱うことができる。
データ通信タスク、I/O制御タスクなどの、システム稼働の都合上で停止させることもタスクリソース使用率を低下させることもできない重要なタスクは、停止可能タスクおよび使用率低下可能タスクとして扱うことができない。
以上の各タスクの扱いは、あくまでも例示であって、使用率低下可能タスクおよび停止可能タスクは、ユーザの使用環境やシステム、その他各種条件によって適宜設定可能である。
上記のように構成されるコンピュータ機器1Aにおいて、リソース使用率低下実行部842は、HMIリソース使用率を低下させる際にタスク単位でリソース使用率を低下させる。リソース使用率低下実行部842は、使用率低下可否テーブル844を参照して、まず、停止可能タスクのみでHMIリソース使用率の低下幅を満たすことができるか判定する。また、リソース使用率低下実行部842は、停止可能タスクのみでHMIリソース使用率の低下幅を満たすことができないと判定した場合には、選択したタスクのリソース低下率の総和がHMIリソース使用率の低下幅を超えるまで、さらに使用率低下可能タスクをリソース低下率が高いものから選択していく。これにより、HMIリソース使用率の低下幅の広い範囲に対してHMIリソース使用率を低下させることができる。
あるいは、リソース使用率低下実行部842は、HMIリソース使用率をタスク単位で低下させるときに、使用率低下可否テーブル844を参照して、まず、使用率低下可能タスクのみでHMIリソース使用率の低下幅を満たすことができるか判定する。また、リソース使用率低下実行部842は、使用率低下可能タスクのみでHMIリソース使用率の低下幅を満たすことができないと判定した場合には、選択したタスクのリソース低下率の総和がHMIリソース使用率の低下幅を超えるまで、さらに停止可能タスクをリソース低下率が高いものから選択していく。これにより、HMIリソース使用率の低下幅の広い範囲に対してHMIリソース使用率を低下させることができるだけでなく、停止させるタスクをできるだけ少なくすることができる。
また、リソース使用率低下実行部842は、使用率低下可能タスクのみでHMIリソース使用率の低下幅を満たすことができないと判定した場合には、重要度の低いタスクから順にタスクリソース使用率をこれらのタスクリソース使用率の総計分だけ低下させ、タスクリソース使用率を低下させることが可能なタスクであっても重要度の高いタスクの前記タスク計算機資源使用率を低下させない。
ところで、低下可能なタスクリソース使用率の総計であるHMIリソース使用率低下可能幅、すなわちHMIリソース使用率の低下の上限は、タスクリソース使用率を低下することができないタスクが多く存在するほど低くなる。したがって、HMIリソース使用率の低下の上限が低い場合、すなわちタスクリソース使用率を低下させずに動作させるタスクが多数存在する場合、起動するアプリケーションプログラムのサイズによっては、HMIリソース使用率の必要な低下幅を満たす程度にHMIリソース使用率を低下させることができないことがある。このように必要な低下幅を満たすことができない場合、リソース使用率低下実行部842は、採り得る最大の低下幅を実現するように、使用率低下可能タスクおよび停止可能タスクを選択する。
一方、HMIリソース使用率の必要な低下幅よりもHMIリソース使用率低下可能幅が大きい場合、リソース使用率低下実行部842は、停止可能タスクおよび使用率低下可能タスクの選択において、優先度の低い順から低下あるいは停止の選択をしていってもよい。例えば、優先度は、停止およびリソース使用率低下がシステム稼働に与える影響、システム設計などに応じて適宜設定される。この優先度は、使用率低下可否テーブル844においてタスクごとに設定される。
なお、HMI制御部8Aは、図7に示すステップS31〜S33の処理を行わない場合、タスクの停止および使用率低下を可能な全てのタスクに対して行い、それに応じて確保されたリソースをアプリケーションプログラムの起動に割り当てることもある。
以上のように、本実施形態に係るコンピュータ機器1Aは、リソース使用率低下準備部841、リソース使用率低下実行部842、起動優先度テーブル843および使用率低下可否テーブル844を含むリソース使用率管理部84Aを備えている。
これにより、コンピュータ機器1と同様、リソース使用率低下準備部841が、アプリケーションプログラムの起動時に、HMIリソース使用率を低下させるか否かを判定するとともに、HMIリソース使用率の低下時のHMIリソース使用率の低下幅を決定し、リソース使用率低下実行部842が、HMIリソース使用率の低下時に上記の低下幅でHMIリソース使用率を低下させる。それゆえ、起動優先度に応じてアプリケーションプログラムの起動のために必要なリソースが確保される。したがって、確保されたリソースを用いて、アプリケーションプログラムを円滑に起動することができる。
また、リソース使用率低下実行部842が、使用率低下可否テーブル844を参照して、HMIリソース使用率の低下幅に見合う、停止可能タスクおよび/または使用率低下可能タスクを適宜選択する。これにより、選択したタスクについてのみ停止またはHMIリソース使用率を低下させて、HMIアプリケーションプログラムの根幹をなすシステム稼働上で重要なタスクのHMIリソース使用率を低下させないようにすることができる。これにより、HMI制御部8Aの機能が完全に停止するという事態を回避しながら、アプリケーションプログラムの起動のために必要なリソースを確保することができる。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明は、HMIアプリケーションプログラムと他のアプリケーションプログラムとを併せて実行する汎用のコンピュータ機器に利用することができる。
1,1A コンピュータ機器(計算機資源使用制御装置)
8,8A HMI制御部
11 CPU
12 メインメモリ
84,84A リソース使用率管理部
841 リソース使用率低下準備部(低下可能幅計算部)
842 リソース使用率低下実行部(使用率低下実行部)
843 起動優先度テーブル
844 使用率低下可否テーブル

Claims (5)

  1. アプリケーションプログラムの起動に計算機資源を用いるために、ヒューマンマシンインターフェース機能を実現するHMIアプリケーションプログラムが使用している計算機資源の使用量の、当該計算機資源の総量に対する比率であるHMI計算機資源使用率を低下させることができる低下可能幅を計算する低下可能幅計算部と、
    前記低下可能幅計算部によって計算された前記低下可能幅で前記HMI計算機資源使用率を低下させる使用率低下実行部とを備えていることを特徴とする計算機資源使用制御装置。
  2. 前記HMIアプリケーションプログラムが複数のタスクから構成され、
    前記HMI計算機資源使用率は、前記計算機資源を各タスクが使用する使用量の、前記計算機資源の総量に対する比率であるタスク計算機資源使用率の総計であり、
    各タスクには、前記タスク計算機資源使用率の低下の可否が定められており、
    前記使用率低下実行部は、前記タスク計算機資源使用率を低下させることが可能なタスクについてのみ前記タスク計算機資源使用率を低下させることを特徴とする請求項1に記載の計算機資源使用制御装置。
  3. 前記使用率低下実行部は、低下させる前記タスク計算機資源使用率の総計がHMI計算機資源使用率の必要とされる低下幅を満たさないときに、前記タスク計算機資源使用率を前記総計だけ低下させることを特徴とする請求項2に記載の計算機資源使用制御装置。
  4. 前記使用率低下実行部は、低下可能である前記タスク計算機資源使用率の総計がHMI計算機資源使用率の必要とされる低下幅より大きいときに、重要度の低いタスクから順に前記タスク計算機資源使用率を低下させることを特徴とする請求項2に記載の計算機資源使用制御装置。
  5. 前記低下可能幅計算部は、起動される前記アプリケーションプログラムの実行ファイルのサイズに基づいて前記アプリケーションプログラムの起動に前記計算機資源を優先的に割り当てる程度である起動優先度を算出することを特徴とする請求項1から4のいずれか1項に記載の計算機資源使用制御装置。
JP2015032297A 2015-02-20 2015-02-20 計算機資源使用制御装置 Pending JP2016153986A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015032297A JP2016153986A (ja) 2015-02-20 2015-02-20 計算機資源使用制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015032297A JP2016153986A (ja) 2015-02-20 2015-02-20 計算機資源使用制御装置

Publications (1)

Publication Number Publication Date
JP2016153986A true JP2016153986A (ja) 2016-08-25

Family

ID=56761030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015032297A Pending JP2016153986A (ja) 2015-02-20 2015-02-20 計算機資源使用制御装置

Country Status (1)

Country Link
JP (1) JP2016153986A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6639706B1 (ja) * 2018-04-25 2020-02-05 三菱電機株式会社 情報処理装置、システム構築支援方法およびシステム構築支援プログラム
JP2021039611A (ja) * 2019-09-04 2021-03-11 トヨタ自動車株式会社 車両の制御装置、車両の制御方法及び制御プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6639706B1 (ja) * 2018-04-25 2020-02-05 三菱電機株式会社 情報処理装置、システム構築支援方法およびシステム構築支援プログラム
JP2021039611A (ja) * 2019-09-04 2021-03-11 トヨタ自動車株式会社 車両の制御装置、車両の制御方法及び制御プログラム
JP7259656B2 (ja) 2019-09-04 2023-04-18 トヨタ自動車株式会社 車両の制御装置、車両の制御方法及び制御プログラム

Similar Documents

Publication Publication Date Title
US10437631B2 (en) Operating system hot-switching method and apparatus and mobile terminal
US10628216B2 (en) I/O request scheduling method and apparatus by adjusting queue depth associated with storage device based on hige or low priority status
JP5723968B2 (ja) 便宜的マルチタスキング
US20190188030A1 (en) Terminal background application management method and apparatus
US9760413B2 (en) Power efficient brokered communication supporting notification blocking
JP5842976B2 (ja) 電源装置、プログラムおよび制御方法
US20080301673A1 (en) Information Terminal, Computer Resource Managine Method, and Virtual Machine Execution Switching Method
US20140149984A1 (en) Information processing apparatus, information processing method, and computer readable medium
JP5970461B2 (ja) 仮想計算機制御装置、仮想計算機制御方法、仮想計算機制御プログラム、及び集積回路
JP2016153986A (ja) 計算機資源使用制御装置
JP2008204243A (ja) ジョブ実行制御方法およびシステム
US9910698B2 (en) Information processing apparatus, information processing method, and program
KR20160061726A (ko) 인터럽트 핸들링 방법
CN108140363B (zh) 基于翻转队列管理的图形上下文调度
KR20160026651A (ko) 호스트 장치에 의해 기억 장치의 작업을 관리하는 방법 및 시스템
JP2012141698A (ja) 情報処理装置、情報処理方法、プログラム
TWI582573B (zh) 電腦系統及電源管理方法
JP2018084865A (ja) 表示制御装置、および表示システム
JP2011145967A (ja) Cpuリソース管理システム
KR20160076148A (ko) 가상 머신 환경에서의 입출력 방법
CN114168290A (zh) 一种任务处理方法、装置、电子设备及存储介质
JPWO2014125580A1 (ja) 機器管理装置、周波数制御方法及びプログラム
JP2018151968A (ja) 管理装置、分散システム、管理方法、及びプログラム
JP2018180592A (ja) 監視システム、デバイス及びエンジニアリングツール
JP2006227801A (ja) プログラム起動方法