(57)【要約】【課題】表示画像の大幅な更新に際しても、制御信号を遅延なく制御サイクル内で生成する。【解決手段】ＩＰＣ３０は、表示器の画面に表示させるモニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えているかどうかを判断する。ＩＰＣ３０は、モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えていれば、表示器の画面に表示させている更新前のモニタ画像を、複数の更新周期に亘って、段階的に更新後のモニタ画像に更新する。【選択図】図４
2019075111.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御周期で制御するシーケンス制御、および表示器の画面に表示させるモニタ画像を更新周期で更新するモニタ画像制御を実行する演算処理部と、
前記演算処理部が前記シーケンス制御、および前記モニタ画像制御の実行に際してアクセスする記憶部と、を備え、
前記演算処理部は、
前記表示器の画面に表示させる前記モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えているかどうかを判断する判断機能と、
前記判断機能によって、前記モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えていると判断した場合、前記表示器の画面に表示させている更新前の前記モニタ画像を、複数の前記更新周期に亘って、段階的に更新後の前記モニタ画像に更新する段階更新機能と、
を有する、情報処理装置。
【請求項２】
前記段階更新機能は、前記モニタ画像を複数の部分領域に区分する区分データを用い、前記更新周期毎に、前記部分領域を順次選択し、更新前の前記モニタ画像に対して、今回選択した部分領域を更新後の前記モニタ画像に順次置き換える、請求項１に記載の情報処理装置。
【請求項３】
前記演算処理部は、
１つ以上のユーザインタフェース部品について配置位置が設定されたレイアウトに応じて、前記モニタ画像を生成するモニタ画像生成機能を有し、
前記判断機能は、更新前の前記モニタ画像と、更新後の前記モニタ画像との間で、前記レイアウトが異なる場合、前記モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えていると判断する、請求項１、または２に記載の情報処理装置。
【請求項４】
前記判断機能は、更新前の前記モニタ画像と、更新後の前記モニタ画像との差分を示す相違レベルによって、前記モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えているかどうかを判断する、請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
前記相違レベルは、更新前の前記モニタ画像と、更新後の前記モニタ画像とにおいて、対応する画素間で画素値が異なる画素の総数である、請求項４に記載の情報処理装置。
【請求項６】
制御対象を制御周期で制御するシーケンス制御、および表示器の画面に表示させるモニタ画像を更新周期で更新するモニタ画像制御を実行する演算処理部が、
前記表示器の画面に表示させる前記モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えているかどうかを判断する判断ステップと、
前記判断ステップで、前記モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えていると判断した場合、前記表示器の画面に表示させている更新前の前記モニタ画像を、複数の前記更新周期に亘って、段階的に更新後の前記モニタ画像に更新する段階更新ステップと、
を実行する画像表示方法。
【請求項７】
制御対象を制御周期で制御するシーケンス制御、および表示器の画面に表示させるモニタ画像を更新周期で更新するモニタ画像制御を実行する演算処理部に、
前記表示器の画面に表示させる前記モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えているかどうかを判断する判断ステップと、
前記判断ステップで、前記モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えていると判断した場合、前記表示器の画面に表示させている更新前の前記モニタ画像を、複数の前記更新周期に亘って、段階的に更新後の前記モニタ画像に更新する段階更新ステップと、
を実行させる画像表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンス制御、およびモニタ画像制御を実行するコンピュータにかかる技術に関する。
【背景技術】
【０００２】
従来、ＰＬＣ（ProgrammableLogic Controller）機能と、ＨＭＩ（HumanMachine Interface）機能とを備えて、機械や設備等の制御対象の動作を制御するＰＬＣシステムがあった。ＰＬＣ機能は、機械や設備等の制御対象に応じて設計されたユーザプログラム（シーケンス制御プログラム）を制御周期（制御サイクル）で実行し、制御対象の動作を制御する機能である。ＨＭＩ機能は、ＰＬＣ機能が制御している制御対象の状態等を示すモニタ画像を表示器の画面に表示するとともに、ユーザの入力操作を受け付ける機能である。ユーザは、表示器の画面上に貼付されたタッチパネル等の入力デバイスを操作する。
【０００３】
ＰＬＣ機能は、制御対象からの入力信号及びＨＭＩ機能で受け付けたユーザの入力操作に応じて、制御対象に対する制御信号を作成する。ＰＬＣ機能は、作成した制御信号を制御対象に出力することにより、制御対象を制御する。また、ＨＭＩ機能は、表示器の画面に表示されているモニタ画像を更新周期で更新する。ＰＬＣ機能における制御周期と、ＨＭＩ機能における更新周期とは、個別に設定されている。
【０００４】
また、ＰＬＣ機能は、制御周期を一定にすることで、制御対象の動作に対する制御指令が安定する。すなわち、ＰＬＣ機能が制御周期を一定にすることで、制御対象の動作が安定する。特許文献１には、ＰＬＣにおいて、シーケンスプログラム実行時間と、入出力リフレッシュ時間の和であるスキャンタイムを一定化する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１０５６０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＰＬＣ機能、およびＨＭＩ機能を、ＣＰＵ、メモリ、内部バス等のリソースを共有して実現した産業用情報処理装置（ＩＰＣ（Industrial PersonalComputer)）がある。このＩＰＣは、ＨＭＩ機能により表示器の画面に表示させるモニタ画像の変化が大きくなるにつれて、このＨＭＩ機能におけるリソースの占有率が高くなる。ＨＭＩ機能におけるリソースの占有率が高くなると、必然的にＰＬＣ機能におけるリソースの占有率が低くなる。ＰＬＣ機能は、リソースの占有率が低下するにつれて、ユーザプログラムの実行時間が長くなる。したがって、ＨＭＩ機能におけるリソースの占有率がある程度まで高くなると、ＰＬＣ機能が制御対象の動作を制御周期で制御できない（ユーザプログラムを１周期の間に実行できない。）事態が生じる。このような事態が生じると、ＰＬＣ機能によって制御されている制御対象の動作が不安定になる。
【０００７】
本発明の目的は、制御対象の動作が、表示器の画面に表示させるモニタ画像の更新によって、不安定になるのを抑制する技術を提供することにある。
【課題を解決するための手段】
【０００８】
この発明の情報処理装置は、上記目的を達するために、以下のように構成している。
【０００９】
情報処理装置は、演算処理部、および記憶部を有している。演算処理部、および記憶部は、制御対象を制御周期で制御するシーケンス制御、および表示器の画面に表示させるモニタ画像を更新周期で更新するモニタ画像制御において、共有されるリソースである。モニタ画像は、例えば、シーケンス制御されている制御対象の状態、および情報処理装置本体に対する操作案内等にかかるＨＭＩ（Human Machine Interface）画像である。制御周期と、更新周期とは、個別に設定されるものであり、同じであってもよいし、異なっていてもよい。
【００１０】
また、演算処理部は、以下に示す、判断機能、および段階更新機能を有している。判断機能は、表示器の画面に表示させるモニタ画像の更新時に、この更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えているかどうかを判断する。例えば、判断機能は、更新前のモニタ画像と、更新後のモニタ画像との差分を示す相違レベルによって、モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えているかどうかを判断する構成にすればよい。この場合、相違レベルは、例えば、更新前のモニタ画像と、更新後のモニタ画像とにおいて、対応する画素間で画素値が異なる画素の総数を用いればよい。判断機能は、更新前のモニタ画像と、更新後のモニタ画像とにおいて、対応する画素間で画素値が異なる画素の総数が、設定している上限数を超えていれば、モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えていると判断すればよい。
【００１１】
また、段階更新機能は、判断機能によってモニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えていると判断された場合、表示器の画面に表示させている更新前のモニタ画像を、複数の更新周期に亘って、段階的に更新後のモニタ画像に更新する。
【００１２】
このように、情報処理装置は、モニタ画像の更新にかかる処理負荷が予め定めた上限レベルを超える大きさであると判断すると、複数の更新周期に亘って、モニタ画像の更新を行う。すなわち、モニタ画像の更新にかかる処理負荷が大きいときには、その処理負荷を単一の更新周期に集中させるのではなく、複数の更新周期に分散させる。これにより、情報処理装置は、モニタ画像制御におけるリソースの占有率が高くなり、シーケンス制御におけるリソースの占有率が低くなって、制御対象を制御周期で制御することができないという事態が生じるのを抑制できる。すなわち、制御対象の動作が、表示器の画面に表示させるモニタ画像の更新によって、不安定になるのを抑制できる。
【００１３】
また、段階更新機能は、例えば、モニタ画像を複数の部分領域に区分する区分データを用い、更新周期毎に、部分領域を順次選択し、更新前の前記モニタ画像に対して、今回選択した部分領域を更新後のモニタ画像に順次置き換える、構成にしてもよい。
【００１４】
さらに、モニタ画像制御部が、１つ以上のユーザインタフェース部品について配置位置が設定されたレイアウトに応じて、モニタ画像を生成するモニタ画像生成部を有し、判断機能が、更新前のモニタ画像と、更新後のモニタ画像との間で、レイアウトが異なる場合、モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えていると判断する、構成にしてもよい。
【００１５】
通常、レイアウトが異なるモニタ画像間では、対応する画素間で画素値が異なっている画素が多い。したがって、モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えているかどうかを、レイアウトの変更の有無を判断するという簡単な処理で実現できる。
【発明の効果】
【００１６】
本発明によれば、制御対象の動作が、表示器の画面に表示させるモニタ画像の更新によって、不安定になるのを抑制できる。
【図面の簡単な説明】
【００１７】
【図１】この例にかかる情報処理装置を適用した産業用ネットワークシステムの概要を示すブロック図である。
【図２】この例にかかるＩＰＣの主要部の構成を示すブロック図である。
【図３】シーケンス制御プログラムの実行時間と、制御対象の制御周期と、の関係を示す図である。
【図４】この例にかかるＩＰＣの制御ユニットが有するＨＭＩ制御部の機能ブロックを示すである。
【図５】この例にかかる描画制御機能の詳細を示す図である。
【図６】図６（Ａ）は、ディスプレイ４０の画面に表示されているモニタ画像を画像Ａから画像Ｂへ一度に更新した例であり、図６（Ｂ）は、図６（Ａ）に示すモニタ画像の更新時におけるＨＭＩ機能のリソースの占有率を示し、図６（Ｃ）は、ディスプレイ４０の画面に表示されているモニタ画像を画像Ａから画像Ｂへ４段階に分けて更新した例であり、図６（Ｄ）は、図６（Ｃ）に示すモニタ画像の更新時におけるＨＭＩ機能のリソースの占有率を示し、図６（Ｅ）は、画像Ｂの分割を示す図である。
【図７】図７（Ａ）は、ディスプレイ４０が画像Ａから画像Ｂへ１回の更新周期で書き換えた場合を示す遷移図である。図７（Ｂ）は、分割処理のための部分領域（１）〜（４）を示す図で、図７（Ｃ）〜図７（Ｆ）は、更新周期毎に部分領域の画像データが順番に書き換えられていく様子を示す図である。
【図８】この例にかかるモニタ画像更新処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
図１は、本発明の実施形態に係る情報処理装置を適用した産業用ネットワークシステムの概要を示すブロック図である。この例にかかる産業用ネットワークシステム１は、パーソナルコンピュータ１０（ＰＣ１０）と、産業用パーソナルコンピュータ３０（ＩＰＣ（Industrial PersonalComputer)３０）と、ディスプレイ４０と、制御対象５０と、を備えている。
【００１９】
この例では、ＩＰＣ３０は、イーサネット（登録商標）２０でＰＣ１０と接続されており、ＰＣ１０との間で情報の入出力が行える。また、ＩＰＣ３０は、EtherCAT（登録商標）２１で制御対象５０と接続されており、制御対象５０との間で情報の入出力が行える。EtherCAT（登録商標）２１は、産業用のオープンなネットワークで、フィールドネットワークとして利用されているものである。ＩＰＣ３０には、１つ以上の制御対象５０が接続される。ＩＰＣ３０に接続されている制御対象５０が複数である場合、複数の制御対象５０は、同じ種類のものであってもよいし、異なる種類のものが混在していてもよい。また、ＩＰＣ３０とディスプレイ４０とは、入出力ケーブルで接続される構成であってもよいし、無線で接続される構成であってもよい。
【００２０】
ＩＰＣ３０が、この発明で言う情報処理装置に相当する。また、ディスプレイ４０が、この発明で言う表示器に相当する。制御対象５０は、例えば産業用ロボットを含む生産機械、生産現場の設備機器である。
【００２１】
この例では、ＩＰＣ３０は、ＰＬＣ（ProgrammableLogic Controller）機能、およびＨＭＩ（HumanMachine Interface）機能を有している。ユーザは、ＩＰＣ３０で実行させる各種プログラムの作成に、例えばＰＣ１０を用いる。ユーザがＰＣ１０で作成するプログラムは、例えばシーケンス制御プログラム、ＨＭＩプログラムである。ＩＰＣ３０は、シーケンス制御プログラムを実行することにより、制御対象５０を制御周期でシーケンス制御するＰＬＣ機能を実現する。すなわち、シーケンス制御プログラムは、ＰＬＣ機能を実現させるためのプログラムである。また、ＩＰＣ３０は、ＨＭＩプログラムを実行することにより、ＰＬＣ機能に対するユーザの入力操作を受け付けるモニタ画像を生成し、ディスプレイ４０の画面に表示させるＨＭＩ機能を実現する。また、モニタ画像には、制御対象５０の状態に関連するデータも含まれる。すなわち、ＨＭＩ制御プログラムは、ＨＭＩ機能を実現させるためのプログラムである。また、ＨＭＩ機能は、ユーザインタフェース部品（ＵＩ部品）の種類、配置等が異なる複数種類のレイアウト画像の中から、選択されているレイアウト画像を用いてモニタ画像を生成する。このレイアウト画像は、１種類であってもよいし、複数種類であってもよい。
【００２２】
また、ユーザは、実行中のプログラムが参照する各種情報の作成にもＰＣ１０を用いる。例えば、実行中のＨＭＩプログラムが参照するレイアウト情報をＰＣ１０で作成する。ＰＣ１０において作成された各種プログラム、および各種情報は、イーサネット（登録商標）２０を通信路にしてＰＣ１０からＩＰＣ３０に送られる。レイアウト情報は、上述したレイアウト画像を示すものである。
【００２３】
なお、ＰＣ１０と、ＩＰＣ３０との間における、各種プログラム、および各種情報の受け渡しについては、ＵＳＢメモリ等の記憶媒体を媒介にして行ってもよい。したがって、ＰＣ１０と、ＩＰＣ３０とは、イーサネット（登録商標）２０等のネットワークで接続されていなくても特に問題はない。また、ＩＰＣ３０が、シーケンス制御プログラム、ＨＭＩプログラム、レイアウト情報等を作成する機能を有する構成であってもよい。
【００２４】
ＩＰＣ３０には、図示していないマウス、キーボード等の入力デバイスが接続されている。また、ディスプレイ４０の画面には、タッチパネルが貼付されている。このタッチパネルも、ＩＰＣ３０に接続されている入力デバイスの１つである。
【００２５】
図２は、ＩＰＣの主要部の構成を示す概略図である。ＩＰＣ３０は、ＣＰＵ３Ａと、メモリ３Ｂと、表示制御部３Ｃと、記憶媒体３Ｄと、入力インタフェース３Ｅ（入力Ｉ／Ｆ３Ｅ）とを備えている。ＣＰＵ３Ａ、メモリ３Ｂ、表示制御部３Ｃ、記憶媒体３Ｄ、および入力Ｉ／Ｆ３Ｅは、内部バスによって接続されている。
【００２６】
ＣＰＵ３Ａは、制御対象５０を制御周期で制御するＰＬＣ制御、およびディスプレイ４０に表示させるモニタ画像を生成するＨＭＩ制御を並行して実行する。ＣＰＵ３Ａが、この発明で言う演算処理部に相当する。また、ＰＬＣ制御が、この発明で言うシーケンス制御に相当し、ＨＭＩ制御が、この発明で言うモニタ画像制御に相当する。
【００２７】
ＣＰＵ３Ａは、ＰＬＣ制御、およびＨＭＩ制御の実行時に、メモリ３Ｂをワーキングエリアとして使用する。すなわち、ＣＰＵ３Ａは、ＰＬＣ制御、およびＨＭＩ制御の実行時に、メモリ３Ｂにアクセスする。メモリ３Ｂは、例えばＤＲＡＭである。表示制御部３Ｃは、ＨＭＩ制御によって作成されたモニタ画像をディスプレイ４０に表示させる。表示制御部３Ｃは、公知のグラフィックボードであり、設定されているリフレッシュレート（例えば、６０Ｈｚ）でディスプレイ４０のＶＲＡＭを書き換える。このリフレッシュレートが、この発明で言う更新周期である。
【００２８】
記憶媒体３Ｄは、制御対象をシーケンス制御するためのシーケンス制御プログラム、ＨＭＩ制御を行うためのＨＭＩプログラム、レイアウト画像を示すレイアウト情報等を記憶する。記憶媒体３Ｄは、例えば、ハードディスクドライブ、ソリッドステートドライブである。
【００２９】
ＩＰＣ３０は、ＣＰＵ３Ａがシーケンス制御プログラムを実行することにより、ＰＬＣ機能を実現し、ＣＰＵ３ＡがＨＭＩプログラムを実行することにより、ＨＭＩ機能を実現する。ＣＰＵ３Ａは、シーケンス制御プログラム、およびＨＭＩプログラムを同時に実行できる。
【００３０】
ここで、ＩＰＣ３０における、シーケンス制御プログラムの実行時間の変動について簡単に説明しておく。図３は、シーケンス制御プログラムの実行時間の変動を示す概略図である。図３では、制御対象５０の制御周期１、２、…を時間方向（横軸）に示している。また、図３では、出力データの送信処理Ｐ１、入力データの受信処理Ｐ２及びシーケンス制御プログラムの実行処理Ｐ３を縦軸方向に並べている。
【００３１】
ＩＰＣ３０は、制御周期毎に、Ｐ１処理、Ｐ２処理、Ｐ３処理をこの順で実行する。図３に示す例では、制御周期１、４、５は、Ｐ１処理、Ｐ２処理、Ｐ３（Ｐ３１、Ｐ３４、Ｐ３５）処理が時間内に適正に実行された例である。一方、制御周期２は、シーケンス制御プログラムの実行時間が長くなり、Ｐ３２処理が時間内に適正に実行されなかった例である。制御周期２においても、Ｐ１処理、Ｐ２処理は、上述した制御周期１、４、５と同程度の時間で終了している。この制御周期２に示す状況は、例えばＨＭＩ制御におけるリソースの占有率が高くなった場合に生じる。
【００３２】
また、シーケンス制御プログラムが適正に実行されなかった制御周期２に連続する制御周期３では、本来のＰ１処理、Ｐ２処理の後に実行されるシーケンス制御プログラムの実行処理Ｐ３が、制御周期２で未実行であった部分のＰ３２１処理になる。すなわち、シーケンス制御プログラムが、制御周期２、３に亘って（２つの制御周期に亘って）１回実行されることになり、制御対象５０の動作が不安定になる。
【００３３】
なお、場合によっては、シーケンス制御プログラムが、３つ以上の制御周期に亘って１回実行されることもある。
【００３４】
この例にかかるＩＰＣ３０は、ＨＭＩ制御におけるリソースの占有率が大きくなって、シーケンス制御プログラムが、複数の制御周期に亘って１回実行される事態の発生を防止することによって、制御対象５０の動作が不安定になるのを抑制するものである。
【００３５】
図４は、ＩＰＣのＨＭＩ制御機能を示す機能ブロックを示すである。この図３では、ＰＬＣ機能にかかる機能ブロックについては図示を省略している。ＣＰＵ３Ａは、ＨＭＩ制御機能３１、および描画制御機能３２として機能する。記憶媒体３Ｄには、ＨＭＩプログラム３３１、およびレイアウト情報３３２が記憶される。ＨＭＩプログラム３３１、およびレイアウト情報３３２は、例えばＰＣ１０において作成される。ＰＣ１０が、作成したＨＭＩプログラム３３１、およびレイアウト情報３３２を、イーサネット（登録商標）２０を介してＩＰＣ３０に配信する。
【００３６】
ＨＭＩプログラム３３１は、ＨＭＩ機能を実現するためのＨＭＩプログラムである。レイアウト情報３３２は、レイアウト画像を示すものであり、レイアウト画像の種類毎に生成されている。
【００３７】
なお、記憶媒体３Ｄには、シーケンス制御プログラムも記憶されている。ＣＰＵ３Ａは、このシーケンス制御プログラムを実行することにより、ＰＬＣ機能を実現する。
【００３８】
また、メモリ３Ｂには、更新前画像データ３４１、および更新後画像データ３４２を記憶するバッファ領域３４が設けられている。更新後画像データ３４２は、今回作成したモニタ画像にかかる画像データである。更新前画像データ３４１は、前回作成したモニタ画像にかかる画像データである。すなわち、モニタ画像が作成されると、更新後画像データ３４２が更新前画像データ３４１になり、今回作成されたモニタ画像にかかる画像データが更新後画像データ３４２になる。更新後画像データ３４２は、以下に示すように、ＨＭＩ制御機能３１が作成する。
【００３９】
ＣＰＵ３Ａが、ＨＭＩプログラム３３１を実行することにより、ＨＭＩ制御機能３１、および描画制御機能３２として機能する。ＨＭＩプログラム３３１は、メモリ３Ｂに展開される。ＨＭＩ制御機能３１は、ユーザの入力操作を受け付け、ユーザの入力操作等に応じてモニタ画像にかかる画像データ（更新後画像データ３４２）の作成、ＰＬＣ機能との間におけるデータの入出力等、ＨＭＩ機能にかかる処理を行う。ＨＭＩ制御機能３１は、生成した更新後画像データ３４２を、バッファ領域３４に記憶させる。
【００４０】
また、描画制御機能３２は、ＨＭＩ制御機能３１からの指示にしたがって、ディスプレイ４０の画面に表示させるモニタ画像にかかる画像データ（ディスプレイ用画像データ３５）を生成する。描画制御機能３２は、生成したディスプレイ用画像データ３５をメモリ３Ｂに記憶させる。表示制御部３Ｃには、記憶させたディスプレイ用画像データ３５がメモリ３Ｂに転送される。このディスプレイ用画像データ３５は、ディスプレイ４０のＶＲＡＭに書き込むデータである。表示制御部３Ｃは、転送されてきたディスプレイ用画像データ３５をディスプレイ４０のＶＲＡＭに書き込む。表示制御部３Ｃは、ディスプレイ４０のＶＲＡＭに対するディスプレイ用画像データ３５の書き込みをリフレッシュレートで実行する。
【００４１】
ディスプレイ４０は、ＶＲＡＭに書き込まれているディスプレイ用画像データ３５に応じてモニタ画像を更新する。
【００４２】
入力インタフェース３Ｅ（入力Ｉ／Ｆ３Ｅ）は、ディスプレイ４０の画面に貼付されているタッチパネル、マウス、キーボード等の入力デバイスにおけるユーザの入力操作を受け付ける。入力Ｉ／Ｆ３Ｅは、ユーザの入力操作に応じたイベントをＣＰＵ３Ａに入力する。
【００４３】
ディスプレイ用画像データ３５は、ディスプレイ４０が更新の前後において画面に表示していたモニタ画像の変化が大きくなるにつれて、その容量が大きくなる。すなわち、ＩＰＣ３０では、ディスプレイ４０に表示させるモニタ画像を大きく変化させるとき、ＨＭＩ機能におけるリソースの占有率が高くなる。特に、メモリ３Ｂと表示制御部３Ｃとの間におけるディスプレイ用画像データ３５の転送にかかるバスの占有率が高くなる。このため、ＰＬＣ機能におけるリソースの占有率が低くなる。
【００４４】
図５は、この例にかかる描画制御機能の詳細を示す図である。この例にかかる描画制御機能３２は、更新設定処理機能３１１と、判断処理機能３１２と、段階更新処理機能３１３と、合成処理機能３１４と、によって構成されている。
【００４５】
更新設定処理機能３１１は、設定されているリフレッシュレートに基づき、ディスプレイ４０の画面に表示させているモニタ画像の更新タイミングを判定する。
【００４６】
判断処理機能３１２は、ディスプレイ４０の画面に表示させるモニタ画像を、更新前画像データ３４１に基づく画像から、更新後画像データ３４２に基づく画像へ一度に更新したときの処理負荷の大きさが、予め定めた上限レベルを超えているかどうかを判断する。例えば、判断処理機能３１２は、更新前画像データ３４１に基づく画像と、更新後画像データ３４２に基づく画像との差分を示す相違レベルによって、ディスプレイ４０の画面に表示させるモニタ画像を一度に更新したときの処理負荷の大きさが、予め定めた上限レベルを超えているかどうかを判断する。具体的には、判断処理機能３１２は、更新前画像データ３４１に基づく画像と、更新後画像データ３４２に基づく画像とにおいて、対応する画素間で画素値が異なる画素の総数が閾値を超えていれば、一度に更新したときの処理負荷の大きさが、予め定めた上限レベルを超えていると判断する。
【００４７】
また、判断処理機能３１２は、ディスプレイ４０の画面に表示させるモニタ画像のレイアウトが更新の前後で異なる場合、ポップアップ画面をモニタ画像に表示する場合、表示サイズをリサイズする場合等も、ディスプレイ４０の画面に表示させるモニタ画像を一度に更新したときの処理負荷の大きさが、予め定めた上限レベルを超えていると判断してもよい。判断処理機能３１２が、この発明で言う判断機能に相当する。
【００４８】
段階更新処理機能３１３は、ディスプレイ４０の画面に表示させるモニタ画像を一度に更新したときの処理負荷の大きさが予め定めた上限レベルを超えている場合、複数の更新周期に亘って、ディスプレイ４０の画面に表示させるモニタ画像を、更新前画像データ３４１に基づく画像から、更新後画像データ３４２に基づく画像へ段階的に更新する。
【００４９】
合成処理機能３１４は、モニタ画像の更新にかかる処理負荷の大きさが、予め定めた上限レベルを超えていない場合、ディスプレイ４０の画面に表示させるモニタ画像を、更新前画像データ３４１に基づく画像から、更新後画像データ３４２に基づく画像へ一度に更新する。
【００５０】
図６は、段階更新処理の原理を説明する図である。図６（Ａ）は、ディスプレイ４０の画面に表示されているモニタ画像を画像Ａから画像Ｂへ一度に更新した例であり、図６（Ｂ）は、図６（Ａ）に示すモニタ画像の更新時におけるＨＭＩ機能のリソースの占有率を示し、図６（Ｃ）は、ディスプレイ４０の画面に表示されているモニタ画像を画像Ａから画像Ｂへ４段階に分けて更新した例であり、図６（Ｄ）は、図６（Ｃ）に示すモニタ画像の更新時におけるＨＭＩ機能のリソースの占有率を示し、図６（Ｅ）は、画像Ｂの分割を示す図である。
【００５１】
図６（Ｂ）、および図６（Ｄ）から明らかなように、ディスプレイ４０の画面に表示されているモニタ画像を画像Ａから画像Ｂへ更新する場合、一度に更新するよりも、複数段階に分けて更新したほうが、ＨＭＩ機能のリソースの占有率を抑えることができる。すなわち、ＨＭＩ機能がディスプレイ４０の画面に表示されているモニタ画像を画像Ａから画像Ｂへ更新する場合、一度に更新するよりも、複数段階に分けて更新したほうが、ＰＬＣ機能のリソースの占有率の低下を抑えられる。
【００５２】
この図６（Ｃ）に示す例は、画像Ｂを左右方向に４つの部分領域４Ｂ１〜４Ｂ４に分割し（図６（Ｅ）参照）、右側の部分領域４Ｂ１から順に更新周期（リフレッシュレート）で画像Ａを書き換えることによって、最終的にディスプレイ４０の画面に画像Ｂをモニタ画像として表示させる例である。
【００５３】
具体的には、描画制御機能３２は、最初の更新周期において、更新後画像データ３４２を参照して、部分領域４Ｂ１にかかるディスプレイ用画像データ３５を生成し、メモリ３Ｂに記憶させる。このディスプレイ用画像データ３５は、表示制御部３Ｃに転送される。表示制御部３Ｃが転送されてきたディスプレイ用画像データ３５をディスプレイ４０のＶＲＡＭに書き込む。これにより、ディスプレイ４０の画面には、画像Ａの右側が画像Ｂの部分領域４Ｂ１に書き換えられたモニタ画像が表示される。
【００５４】
また、描画制御機能３２は、２番目の更新周期において、更新後画像データ３４２を参照して、部分領域４Ｂ２にかかるディスプレイ用画像データ３５を生成し、メモリ３Ｂに記憶させる。このディスプレイ用画像データ３５は、表示制御部３Ｃに転送される。表示制御部３Ｃが転送されてきたディスプレイ用画像データ３５をディスプレイ４０のＶＲＡＭに書き込む。これにより、ディスプレイ４０の画面には、画像Ａの右側が画像Ｂの部分領域４Ｂ１、４Ｂ２に書き換えられたモニタ画像が表示される。
【００５５】
また、描画制御機能３２は、３番目の更新周期において、更新後画像データ３４２を参照して、部分領域４Ｂ３にかかるディスプレイ用画像データ３５を生成し、メモリ３Ｂに記憶させる。このディスプレイ用画像データ３５は、表示制御部３Ｃに転送される。表示制御部３Ｃが転送されてきたディスプレイ用画像データ３５をディスプレイ４０のＶＲＡＭに書き込む。これにより、ディスプレイ４０の画面には、画像Ａの右側が画像Ｂの部分領域４Ｂ１、４Ｂ２、４Ｂ３に書き換えられたモニタ画像が表示される。
【００５６】
また、描画制御機能３２は、４番目の更新周期において、更新後画像データ３４２を参照して、部分領域４Ｂ４にかかるディスプレイ用画像データ３５を生成し、メモリ３Ｂに記憶させる。このディスプレイ用画像データ３５は、表示制御部３Ｃに転送される。表示制御部３Ｃが転送されてきたディスプレイ用画像データ３５をディスプレイ４０のＶＲＡＭに書き込む。これにより、ディスプレイ４０の画面には、画像Ｂに書き換えられたモニタ画像が表示される。
【００５７】
図７は、画像の分割書き換え処理の別の例を示す図である。図７（Ａ）は、ディスプレイ４０が画像Ａから画像Ｂへ１回の更新周期で書き換えた場合を示す遷移図である。図７（Ｂ）は、分割処理のための部分領域（１）〜（４）を示す図で、図７（Ｃ）〜図７（Ｆ）は、更新周期毎に部分領域の画像データが順番に書き換えられていく様子を示す図である。
【００５８】
図７（Ａ）に示すように、更新前画像と更新後画像とは、表示領域ａ１とａ２とでは画像の変化が大きく、一方、表示領域ｂ１とｂ２とは画像の変化がない。この例では、図７（Ｂ）に示すように、４つの部分領域（１）〜（４）を設定している。そして、更新周期に同期して、まず部分領域（１）を書き換え（図７（Ｃ））、次に、部分領域（２）を書き換え（図７（Ｄ））、続いて部分領域（３）を書き換え（図７（Ｅ））、最後に部分領域（４）を書き換える（図７（Ｆ））。これによって４回の更新周期で、ディスプレイ４０の画面に表示されているモニタ画像が、図７（Ａ）に示す画像Ａから画像Ｂへ更新される。
【００５９】
図８は、ＨＭＩ機能におけるモニタ画像の更新処理を示すフローチャートである。この処理は、描画制御機能３２が実行する。描画制御機能３２は、ディスプレイ４０の画面に表示されているモニタ画像を更新する更新タイミングになるのを待っている（ｓ１）。描画制御機能３２は、更新タイミングになると、ディスプレイ４０の画面に表示させるモニタ画像を、更新前画像データ３４１に基づく画像から、更新後画像データ３４２に基づく画像へ一度に更新するときの処理負荷の大きさが上限レベルを超えているかどうかを判断する（ｓ２）。判断処理機能３１２が、ｓ２にかかる判断を行う。判断処理機能３１２は、上述したように、更新前のモニタ画像と、更新後のモニタ画像とにおいて、対応する画素間で画素値が異なる画素の総数が、閾値を超えているかどうかによって、この判断を行う。また、判断処理機能３１２は、ディスプレイ４０の画面に表示させるモニタ画像のレイアウトが更新の前後で異なる場合、ポップアップ画面をモニタ画像に表示する場合、表示サイズをリサイズする場合等も、ディスプレイ４０の画面に表示させるモニタ画像を、更新前画像データ３４１に基づく画像から、更新後画像データ３４２に基づく画像へ一度に更新するときの処理負荷の大きさが上限レベルを超えていると判断する。
【００６０】
描画制御機能３２は、ｓ２で上限レベルを超えていないと判定すると、一括更新処理を行い（ｓ３）、ｓ１に戻る。ｓ３では、描画制御機能３２は、更新前画像データ３４１と、更新後画像データ３４２との差分に応じたディスプレイ用画像データ３５を生成する。
【００６１】
また、描画制御機能３２は、ｓ２で上限レベルを超えていると判定すると、更新後のモニタ画像を複数に分割する（ｓ４）。描画制御機能３２は、ｓ４で分割した更新後のモニタ画像の分割領域を１つ抽出し（ｓ５）、抽出した分割領域の更新にかかるディスプレイ用画像データ３５を生成する（ｓ６）。これにより、ディスプレイ４０の画面に表示されているモニタ画像が、ｓ５で抽出した部分領域にかかる画像に更新される。
【００６２】
描画制御機能３２は、未更新の分割領域の有無を判定し（ｓ７）、未更新の分割領域がなければ、ｓ１に戻る。描画制御機能３２は、未更新の分割領域の有ると、ディスプレイ４０の画面に表示されているモニタ画像を更新する更新タイミングになるのを待って（ｓ８）、未更新の分割領域の中から、分割領域を１つ抽出し（ｓ９）、ｓ６に戻る。
【００６３】
このように、この例では、ディスプレイ４０の画面に表示させるモニタ画像を、更新前画像データ３４１に基づく画像から、更新後画像データ３４２に基づく画像へ一度に更新するときの処理負荷が大きいときには、複数の更新周期に亘って、ディスプレイ４０の画面に表示させるモニタ画像を、更新前画像データ３４１に基づく画像から、更新後画像データ３４２に基づく画像へ段階的に更新する。したがって、ＩＰＣ３０は、ＨＭＩ機能におけるディスプレイ４０の画面に表示するモニタ画像の更新によって、リソースの占有率が大きくなるのを抑制できる。すなわち、ＩＰＣ３０は、ＰＬＣ機能におけるリソースの占有率が低下するのを抑制できる。したがって、ＰＬＣ機能で制御している制御対象５０の動作が不安定になるのを抑制できる。
【００６４】
また、図６、および図７では、更新後画像データ３４２に基づく画像を４分割する例を示したが、更新後画像データ３４２に基づく画像の分割数は、２分割以上であれば、何分割であってもよい。また、図６、および図７では、部分領域の形状が長方形である例を示したが、長方形に限らず円、楕円等の種々の形状であってもよい。また、レイアウト画像が複数のレイヤで構成されている場合には、レイヤ単位で分割してもよい。
【００６５】
この発明は、前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００６６】
１…産業用ネットワークシステム
３Ａ…ＣＰＵ
３Ｂ…メモリ
３Ｃ…表示制御部
３Ｄ…記憶媒体
３Ｅ…入力インタフェース（入力Ｉ／Ｆ）
３０…産業用パーソナルコンピュータ（ＩＰＣ）
３１…ＨＭＩ制御機能
３２…描画制御機能
３４…バッファ領域
３５…ディスプレイ用画像データ
４０…ディスプレイ
５０…制御対象
３１１…更新設定処理機能
３１２…判断処理機能
３１３…段階更新処理機能
３１４…合成処理機能
３３１…ＨＭＩプログラム
３３２…レイアウト情報
３４１…更新前画像データ
３４２…更新後画像データ
【図１】
2019075111.tif 000003
【図２】
2019075111.tif 000004
【図３】
2019075111.tif 000005
【図４】
2019075111.tif 000006
【図５】
2019075111.tif 000007
【図６】
2019075111.tif 000008
【図７】
2019075111.tif 000009
【図８】
2019075111.tif 000010