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

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

▶ シュナイダーエレクトリックホールディングス株式会社の特許一覧

<>
  • 特開-プログラマブル表示器 図1
  • 特開-プログラマブル表示器 図2
  • 特開-プログラマブル表示器 図3
  • 特開-プログラマブル表示器 図4
  • 特開-プログラマブル表示器 図5
  • 特開-プログラマブル表示器 図6
  • 特開-プログラマブル表示器 図7
  • 特開-プログラマブル表示器 図8
  • 特開-プログラマブル表示器 図9
  • 特開-プログラマブル表示器 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024170200
(43)【公開日】2024-12-06
(54)【発明の名称】プログラマブル表示器
(51)【国際特許分類】
   G05B 19/05 20060101AFI20241129BHJP
【FI】
G05B19/05 Z
G05B19/05 L
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023087228
(22)【出願日】2023-05-26
(71)【出願人】
【識別番号】317014747
【氏名又は名称】シュナイダーエレクトリックホールディングス株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】松本 英二
(72)【発明者】
【氏名】手嶋 晋太郎
(72)【発明者】
【氏名】松下 健二
(72)【発明者】
【氏名】杉本 賢亮
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220BB03
5H220BB18
5H220CC06
5H220CC07
5H220CC09
5H220CX05
5H220JJ03
5H220JJ12
5H220JJ14
5H220JJ15
5H220JJ17
5H220JJ22
5H220JJ24
5H220JJ26
5H220JJ50
5H220JJ53
(57)【要約】
【課題】プログラマブル表示器とプログラマブルロジックコントローラとの通信頻度を適切な頻度にする。
【解決手段】プログラマブル表示器(1)が備える制御部(15)は、デバイス(3)の状態を示すデバイス値をPLC(2)から取得し、デバイス値が変化する変化頻度に基づいて、互いに異なる周期が設定された複数のグループのうちいずれかのグループにデバイス(3)を割り振り、グループに設定された周期で、グループに含まれるデバイス(3)の状態を示すデバイス値を取得し、取得したデバイス値を用いて、表示部(11)に画面を更新させる。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数のデバイスを管理するプログラマブルロジックコントローラと通信可能に構成された通信部と、
前記複数のデバイスのうち少なくとも1つのデバイスの状態の表示を含む画面を表示する表示部と、
制御部と、を備えるプログラマブル表示器であって、
前記制御部は、
前記通信部により、第1所定期間、前記複数のデバイスの各々について、前記デバイスの状態を示すデバイス値を前記プログラマブルロジックコントローラから所定周期で取得し、
前記複数のデバイスの各々について、取得した前記デバイス値を用いて算出した、当該デバイス値が変化する変化頻度に基づいて、互いに異なる周期が設定された複数のグループのうちいずれかのグループに前記デバイスを割り振り、
前記複数のグループの各々について、前記グループに設定された周期で、当該グループに含まれる前記デバイスの状態を示す前記デバイス値を前記通信部により取得し、
取得した前記デバイス値を用いて、前記表示部に前記画面を更新させる、プログラマブル表示器。
【請求項2】
前記制御部は、
前記複数のグループの各々について、第2所定期間において当該グループに含まれる前記デバイスの状態を示す前記デバイス値が変化する割合である変化率を監視し、
前記変化率が基準変化率範囲外となる前記デバイスについて、当該デバイスが所属する前記グループを変更する、請求項1に記載のプログラマブル表示器。
【請求項3】
前記制御部は、
前記変化率が前記基準変化率範囲の下限値未満となる前記デバイスについて、当該デバイスが所属する前記グループを、第1周期が設定された第1グループから、当該第1周期よりも長い周期である第2周期が設定された第2グループに変更する、請求項2に記載のプログラマブル表示器。
【請求項4】
前記制御部は、
前記変化率が前記基準変化率範囲の上限値以上となる前記デバイスについて、当該デバイスが所属する前記グループを、第1周期が設定された第1グループから、当該第1周期よりも短い周期である第3周期が設定された第3グループに変更する、請求項2に記載のプログラマブル表示器。
【請求項5】
前記制御部は、
前記複数のデバイスの各々について、第3所定期間において前記グループ毎に前記デバイスが当該グループに所属する割合である所属率を監視し、
前記所属率が最も高い前記グループの前記所属率が、基準所属率範囲内である場合、前記所属率が2番目に高い前記グループに設定された周期に基づき、前記基準変化率範囲を補正する、請求項2から4のいずれか1項に記載のプログラマブル表示器。
【請求項6】
前記制御部は、
前記所属率が最も高い前記グループの前記所属率が、前記基準所属率範囲内であり、かつ、前記所属率が2番目に高い前記グループに設定された周期が、前記所属率が最も高い前記グループに設定された周期よりも長い場合、前記基準変化率範囲の下限値を下げる、請求項5に記載のプログラマブル表示器。
【請求項7】
前記制御部は、
前記所属率が最も高い前記グループの前記所属率が、前記基準所属率範囲内であり、かつ、前記所属率が2番目に高い前記グループに設定された周期が、前記所属率が最も高い前記グループに設定された周期よりも短い場合、前記基準変化率範囲の上限値を上げる、請求項5に記載のプログラマブル表示器。
【請求項8】
前記制御部は、
前記複数のデバイスの各々について、第3所定期間において前記グループ毎に前記デバイスが当該グループに所属する割合である所属率を監視し、
前記所属率に関する所定条件を満たした場合、前記所属率が最も高い前記グループに設定された周期と、前記所属率が2番目に高い前記グループに設定された周期と、の間の周期が設定された中間グループを生成し、
前記デバイスが所属する前記グループを、生成した前記中間グループに変更する、請求項2から4のいずれか1項に記載のプログラマブル表示器。
【請求項9】
前記所定条件は、前記所属率が最も高い前記グループの前記所属率と、前記所属率が2番目に高い前記グループの前記所属率と、の和が所定値以上となることである、請求項8に記載のプログラマブル表示器。
【請求項10】
前記プログラマブルロジックコントローラは、複数の前記デバイス値を記憶する記憶部を備え、
前記制御部は、
前記画面の表示に含まれる前記デバイスの状態を示す前記デバイス値が記憶されている、前記記憶部上のデバイスアドレスを特定し、
特定した前記デバイスアドレスのうち、前記記憶部上で連続する前記デバイスアドレスがある場合、連続する当該デバイスアドレスをデバイスアドレス群とし、
前記通信部により、前記第1所定期間、前記デバイスアドレス群に含まれる前記デバイスアドレスに記憶されている前記デバイス値を前記所定周期で取得する、請求項1から4のいずれか1項に記載のプログラマブル表示器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラマブル表示器に関する。
【背景技術】
【0002】
特許文献1には、コントローラと、HMI(Human Machine Interface)と、管理手段と、を備える制御システムが開示されている。コントローラは、制御対象であるフィールドデバイスなどを制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新されるプロセスデータを管理する。プロセスデータは、制御プログラムの実行に伴って、周期的に更新される。
【0003】
HMIは、コントローラにより送信されるデータセットに含まれるプロセスデータの値を利用してアプリケーションを実行する。管理手段は、HMIにより実行されているアプリケーションに応じて、コントローラが送信可能な複数のデータセットのうち、送信を有効化するデータセットを決定する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-149631号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示の制御システムでは、HMIがプロセスデータの更新周期に応じて、一律にコントローラからプロセスデータの値を取得するため、HMIとコントローラとの間で必要以上に通信負荷を生じさせる可能性があるという問題がある。本発明の一態様は、プログラマブル表示器とプログラマブルロジックコントローラとの通信頻度を適切な頻度にすることを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本発明の一態様に係るプログラマブル表示器は、複数のデバイスを管理するプログラマブルロジックコントローラと通信可能に構成された通信部と、前記複数のデバイスのうち少なくとも1つのデバイスの状態の表示を含む画面を表示する表示部と、制御部と、を備えるプログラマブル表示器であって、前記制御部は、前記通信部により、第1所定期間、前記複数のデバイスの各々について、前記デバイスの状態を示すデバイス値を前記プログラマブルロジックコントローラから所定周期で取得し、前記複数のデバイスの各々について、取得した前記デバイス値を用いて算出した、当該デバイス値が変化する変化頻度に基づいて、互いに異なる周期が設定された複数のグループのうちいずれかのグループに前記デバイスを割り振り、前記複数のグループの各々について、前記グループに設定された周期で、当該グループに含まれる前記デバイスの状態を示す前記デバイス値を前記通信部により取得し、取得した前記デバイス値を用いて、前記表示部に前記画面を更新させる。
【発明の効果】
【0007】
本発明の一態様によれば、プログラマブル表示器とプログラマブルロジックコントローラとの通信頻度を適切な頻度にすることができる。
【図面の簡単な説明】
【0008】
図1】本発明の実施形態1に係るプログラマブル表示器と、PLCと、デバイスと、PCと、の構成の一例を示すブロック図である。
図2図1に示すプログラマブル表示器が備える制御部の処理の一例を示すフローチャートである。
図3図2に示すステップS2において制御部がデバイス値を取得する処理を説明するための図である。
図4図2に示すステップS6において制御部がグループへデバイスを割り振る処理を説明するための図である。
図5図2に示すステップS10において制御部がデバイス値の変化率を算出する処理を説明するための図である。
図6図2に示すステップS11において制御部が、デバイスが所属するグループを変更する処理を示すフローチャートである。
図7図6に示す、制御部が、デバイスが所属するグループを変更する処理を説明するための図である。
図8図2に示すステップS13において制御部が、デバイスが所属するグループの変更の基準となる基準変化率範囲を補正する処理を示すフローチャートである。
図9図8に示す、制御部が、デバイスが所属するグループの変更の基準となる基準変化率範囲を補正する処理を説明するための図である。
図10】本発明の実施形態2について、図2に示すステップS2,S4~S6の処理を説明するための図である。
【発明を実施するための形態】
【0009】
〔実施形態1〕
図1は、本発明の実施形態1に係るプログラマブル表示器1と、PLC(プログラマブルロジックコントローラ)2と、デバイス3と、PC(パーソナルコンピュータ)4と、の構成の一例を示すブロック図である。図1において、デバイス3は複数存在するが、便宜上、1つのデバイス3を示している。
【0010】
<プログラマブル表示器1の構成>
図1に示すように、プログラマブル表示器1は、表示部11と、タッチパネル12と、ユーザメモリ13と、通信部14と、制御部15と、を備える。プログラマブル表示器1は、操作及び表示のための画面を表示することにより、プログラマブル表示器特有の操作機能と表示機能とを実現する専用コンピュータであり、HMI機器として使用される。
【0011】
表示部11は、複数のデバイス3のうち少なくとも1つのデバイス3の状態の表示を含む画面を表示する。タッチパネル12は、ユーザによるタッチ操作を受け付けるものであり、表示部11に重なるように設けられている。
【0012】
ユーザメモリ13は、例えばPC4によって作成された画面を、関連する複数の画面のまとまりとしてプロジェクトというファイル形式で記憶する。表示部11に表示される画面は、例えばPC4によって作成された画面であり、プロジェクトに含まれている。
【0013】
通信部14は、PLC2及びPC4等の外部機器と通信可能に構成されたインタフェースである。通信部14は、外部機器と有線接続可能に構成されている。なお、通信部14は、外部機器と無線接続可能に構成されていてもよい。また、プログラマブル表示器1は、複数の通信部14を備えてもよく、複数の通信部14のうち、ある通信部14がPLC2と通信接続され、PLC2と通信接続された通信部14とは別の通信部14がPC4と通信接続されてもよい。
【0014】
制御部15は、プログラマブル表示器1が備える各部を制御する。制御部15は、PLC2と通信接続されたデバイス3の状態を表示部11に表示させる。また、制御部15は、タッチパネル12に対するユーザによるタッチ操作に応じて、PLC2及び通信部14を介してデバイス3の状態を制御する。制御部15は、PC4から通信部14を介してプロジェクトをダウンロードし、ユーザメモリ13にプロジェクトを記憶させる。
【0015】
<PLC2、デバイス3及びPC4の構成>
PLC2は、ユーザによって作成されたシーケンスプログラムにしたがって、予め定められた周期でデバイス3の状態を読み出したり、デバイス3に制御指示を与えたりする制御装置である。このように、PLC2は、複数のデバイス3を管理するものであり、複数のデバイス3と通信接続されている。
【0016】
PLC2は、複数のデバイス3と有線接続可能に構成されているが、複数のデバイス3と無線接続可能に構成されていてもよい。PLC2は、複数のデバイス3の各々について、デバイス3の状態を示すデバイス値を記憶する記憶部21を備える。つまり、記憶部21は、複数のデバイス値を記憶する。PC4は、プログラマブル表示器1の通信部14と通信可能に構成されている。PC4は、プログラマブル表示器1の表示に用いられるプロジェクトを作成する作成装置の一例である。
【0017】
<制御部15の処理>
図2は、図1に示すプログラマブル表示器1が備える制御部15の処理の一例を示すフローチャートである。図2に示すように、まず、プログラマブル表示器1が起動した場合(S1)を考える。この場合、制御部15は、通信部14により、第1所定期間、複数のデバイス3の各々について、デバイス3の状態を示すデバイス値をPLC2から所定周期で取得する(S2)。なお、このフローチャートの処理は、プログラマブル表示器1の立ち下げとともに終了する。
【0018】
当該第1所定期間は例えば10sec(秒)である。当該所定周期は、ユーザメモリ13に記憶されるプロジェクトに予め記憶されている初期周期であり、例えば100msecである。なお、制御部15は、ユーザによるタッチ操作等に応じて、表示部11に表示される画面の切り替えを受け付けた場合において、ステップS2の処理を実行してもよい。制御部15は、画面の切り替えを受け付けた場合、表示部11に表示されている第1画面を、プロジェクトに含まれる複数の画面のうち、当該第1画面とは別の第2画面に切り替える。
【0019】
なお、ロギングまたはアラーム表示等に用いられるデータ(総称して「所定のデータ」とも称する)については、その役割を鑑みると、制御部15が常時一定の周期で取得する必要がある。したがって、制御部15は、所定のデータを、図2に示すフローチャートの対象となるデバイス値から除外する。すなわち、制御部15は、データ取得周期を動的に変更させるデバイス値から、所定のデータを除外する。例えば、除外される所定のデータは、プロジェクトで予め設定されていてもよい。
【0020】
<デバイス値の取得>
図3は、図2に示すステップS2において制御部15がデバイス値を取得する処理を説明するための図である。図3において、デバイス31,32,33はそれぞれ、PLC2と通信接続された複数のデバイス3のうちの1つのデバイスとする。また、図3の符号301~303の各表において、左側の列は、制御部15がデバイス値の取得を開始してからの経過時間[sec]を示す。中央の列は、変数に格納されるデバイス値を示し、右側の列は、デバイス値が変化した時間間隔[sec]を示す。当該時間間隔は、デバイス値が変化する変化頻度である。
【0021】
変数Var1は、デバイス31の状態を示すデバイス値に対応する変数であり、変数Var1には、デバイス31の状態を示すデバイス値が記憶される記憶部21上のデバイスアドレスから、制御部15が取得したデバイス値が格納される。同様に、変数Var2は、デバイス32の状態を示すデバイス値に対応する変数であり、変数Var2には、デバイス32の状態を示すデバイス値が格納される。変数Var3は、デバイス33の状態を示すデバイス値に対応する変数であり、変数Var3には、デバイス33の状態を示すデバイス値が格納される。
【0022】
図3の符号301に示すように、制御部15は、通信部14により、第1所定期間、デバイス31の状態を示すデバイス値を、上記所定周期として例えば100msecで取得する。また、図3の符号302,303に示すように、制御部15は、デバイス32の状態を示すデバイス値と、デバイス33の状態を示すデバイス値と、についても、同様に取得する。
【0023】
<画面の更新>
制御部15は、デバイス値を取得した後、取得したデバイス値を用いて、表示部11に画面を更新させる(S3)。具体的には、制御部15は、デバイス値を用いて、プログラマブル表示器1が起動した後の最初の画面、または、画面切り替え後の画面を表示部11に表示させる。
【0024】
その後、制御部15は、取得したデバイス値に応じて、表示部11に表示される少なくとも1つのデバイス3の状態を更新させる。例えば、デバイス31の状態を示すデバイス値が変化した場合、制御部15は、表示部11に表示されるデバイス31の状態を変更する。一方、デバイス31の状態を示すデバイス値が変化しなかった場合、制御部15は、表示部11に表示されるデバイス31の状態を変更しない。
【0025】
<変化履歴の記憶、平均値の算出>
制御部15は、表示部11に画面を更新させた後、全てのデバイス3のデバイス値の変化履歴をユーザメモリ13に記憶させる(S4)。デバイス値の変化履歴は、例えば、図3の符号301~303に示す表である。制御部15は、デバイス値の変化履歴をユーザメモリ13に記憶させた後、ユーザメモリ13に記憶されているデバイス値の変化履歴を参照して、全てのデバイス3のデバイス値が変化した時間間隔の平均値を算出する(S5)。
【0026】
例えば、制御部15は、第1所定期間内で取得した時間間隔に基づき、変数Var1に格納されるデバイス値が変化した時間間隔の平均値を算出する。また、制御部15は、同様に、変数Var2に格納されるデバイス値が変化した時間間隔の平均値、及び、変数Var3に格納されるデバイス値が変化した時間間隔の平均値を算出する。
【0027】
なお、制御部15は、第1所定期間内で取得した時間間隔と、算出した平均値と、に基づき、変数Var1に格納されるデバイス値が変化した時間間隔の標準偏差をさらに算出してもよい。また、制御部15は、同様に、変数Var2に格納されるデバイス値が変化した時間間隔の標準偏差、及び、変数Var3に格納されるデバイス値が変化した時間間隔の標準偏差をさらに算出してもよい。
【0028】
<グループへのデバイス3の割り振り>
制御部15は、デバイス値が変化した時間間隔の平均値を算出した後、以下の処理を実行する。制御部15は、複数のデバイス3の各々について、取得したデバイス値を用いて算出した、当該デバイス値が変化する時間間隔に基づいて、複数のグループのうちいずれかのグループにデバイス3を割り振る(S6)。当該複数のグループには、互いに異なる周期が設定されている。ステップS6の処理について図4を用いて説明する。
【0029】
図4は、図2に示すステップS6において制御部15がグループへデバイス3を割り振る処理を説明するための図である。図4において、グループG1には周期として100msecが設定されており、グループG2には周期として500msecが設定されており、グループG3には周期として1secが設定されている。また、グループG4には周期として5secが設定されており、グループG5には周期として10secが設定されている。複数のグループ及び各グループの周期の設定情報は、ユーザメモリ13に記憶されるプロジェクトに予め記憶されている。
【0030】
制御部15は、複数のデバイス3の各々について、デバイス値が変化する時間間隔の平均値に最も近い周期が設定されたグループにデバイス3を割り振る。例えば、図3の符号301に示すように、デバイス31について、変数Var1に格納されたデバイス値が変化する時間間隔の平均値は、0.657secである。0.657secに最も近い周期が設定されたグループは、グループG2である。よって、制御部15は、デバイス31をグループG2に割り振る、つまり、デバイス31に対応する変数Var1をグループG2に割り振る。
【0031】
なお、制御部15が、デバイス値が変化した時間間隔の標準偏差をさらに算出する場合を考える。この場合、制御部15は、ステップS6において、デバイス値が変化した時間間隔から、算出した標準偏差を差し引いた数値に基づいて、複数のグループのうちいずれかのグループにデバイス3を割り振ってもよい。このとき、グループG1~G5に設定される周期は、プロジェクトに予め記憶された周期から、上記標準偏差を差し引いた数値となる。
【0032】
これにより、制御部15が処理するデータ量を適切にすることができる。また、デバイス値が変化した時間間隔から、標準偏差を差し引いた数値を用いることで、ステップS6での処理の精度を向上することができる。つまり、複数のデバイス3の各々をより適切なグループに割り振ることができる。
【0033】
さらに、制御部15は、ステップS6において、デバイス値が変化する時間間隔に代えて、第1所定期間内でデバイス値が変化する変化回数に基づいて、複数のグループのうちいずれかのグループにデバイス3を割り振ってもよい。この場合、グループG1~G5には、周期に代えて互いに異なる変化回数が設定されており、制御部15は、デバイス値の変化回数の平均値に最も近い変化回数が設定されたグループに、デバイス3を割り振る。また、ステップS7以降の処理において、「周期」を「デバイス値の変化回数」に読み換えるものとする。
【0034】
<グループに設定された周期でのデバイス値の取得>
制御部15は、複数のグループのうちいずれかのグループにデバイス3を割り振った後、複数のグループの各々について、グループに設定された周期で、当該グループに含まれるデバイス3の状態を示すデバイス値を通信部14により取得する(S7)。
【0035】
例えば、制御部15は、グループG2に設定された周期500msecで、デバイス31の状態を示すデバイス値を取得して変数Var1に格納する。換言すると、制御部15は、周期500msecで、グループG2に含まれるデバイス31の状態を示すデバイス値を取得する。
【0036】
同様に、制御部15は、周期500msecで、変数Var2,Var6,Var7のそれぞれに対応するデバイス値を取得する。また、制御部15は、他のグループG1、グループG3、グループG4及びグループG5についても、グループに設定された周期で、当該グループに含まれるデバイス3の状態を示すデバイス値を取得する。図4において変数Var1~Var10にはそれぞれ、複数のデバイス3のうちいずれかのデバイス3の状態を示すデバイス値が格納される。
【0037】
<画面の更新、変化履歴の記憶>
制御部15は、複数のグループの各々について、グループに設定された周期でデバイス値を取得した後、ステップS3の処理と同じ処理を実行する(S8)。制御部15は、表示部11に画面を更新させた後、ステップS4の処理と同じ処理を実行する(S9)。制御部15は、デバイス値の変化履歴をユーザメモリ13に記憶させた後、複数のデバイス3の各々について、第2所定期間においてデバイス値が変化する割合である変化率を算出する(S10)。当該第2所定期間は例えば10secである。
【0038】
<変化率の算出>
図5は、図2に示すステップS10において制御部15がデバイス値の変化率を算出する処理を説明するための図である。図5において、デバイス34は、PLC2と通信接続された複数のデバイス3のうちの1つのデバイスとする。また、図5の各表において、左側の列は、制御部15がデバイス値の取得を開始してからの経過時間[sec]を示す。中央の列は、変数に格納されるデバイス値を示し、右側の列は、デバイス値が変化した時間間隔[sec]を示す。
【0039】
変数Var4は、デバイス34の状態を示すデバイス値に対応する変数であり、変数Var4には、デバイス34の状態を示すデバイス値が記憶される記憶部21上のデバイスアドレスから、制御部15が取得したデバイス値が格納される。また、図5において、グループG2にデバイス31,32が含まれ、グループG3にデバイス33,34が含まれるものとする。
【0040】
制御部15は、第2所定期間において、デバイス値を取得した回数に対するデバイス値が変化した回数の割合である変化率を算出する。当該変化率は、デバイス値が変化する変化頻度の一例である。例えば、図5に示すように、制御部15は、グループG2に設定された周期500msecで、デバイス31の状態を示すデバイス値を取得して変数Var1に格納する。
【0041】
第2所定期間(10sec)において、制御部15がデバイス値を取得した回数は、10sec/500msec=20[回]である。また、図5に示すように、第2所定期間において、変数Var1に格納されたデバイス値が変化した回数は17回である。この場合、制御部15は、変化率として、(17/20)×100=85[%]と算出する。制御部15は、変化率を算出した後、デバイス値の変化率に応じて各デバイス3が所属するグループを変更する(S11)。
【0042】
<グループの変更>
図6は、図2に示すステップS11において制御部15が、デバイス3が所属するグループを変更する処理を示すフローチャートである。図7は、図6に示す、制御部15が、デバイス3が所属するグループを変更する処理を説明するための図である。
【0043】
図6に示すように、制御部15は、複数のグループの各々について、第2所定期間において当該グループに含まれるデバイス3の状態を示すデバイス値が変化する割合である変化率を監視する(S21)。次に、制御部15は、デバイス値の変化率が60%未満であるか否かを判定する(S22)。
【0044】
ステップS22において60%は、基準変化率範囲の下限値の一例である。基準変化率範囲は、デバイス3が所属するグループを変更しない変化率の範囲であり、例えば、60%以上90%未満の範囲である。基準変化率範囲は、ユーザメモリ13に記憶されるプロジェクトに予め記憶されているが、ユーザが設定可能であってもよい。
【0045】
制御部15は、デバイス値の変化率が60%未満であると判定した場合(S22でYES)、デバイス3が所属するグループを周期が長いグループに変更する(S23)。換言すると、制御部15は、変化率が60%未満となるデバイス3について、当該デバイス3が所属するグループを、第1周期が設定された第1グループから、当該第1周期よりも長い周期である第2周期が設定された第2グループに変更する。
【0046】
また、第2グループは、第1グループと隣接しているグループである。隣接とは、図7に示すように、複数のグループが、設定された周期が短い順または長い順に並んだ状態で、互いに2つのグループが隣接していることを示す。つまり、第2グループは、複数のグループが、設定された周期の順に並んだ場合に、第1グループと隣接しているグループである。
【0047】
制御部15は、ステップS22でYESの場合、デバイス3が現在所属しているグループに設定されている周期よりも長い周期が設定されているグループが存在しないとき、後述するステップS28の処理に移る。
【0048】
デバイス値の変化率が60%未満である場合、グループに設定された周期でデバイス値が変化していることが少なく、変化していないデバイス値が40%以上存在するため、デバイス値の取得の周期をより長くしてもよい。このため、制御部15は、ステップS23でデバイス3が所属するグループを周期が長いグループに変更することが好ましい。
【0049】
例えば、制御部15は、図4に示すグループG2に含まれる、デバイス32に対応する変数Var2について、デバイス値の変化率が60%未満であると判定した場合を考える。この場合、図7に示すように、制御部15は、変数Var2が所属するグループを、周期500msecが設定されたグループG2から、周期500msecよりも長い周期である周期1secが設定されたグループG3に変更する。
【0050】
そして、制御部15は、全てのデバイス3に対してグループを変更するか否かの判定を完了したか否かを判定する(S29)。制御部15は、全てのデバイス3に対してグループを変更するか否かの判定を完了したと判定した場合(S29でYES)、図6に示す処理を終了する。
【0051】
制御部15は、全てのデバイス3に対してグループを変更するか否かの判定を完了していないと判定した場合(S29でNO)、グループを変更したデバイス32以外の他のデバイス3について、ステップS21の処理から実行する。図7に示すように、互いに異なる周期が設定された複数のグループは、ユーザメモリ13に記憶されるプロジェクトに予め記憶されている。
【0052】
制御部15は、デバイス値の変化率が60%以上であると判定した場合(S22でNO)、デバイス値の変化率が90%以上95%未満であるか否かを判定する(S24)。ステップS24において90%は、基準変化率範囲の上限値の一例である。ただし、90%は基準変化率範囲には含まれない。制御部15は、デバイス値の変化率が90%以上95%未満であると判定した場合(S24でYES)、デバイス3が所属するグループを周期が短いグループに変更する(S25)。
【0053】
換言すると、制御部15は、変化率が90%以上となるデバイス3について、当該デバイス3が所属するグループを、第1周期が設定された第1グループから、当該第1周期よりも短い周期である第3周期が設定された第3グループに変更する。具体的には、制御部15は、変化率が90%以上95%未満となるデバイス3について、当該デバイス3が所属するグループを、第1グループから第3グループに変更する。また、第3グループは、第1グループと隣接しているグループである。
【0054】
制御部15は、ステップS24でYESの場合、デバイス3が現在所属しているグループに設定されている周期よりも短い周期が設定されているグループが存在しないとき、ステップS28の処理に移る。
【0055】
デバイス値の変化率が90%以上である場合、グループに設定された周期でデバイス値が変化していることが多いため、より短い周期でデバイス値が変化している可能性が高い。このため、制御部15は、ステップS25で、デバイス3が所属するグループを周期が短いグループに変更することが好ましい。
【0056】
例えば、制御部15は、図4に示すグループG3に含まれる、デバイス33に対応する変数Var3について、デバイス値の変化率が90%以上95%未満であると判定した場合を考える。この場合、図7に示すように、制御部15は、変数Var3が所属するグループを、周期1secが設定されたグループG3から、周期1secよりも短い周期である周期500msecが設定されたグループG2に変更する。そして、制御部15は、ステップS29の処理に移る。
【0057】
制御部15は、デバイス値の変化率が60%以上90%未満、または、95%以上であると判定した場合(S24でNO)、デバイス値の変化率が95%以上であるか否かを判定する(S26)。ステップS26において95%は、所定変化率の一例である。制御部15は、デバイス値の変化率が95%以上であると判定した場合(S26でYES)、図2に示すステップS2の処理に移る。
【0058】
デバイス値の変化率が95%以上である場合、グループに設定された周期でデバイス値が頻繁に変化していることになるため、ステップS2の処理に移り、デバイス3が所属するグループの変更の判定を再度行うことが好ましい。ここで、ステップS26でYESの場合を考える。この場合、制御部15は、デバイス3が所属するグループを、第1周期が設定された第1グループから、第1グループと隣接している第3グループに設定された第3周期よりもさらに短い周期である第4周期が設定された第4グループに変更してもよい。
【0059】
制御部15は、デバイス値の変化率が60%以上90%未満であると判定した場合(S26でNO)、デバイス3が所属するグループを変更しない(S28)。そして、制御部15は、ステップS29の処理に移る。
【0060】
以上のように、制御部15は、ステップS23またはS25において、デバイス値の変化率が60%以上90%未満の範囲外となるデバイス3について、当該デバイス3が所属するグループを変更する。これにより、制御部15は、デバイス値の変化率が大きく変化したデバイス3について、当該デバイス3が所属するグループを適切なグループに変更することができる。よって、デバイス値の変化率が大きく変化した場合において、プログラマブル表示器1とPLC2との通信頻度を適切な頻度にすることができる。
【0061】
また、従来では、プログラマブル表示器を現場(例えば、工場等)に設置した後、HMIの機能をプログラマブル表示器に組み込み、デバイス値の取得の周期を調整するように設定する必要があった。また、プログラマブル表示器(HMI)上の設定画面を用いて周期を調整しなければならなかった。さらに、HMI上の設定画面では、デバイスアドレスのグループ範囲の変更ができなかった。そこで、プログラマブル表示器1では、制御部15が、デバイス3が所属するグループを動的に変更するため、このような問題を解決することができる。
【0062】
デバイス値が変化する変化頻度は、時間によって変化する場合がある。このような場合であっても、制御部15は、デバイス値の変化率に応じてデバイス3が所属するグループを変更するため、デバイス値の不要な取得を低減でき、制御部15の不要な処理も削減できる。制御部15の不要な処理を削減できるため、制御部15による処理時間を短縮しつつ、HMIを動作させられる。制御部15の不要な処理を削減した分、他のHMIの機能に動作時間を割り当てることができ、他のHMIの機能のパフォーマンス性能を向上させることができる。
【0063】
また、ステップS23において、制御部15は、デバイス値の変化率が60%未満となるデバイス3について、当該デバイス3が所属するグループを、より長い周期が設定された第2グループに変更する。これにより、制御部15は、変化率が小さくなったデバイス値については少ない頻度で取得することができ、プログラマブル表示器1とPLC2との通信頻度を適切な頻度にすることができる。
【0064】
さらに、ステップS25において、制御部15は、デバイス値の変化率が90%以上95%未満となるデバイス3について、当該デバイス3が所属するグループを、より短い周期が設定された第3グループに変更する。これにより、制御部15は、変化率が大きくなったデバイス値については多頻度で取得することができ、表示部11に表示させるデバイス値の精度(デバイス値の表示精度)を向上することができる。
【0065】
図2に戻り、制御部15は、各デバイス3が所属するグループを変更した後、グループへの割り振りの実施開始時からの経過時間が所定時間以上であるか否かを判定する(S12)。当該所定時間は、例えば10min(分)である。また、上記経過時間には、制御部15が前回、ステップS13の処理を実行した時からの経過時間も含まれる。
【0066】
制御部15は、グループへの割り振りの実施開始時からの経過時間が所定時間以上であると判定した場合(S12でYES)、デバイス3が所属するグループの変更の基準となる基準変化率範囲を補正する(S13)。制御部15は、基準変化率範囲を補正した後、表示部11に表示される画面の切り替えを受け付けたか否かを判定する(S14)。
【0067】
制御部15は、画面の切り替えを受け付けたと判定した場合(S14でYES)、ステップS2の処理に移る。制御部15は、画面の切り替えを受け付けていないと判定した場合(S14でNO)、ステップS7の処理に移る。制御部15は、グループへの割り振りの実施開始時からの経過時間が所定時間未満であると判定した場合(S12でNO)、ステップS14の処理に移る。
【0068】
<基準変化率範囲の補正>
図8は、図2に示すステップS13において制御部15が、デバイス3が所属するグループの変更の基準となる基準変化率範囲を補正する処理を示すフローチャートである。図9は、図8に示す、制御部15が、デバイス3が所属するグループの変更の基準となる基準変化率範囲を補正する処理を説明するための図である。
【0069】
図8に示すように、制御部15は、複数のデバイス3の各々について、第3所定期間においてデバイス3が主グループに所属する割合である所属率を監視する(S41)。当該第3所定期間は、例えば10minである。ステップS41の処理について、図9を用いて具体的に説明する。図9において、変数Var1~Var10には、複数のデバイス3の各々の状態を示すデバイス値が格納される。
【0070】
図9に示すように、制御部15は、変数Var1~Var10の各々について、第3所定期間においてグループ毎に変数が当該グループに所属する所属回数を取得する。例えば、制御部15は、第3所定期間において変数Var1がグループG2に所属する所属回数として58回という情報を取得し、変数Var1がグループG3に所属する所属回数として2回という情報を取得する。
【0071】
制御部15は、変数Var1が各グループの所属回数に基づき、所属回数が最も多い主グループとしてグループG2を特定する。制御部15は、特定したグループG2について、第3所定期間において所属回数の合計60回に対する、変数Var1がグループG2に所属する所属回数58回の割合である所属率として、97%と算出する。制御部15は、所属率が最も高いグループの所属率を監視する。
【0072】
ステップS41において、グループ毎の所属率を考慮する場合、所属回数の合計値は一定であるため、制御部15は、グループ毎の所属回数を監視することで、グループ毎の所属率を監視することになる。つまり、制御部15は、複数のデバイス3の各々について、第3所定期間においてグループ毎にデバイス3が当該グループに所属する割合である所属率を監視する。
【0073】
次に、制御部15は、主グループの所属率が40%以上80%未満であるか否かを判定する(S42)。ステップS42において80%は、基準所属率範囲の上限値の一例である。ただし、80%は基準所属率範囲には含まれない。基準所属率範囲は、基準変化率範囲を補正する所属率の範囲であり、例えば、60%以上80%未満の範囲である。基準所属率範囲は、ユーザメモリ13に記憶されるプロジェクトに予め記憶されているが、ユーザが設定可能であってもよい。
【0074】
制御部15は、主グループの所属率が40%未満、または、80%以上であると判定した場合(S42でNO)、基準変化率範囲を補正しない(S51)。制御部15は、ステップS51の後、全てのデバイス3に対して基準変化率範囲を補正するか否かの判定を完了したか否かを判定する(S52)。
【0075】
制御部15は、全てのデバイス3に対して基準変化率範囲を補正するか否かの判定を完了したと判定した場合(S52でYES)、図8に示す処理を終了する。制御部15は、全てのデバイス3に対して基準変化率範囲を補正するか否かの判定を完了していないと判定した場合(S52でNO)、主グループの所属率についての判定を行ったデバイス3以外の他のデバイス3について、ステップS41の処理から実行する。
【0076】
制御部15は、主グループの所属率が40%以上80%未満であると判定した場合(S42でYES)、所属率が2番目に高いグループが主グループと隣接しているか否かを判定する(S43)。図9に示すように、例えば、制御部15は、変数Var2について主グループであるグループG2の所属率が68%であり、主グループの所属率が40%以上80%未満であると判定する。制御部15は、変数Var2について、所属率が2番目に高いグループとしてグループG3を特定し、特定したグループG3が、主グループであるグループG2と隣接しているか否かを判定する。
【0077】
制御部15は、所属率が2番目に高いグループが主グループと隣接していないと判定した場合(S43でNO)、ステップS51の処理に移る。例えば、制御部15は、変数Var9について、所属率が2番目に高いグループであるグループG2が、主グループであるグループG4と隣接していないと判定する。この場合、制御部15は、基準変化率範囲を補正しない。このとき、変数Var9が2つのグループG2,G4間を不安定に移動したとは考えにくいため、制御部15は基準変化率範囲を補正しないことが好ましい。
【0078】
制御部15は、所属率が2番目に高いグループが主グループと隣接していると判定した場合(S43でYES)、主グループの所属率が60%未満であるか否かを判定する(S44)。ステップS44において60%は、基準所属率範囲の下限値の一例である。
【0079】
例えば、変数Var7について、所属率が2番目に高いグループであるグループG3が、主グループであるグループG2と隣接しているため、制御部15は、所属率が2番目に高いグループが主グループと隣接していると判定する。制御部15は、変数Var7について、主グループであるグループG2の所属率が53%であるため、主グループの所属率が60%未満であると判定する。
【0080】
制御部15は、主グループの所属率が60%未満であると判定した場合(S44でYES)、所属率に関する所定条件を満たすか否かを判定する(S45)。当該所定条件は、例えば、所属率が最も高いグループの所属率と、所属率が2番目に高いグループの所属率と、の和が所定値以上となることである。当該所定値は例えば90%である。
【0081】
所属率が最も高いグループの所属率と、所属率が2番目に高いグループの所属率と、の和が所定値以上となることで、制御部15は、デバイス3のグループへの所属がこれらの2つのグループに略均等に分散していることを判断できる。
【0082】
制御部15は、所属率に関する上記所定条件を満たすと判定した場合(S45でYES)、中間グループを生成する(S46)。具体的には、制御部15は、例えば、所属率が最も高いグループの所属率と、所属率が2番目に高いグループの所属率と、の和が90%以上となることを判定したことになる。
【0083】
また、制御部15は、所属率が最も高いグループに設定された周期と、所属率が2番目に高いグループに設定された周期と、の間の周期が設定された中間グループを生成する。例えば、変数Var7について、主グループであるグループG2の所属率と、所属率が2番目に高いグループであるグループG3の所属率と、の和が100%である。このため、制御部15は、グループG2の所属率とグループG3の所属率との和が90%以上であると判定する。
【0084】
制御部15は、主グループであるグループG2に設定された周期500msecと、所属率が2番目に高いグループであるグループG3に設定された周期1secと、の間の周期である周期750msecが設定された中間グループを生成する。中間グループに設定される周期は、例えば、主グループに設定された周期と、所属率が2番目に高いグループに設定された周期と、の平均値である。
【0085】
ここで、変数Var7について、主グループであるグループG2の所属率は53%であり、グループG2,G3間を不安定に移動していると考えられる。このため、適切な周期が、グループG2に設定された周期と、グループG3に設定された周期と、の間に存在すると考えられる。よって、上述のように制御部15は中間グループを生成することが好ましい。
【0086】
制御部15は、中間グループを生成した後、デバイス3が所属するグループを、生成した中間グループに変更する(S47)。そして、制御部15は、ステップS52の処理に移る。
【0087】
所属率が最も高いグループの所属率と、所属率が2番目に高いグループの所属率と、の差が小さい場合、デバイス3のグループへの所属がこれらの2つのグループに略均等に分散していることになる。そこで、制御部15が、中間グループを生成し、デバイス3が所属するグループを中間グループに変更することで、所属率が最も高いグループの所属率を向上することができる。これによって、プログラマブル表示器1とPLC2との通信頻度をより適切な頻度にすることができる。
【0088】
一方、制御部15は、所属率に関する上記所定条件を満たさないと判定した場合(S45でNO)、ステップS51の処理に移る。このとき、制御部15は、例えば、所属率が最も高いグループの所属率と、所属率が2番目に高いグループの所属率と、の和が90%未満となることを判定したことになる。
【0089】
なお、例えば、変数Var7について、グループG1の所属回数が12回、グループG2の所属回数が32回、グループG3の所属回数が16回、グループG4,G5の所属回数がそれぞれ0回であったとする。この場合、主グループであるグループG2の所属率が53%であり、所属率が2番目に高いグループであるグループG3の所属率が27%である。
【0090】
よって、グループG2の所属率と、グループG3の所属率と、の和が80%であるため、制御部15は、和が90%未満であると判定する。このとき、変数Var7について3つ以上のグループに所属が分散しているため、制御部15は中間グループを生成せず、基準変化率範囲の補正も行わないことが好ましい。
【0091】
制御部15は、主グループの所属率が60%以上であると判定した場合(S44でNO)、所属率が2番目に高いグループの周期が主グループの周期よりも短いか否かを判定する(S48)。制御部15は、所属率が2番目に高いグループの周期が主グループの周期よりも短いと判定した場合(S48でYES)、基準変化率範囲の上限値を上げる(S49)。
【0092】
具体的には、例えば、変数Var6について、所属率が2番目に高いグループであるグループG1の周期100msecが、主グループであるグループG2の周期500msecよりも短い。このため、制御部15は、所属率が2番目に高いグループの周期が主グループの周期よりも短いと判定する。
【0093】
このとき、制御部15は、基準変化率範囲の上限値である90%の数値を、より高い数値に上げる。例えば、制御部15は、90%の数値を5%分上げ、95%とする。制御部15は、基準変化率範囲の上限値を上げた後、ステップS52の処理に移る。
【0094】
ここで、変数Var6について、グループG2に設定された周期よりも短い周期が設定されたグループG1への所属が17回発生している。つまり、変数Var6に格納されたデバイス値の変化率が90%以上となったことが17回発生していることになる。よって、基準変化率範囲の上限値90%を上げることにより、変数Var6におけるグループG1への所属回数を低減し、グループG2への所属を安定させることが好ましい。
【0095】
制御部15は、所属率が2番目に高いグループの周期が主グループの周期よりも長いと判定した場合(S48でNO)、基準変化率範囲の下限値を下げる(S50)。具体的には、例えば、変数Var2について、所属率が2番目に高いグループであるグループG3の周期1secが、主グループであるグループG2の周期500msecよりも長い。
【0096】
このため、制御部15は、所属率が2番目に高いグループの周期が主グループの周期よりも長いと判定する。このとき、制御部15は、基準変化率範囲の下限値である60%の数値を、より低い数値に下げる。例えば、制御部15は、60%の数値を5%分下げ、55%とする。制御部15は、基準変化率範囲の下限値を下げた後、ステップS52の処理に移る。
【0097】
ここで、変数Var2について、グループG2に設定された周期よりも長い周期が設定されたグループG3への所属が15回発生している。つまり、変数Var2に格納されたデバイス値の変化率が60%未満となったことが15回発生していることになる。よって、基準変化率範囲の下限値60%を下げることにより、変数Var2におけるグループG3への所属回数を低減し、グループG2への所属を安定させることが好ましい。
【0098】
以上により、制御部15は、デバイス値が変化する変化頻度に基づいて、互いに異なる周期が設定された複数のグループのうちいずれかのグループにデバイス3を割り振る。また、制御部15は、複数のグループの各々について、グループに設定された周期で、当該グループに含まれるデバイス3の状態を示すデバイス値を取得する。
【0099】
これにより、制御部15は、デバイス値が変化するタイミングに近いタイミングで、デバイス値を効率良く取得することができる。具体的には、制御部15は、グループにデバイス3を適切に割り振ることで、変化頻度が多いデバイス値については多頻度で取得し、変化頻度が少ないデバイス値については少ない頻度で取得することができる。よって、プログラマブル表示器1とPLC2との通信頻度を適切に設定することができる。
【0100】
また、制御部15は、一律の周期でPLC2からデバイス値を取得する場合に比べて、プログラマブル表示器1の演算負荷、及び、プログラマブル表示器1とPLC2との通信負荷も低減することができる。さらに、制御部15が各デバイス3を、互いに異なる周期が設定された複数のグループのいずれかに自動的に割り振るため、ユーザがデバイス値の取得の周期を手動で設定する必要がない。よって、プログラマブル表示器1によって、制御対象(例えば、工場に導入されたシステム及び装置(デバイス3を含む))を運転させる前のプログラマブル表示器1の設定時間を短縮できる。
【0101】
制御部15は、ステップS44でNOの場合、つまり、所属率が最も高いグループの所属率が、基準所属率範囲内である場合、所属率が2番目に高いグループに設定された周期に基づき、基準変化率範囲を補正する。
【0102】
所属率が最も高いグループの所属率が基準所属率範囲内である場合、デバイス3のグループへの所属が1つのグループに偏っておらず、複数のグループに分散していることになる。そこで、制御部15が、所属率が2番目に高いグループに設定された周期に基づき、基準変化率範囲を適切に補正することにより、所属率が2番目に高いグループの所属率を下げ、所属率が最も高いグループの所属率を上げることができる。よって、デバイス3が所属するグループの変更回数を低減することができ、一時的な不要なグループ変更の処理の実行を避けることができる。したがって、制御部15の処理負担を低減することができる。
【0103】
さらに、ステップS48でYESの場合を考える。つまり、所属率が最も高いグループの所属率が、基準所属率範囲内であり、かつ、所属率が2番目に高いグループに設定された周期が、所属率が最も高いグループに設定された周期よりも短い場合を考える。この場合、制御部15は、ステップS49において基準変化率範囲の上限値を上げる。これにより、より短い周期が設定された、所属率が2番目に高いグループの所属率を下げ、所属率が最も高いグループの所属率を上げることができる。
【0104】
ステップS48でNOの場合を考える。つまり、所属率が最も高いグループの所属率が、基準所属率範囲内であり、かつ、所属率が2番目に高いグループに設定された周期が、所属率が最も高いグループに設定された周期よりも長い場合を考える。この場合、制御部15は、ステップS50において基準変化率範囲の下限値を下げる。これにより、より長い周期が設定された、所属率が2番目に高いグループの所属率を下げ、所属率が最も高いグループの所属率を上げることができる。
【0105】
〔実施形態2〕
本発明の実施形態2について、以下に説明する。なお、説明の便宜上、実施形態1にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
【0106】
図10は、本発明の実施形態2について、図2に示すステップS2,S4~S6の処理を説明するための図である。図10の符号1001に示す表において、左側の列は、制御部15がデバイス値の取得を開始してからの経過時間[sec]を示し、デバイス値が変化した箇所については、数値を四角で囲んで示している。ステップS2において、制御部15は、まず、表示部11における画面の表示に含まれるデバイス3の状態を示すデバイス値が記憶されている、記憶部21上のデバイスアドレスを特定してもよい。
【0107】
また、制御部15は、特定したデバイスアドレスのうち、記憶部21上で連続するデバイスアドレスがある場合、連続する当該デバイスアドレスをデバイスアドレス群とする。制御部15は、通信部14により、上記第1所定期間、デバイスアドレス群に含まれるデバイスアドレスに記憶されているデバイス値を上記所定周期で取得する。
【0108】
例えば、図10の符号1001において、制御部15は、デバイス31の状態を示すデバイス値が記憶されている、記憶部21上のデバイスアドレスを特定する。デバイスアドレス群に含まれるデバイスアドレスに記憶されているデバイス値は、変数Var1[0]~Var1[9]に格納される。制御部15は、上記所定周期でデバイスアドレス群に含まれるデバイスアドレスに記憶されているデバイス値を取得し、取得したデバイス値を、変数Var1[0]~Var1[9]のそれぞれに格納する。
【0109】
以上のように、制御部15は、記憶部21上で連続するデバイスアドレスをデバイスアドレス群とし、デバイスアドレス群に含まれるデバイスアドレスに記憶されているデバイス値を上記所定周期で取得する。これにより、制御部15は、複数のデバイス値をまとめて取得することができるため、プログラマブル表示器1とPLC2との通信頻度を低減することができる。
【0110】
制御部15は、取得したデバイス値を変数Var1[0]~Var1[9]のそれぞれに格納した後、ステップS4において、図10の符号1002に示すように、変数Var1[0]~Var1[9]のそれぞれに格納したデバイス値の変化履歴をユーザメモリ13に記憶させる。制御部15は、デバイス値の変化履歴をユーザメモリ13に記憶させた後、ステップS5において、変数Var1[0]~Var1[9]のそれぞれについて、デバイス値が変化した時間間隔[sec]の平均値を算出する。
【0111】
制御部15は、デバイス値が変化した時間間隔の平均値を算出した後、変数Var1[0]~Var1[9]のそれぞれのデバイス値の時間間隔の平均値のうち、変数Var1[1]に格納されたデバイス値の時間間隔の平均値が最小値であると特定する。また、制御部15は、他のデバイス3に対応するデバイスアドレス群に記憶されているデバイス値が格納された変数についても同様に、デバイス値が変化した時間間隔の平均値の最小値を特定する。
【0112】
制御部15は、ステップS6において、最小値であると特定したデバイス値の時間間隔の平均値に基づいて、複数のグループのうちいずれかのグループにデバイス3を割り振る。つまり、制御部15は、複数のグループのうちいずれかのグループに変数Var1[0]~Var1[9]を割り振る。また、制御部15は、他のデバイス3についても同様に、複数のグループのうちいずれかのグループに他のデバイス3に対応する複数の変数Var2[i]及び複数の変数Var3[j](i,jは0以上の整数)等を割り振る。以降、同様にして、制御部15は、ステップS7以降の処理を実行する。
【0113】
〔ソフトウェアによる実現例〕
プログラマブル表示器1(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の制御ブロック(制御部15)としてコンピュータを機能させるためのプログラムにより実現することができる。
【0114】
この場合、上記装置は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
【0115】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0116】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0117】
〔まとめ〕
本発明の態様1に係るプログラマブル表示器は、複数のデバイスを管理するプログラマブルロジックコントローラと通信可能に構成された通信部と、前記複数のデバイスのうち少なくとも1つのデバイスの状態の表示を含む画面を表示する表示部と、制御部と、を備えるプログラマブル表示器であって、前記制御部は、前記通信部により、第1所定期間、前記複数のデバイスの各々について、前記デバイスの状態を示すデバイス値を前記プログラマブルロジックコントローラから所定周期で取得し、前記複数のデバイスの各々について、取得した前記デバイス値を用いて算出した、当該デバイス値が変化する変化頻度に基づいて、互いに異なる周期が設定された複数のグループのうちいずれかのグループに前記デバイスを割り振り、前記複数のグループの各々について、前記グループに設定された周期で、当該グループに含まれる前記デバイスの状態を示す前記デバイス値を前記通信部により取得し、取得した前記デバイス値を用いて、前記表示部に前記画面を更新させる。
【0118】
制御部は、デバイス値が変化する変化頻度に基づいて、互いに異なる周期が設定された複数のグループのうちいずれかのグループにデバイスを割り振る。また、制御部は、複数のグループの各々について、グループに設定された周期で、当該グループに含まれるデバイスの状態を示すデバイス値を取得する。
【0119】
これにより、制御部は、デバイス値が変化するタイミングに近いタイミングで、デバイス値を効率良く取得することができる。具体的には、制御部は、グループにデバイスを適切に割り振ることで、変化頻度が多いデバイス値については多頻度で取得し、変化頻度が少ないデバイス値については少ない頻度で取得することができる。よって、プログラマブル表示器とプログラマブルロジックコントローラとの通信頻度を適切な頻度にすることができる。
【0120】
また、従来では、画面毎に、各デバイス(オブジェクト)に対して、デバイス値の読み出し周期を予め設定しておく必要があった。本発明の態様1に係るプログラマブル表示器では、制御部が、デバイス値が変化する変化頻度に基づいて、複数のグループのうちいずれかのグループにデバイスを割り振る。このため、ユーザは、画面毎にデバイス値の読み出し周期を設定しなくてもよい。したがって、ユーザの作業工数を削減することができる。
【0121】
本発明の態様2に係るプログラマブル表示器では、上記態様1において、前記制御部は、前記複数のグループの各々について、第2所定期間において当該グループに含まれる前記デバイスの状態を示す前記デバイス値が変化する割合である変化率を監視し、前記変化率が基準変化率範囲外となる前記デバイスについて、当該デバイスが所属する前記グループを変更してもよい。
【0122】
制御部は、変化率が基準変化率範囲外となるデバイスについて、当該デバイスが所属するグループを変更する。これにより、制御部は、デバイス値の変化率が大きく変化したデバイスについて、当該デバイスが所属するグループを適切なグループに変更することができる。よって、デバイス値の変化率が大きく変化した場合において、プログラマブル表示器とプログラマブルロジックコントローラとの通信頻度を適切な頻度にすることができる。
【0123】
また、制御部が、変化率が基準変化率範囲外となるデバイスについて、当該デバイスが所属するグループを変更するので、プログラマブル表示器を現場に設置した後、ユーザは、画面毎にデバイスの読み出し周期を調整しなくてもよい。したがって、ユーザの作業工数を削減することができる。
【0124】
本発明の態様3に係るプログラマブル表示器では、上記態様2において、前記制御部は、前記変化率が前記基準変化率範囲の下限値未満となる前記デバイスについて、当該デバイスが所属する前記グループを、第1周期が設定された第1グループから、当該第1周期よりも長い周期である第2周期が設定された第2グループに変更してもよい。
【0125】
制御部は、変化率が基準変化率範囲の下限値未満となるデバイスについて、当該デバイスが所属するグループを、より長い周期が設定された第2グループに変更する。これにより、制御部は、変化率が小さくなったデバイス値については少ない頻度で取得することができ、プログラマブル表示器とプログラマブルロジックコントローラとの通信頻度を適切な頻度にすることができる。
【0126】
本発明の態様4に係るプログラマブル表示器では、上記態様2または3において、前記制御部は、前記変化率が前記基準変化率範囲の上限値以上となる前記デバイスについて、当該デバイスが所属する前記グループを、第1周期が設定された第1グループから、当該第1周期よりも短い周期である第3周期が設定された第3グループに変更してもよい。
【0127】
制御部は、変化率が基準変化率範囲の上限値以上となるデバイスについて、当該デバイスが所属するグループを、より短い周期が設定された第3グループに変更する。これにより、制御部は、変化率が大きくなったデバイス値については多頻度で取得することができ、デバイス値の表示精度を向上することができる。
【0128】
本発明の態様5に係るプログラマブル表示器では、上記態様2から4のいずれかにおいて、前記制御部は、前記複数のデバイスの各々について、第3所定期間において前記グループ毎に前記デバイスが当該グループに所属する割合である所属率を監視し、前記所属率が最も高い前記グループの前記所属率が、基準所属率範囲内である場合、前記所属率が2番目に高い前記グループに設定された周期に基づき、前記基準変化率範囲を補正してもよい。
【0129】
所属率が最も高いグループの所属率が基準所属率範囲内である場合、デバイスのグループへの所属が1つのグループに偏っておらず、複数のグループに分散していることになる。そこで、制御部が、所属率が2番目に高いグループに設定された周期に基づき、基準変化率範囲を適切に補正することにより、所属率が2番目に高いグループの所属率を下げ、所属率が最も高いグループの所属率を上げることができる。よって、デバイスが所属するグループの変更回数を低減することができ、制御部の処理負担を低減することができる。
【0130】
本発明の態様6に係るプログラマブル表示器では、上記態様5において、前記制御部は、前記所属率が最も高い前記グループの前記所属率が、前記基準所属率範囲内であり、かつ、前記所属率が2番目に高い前記グループに設定された周期が、前記所属率が最も高い前記グループに設定された周期よりも長い場合、前記基準変化率範囲の下限値を下げてもよい。
【0131】
所属率が2番目に高いグループに設定された周期が、所属率が最も高いグループに設定された周期よりも長い場合、制御部は、基準変化率範囲の下限値を下げる。これにより、より長い周期が設定された、所属率が2番目に高いグループの所属率を下げ、所属率が最も高いグループの所属率を上げることができる。
【0132】
本発明の態様7に係るプログラマブル表示器では、上記態様5または6において、前記制御部は、前記所属率が最も高い前記グループの前記所属率が、前記基準所属率範囲内であり、かつ、前記所属率が2番目に高い前記グループに設定された周期が、前記所属率が最も高い前記グループに設定された周期よりも短い場合、前記基準変化率範囲の上限値を上げてもよい。
【0133】
所属率が2番目に高いグループに設定された周期が、所属率が最も高いグループに設定された周期よりも短い場合、制御部は、基準変化率範囲の上限値を上げる。これにより、より短い周期が設定された、所属率が2番目に高いグループの所属率を下げ、所属率が最も高いグループの所属率を上げることができる。
【0134】
本発明の態様8に係るプログラマブル表示器では、上記態様2から7のいずれかにおいて、前記制御部は、前記複数のデバイスの各々について、第3所定期間において前記グループ毎に前記デバイスが当該グループに所属する割合である所属率を監視し、前記所属率に関する所定条件を満たした場合、前記所属率が最も高い前記グループに設定された周期と、前記所属率が2番目に高い前記グループに設定された周期と、の間の周期が設定された中間グループを生成し、前記デバイスが所属する前記グループを、生成した前記中間グループに変更してもよい。
【0135】
所属率が最も高いグループの所属率と、所属率が2番目に高いグループの所属率と、の差が小さい場合、デバイスのグループへの所属がこれらの2つのグループに略均等に分散していることになる。そこで、制御部が、中間グループを作成し、デバイスが所属するグループを中間グループに変更することで、所属率が最も高いグループの所属率を向上することができる。
【0136】
本発明の態様9に係るプログラマブル表示器では、上記態様8において、前記所定条件は、前記所属率が最も高い前記グループの前記所属率と、前記所属率が2番目に高い前記グループの前記所属率と、の和が所定値以上となることであってもよい。
【0137】
所属率が最も高いグループの所属率と、所属率が2番目に高いグループの所属率と、の和が所定値以上となることで、制御部は、デバイスのグループへの所属がこれらの2つのグループに略均等に分散していることを判断できる。
【0138】
本発明の態様10に係るプログラマブル表示器では、上記態様1から9のいずれかにおいて、前記プログラマブルロジックコントローラは、複数の前記デバイス値を記憶する記憶部を備え、前記制御部は、前記画面の表示に含まれる前記デバイスの状態を示す前記デバイス値が記憶されている、前記記憶部上のデバイスアドレスを特定し、特定した前記デバイスアドレスのうち、前記記憶部上で連続する前記デバイスアドレスがある場合、連続する当該デバイスアドレスをデバイスアドレス群とし、前記通信部により、前記第1所定期間、前記デバイスアドレス群に含まれる前記デバイスアドレスに記憶されている前記デバイス値を前記所定周期で取得してもよい。
【0139】
制御部は、記憶部上で連続するデバイスアドレスをデバイスアドレス群とし、デバイスアドレス群に含まれるデバイスアドレスに記憶されているデバイス値を所定周期で取得する。これにより、制御部は、複数のデバイス値をまとめて取得することができるため、プログラマブル表示器とプログラマブルロジックコントローラとの通信頻度を低減することができる。
【0140】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0141】
1 プログラマブル表示器
2 PLC
3、31~34 デバイス
11 表示部
14 通信部
15 制御部
21 記憶部
G1~G5 グループ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10