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

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

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

<>
  • 特開-作成装置及びプログラマブル表示器 図1
  • 特開-作成装置及びプログラマブル表示器 図2
  • 特開-作成装置及びプログラマブル表示器 図3
  • 特開-作成装置及びプログラマブル表示器 図4
  • 特開-作成装置及びプログラマブル表示器 図5
  • 特開-作成装置及びプログラマブル表示器 図6
  • 特開-作成装置及びプログラマブル表示器 図7
  • 特開-作成装置及びプログラマブル表示器 図8
  • 特開-作成装置及びプログラマブル表示器 図9
  • 特開-作成装置及びプログラマブル表示器 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023160082
(43)【公開日】2023-11-02
(54)【発明の名称】作成装置及びプログラマブル表示器
(51)【国際特許分類】
   G09G 5/00 20060101AFI20231026BHJP
   G05B 19/05 20060101ALI20231026BHJP
【FI】
G09G5/00 510C
G05B19/05 B
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022070152
(22)【出願日】2022-04-21
(71)【出願人】
【識別番号】317014747
【氏名又は名称】シュナイダーエレクトリックホールディングス株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】杉本 賢亮
(72)【発明者】
【氏名】手嶋 晋太郎
(72)【発明者】
【氏名】松下 健二
【テーマコード(参考)】
5C182
5H220
【Fターム(参考)】
5C182AB20
5C182AC02
5C182BA06
5C182BA65
5C182CA21
5C182CA32
5C182CB44
5H220BB03
5H220CC08
5H220JJ12
5H220JJ53
5H220JJ59
(57)【要約】
【課題】プログラマブル表示器について処理速度を向上するとともに、記憶領域を削減する。
【解決手段】PC(1)は、プログラマブル表示器(2)の表示に用いられるプロジェクトを作成し、第1オブジェクトを表示するための第1表示情報を含むマスタデータを生成するマスタ生成部(11)と、第2オブジェクトを表示するための第2表示情報を特定する特定部(12)と、第2表示情報と、第1表示情報を参照するための参照情報と、を含むスレーブデータを生成するスレーブ生成部(13)と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
プログラマブル表示器の表示に用いられる、オブジェクトを少なくとも1つ含む複合オブジェクトを有する画面を規定するプロジェクトを作成する作成装置であって、
前記複合オブジェクトに含まれる前記オブジェクトのうち第1オブジェクトを表示するための第1表示情報を含むマスタデータを生成するマスタ生成部と、
前記複合オブジェクトに含まれる前記オブジェクトのうち、前記第1オブジェクトとは異なる第2オブジェクトを表示するための第2表示情報を特定する特定部と、
前記特定部によって特定された前記第2表示情報と、前記第1表示情報を参照するための参照情報と、を含むスレーブデータを生成するスレーブ生成部と、を備えることを特徴とする作成装置。
【請求項2】
前記第1表示情報は、前記第1オブジェクトの属性を示す第1属性情報を含み、
前記第2表示情報は、前記第2オブジェクトの属性を示す第2属性情報を含み、
前記参照情報は、前記第1属性情報を参照するための情報であることを特徴とする請求項1に記載の作成装置。
【請求項3】
前記第1表示情報は、前記第1オブジェクト毎に、前記第1オブジェクトの属性を示す第1属性情報を含み、
前記第2表示情報は、前記第2オブジェクトの属性を示す第2属性情報を含み、
前記参照情報は、前記第1オブジェクト毎に前記第1属性情報を参照するための情報であることを特徴とする請求項1に記載の作成装置。
【請求項4】
前記参照情報は、前記第1表示情報に基づいて生成されたハッシュ値であることを特徴とする請求項1に記載の作成装置。
【請求項5】
前記第1表示情報は、前記スレーブデータが編集される場合において変更不可の情報であることを特徴とする請求項1に記載の作成装置。
【請求項6】
請求項1から5のいずれか1項に記載の作成装置によって作成された前記プロジェクトにより規定された前記画面を表示する前記プログラマブル表示器であって、
前記マスタデータから前記第1表示情報の第1インスタンスを生成する第1生成部と、
前記スレーブデータから、前記第2表示情報の第2インスタンスと、前記第1生成部によって生成された前記第1インスタンスを参照するインスタンス参照情報と、を生成する第2生成部と、を備えることを特徴とするプログラマブル表示器。
【請求項7】
前記第2生成部が複数の前記第2インスタンスを生成した場合、複数の前記第2インスタンスを1つの状態情報として管理する管理部と、
前記管理部によって管理された前記1つの状態情報が変更されたことに基づき、複数の前記第2インスタンスの全体の表示を変更する表示制御部と、を備えることを特徴とする請求項6に記載のプログラマブル表示器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作成装置及びプログラマブル表示器に関する。
【背景技術】
【0002】
特許文献1に開示の作画装置は、ユーザがオブジェクト追加などの選択操作を行うことにより、複合オブジェクト編集画面内に、複合オブジェクトにて使用する構成オブジェクトを配置する。また、当該作画装置は、複合オブジェクトのプロパティと構成オブジェクトのプロパティとの割り当てを行い、複合オブジェクトで使用するプロパティの種別とプロパティ名とを定義する。さらに、上記作画装置は、個々の複合オブジェクトのプロパティに対し、構成オブジェクトのプロパティを紐づける。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第2012/117539号
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示の作画装置では、複合オブジェクトが複製される場合、同じ情報が複数生成される。このため、プログラマブル表示器が、作画装置によって作成された作画データを用いて画面を表示する場合、プログラマブル表示器について処理速度が遅くなり、多くの記憶領域が使用されるという問題がある。特にプログラマブル表示器を動作させるプログラムが、オブジェクト指向プログラミングによって作成されている場合は、このような問題がより懸念される。
【0005】
本発明の一態様は、プログラマブル表示器が、複合オブジェクトを有する画面を規定するプロジェクトを用いて画面を表示する場合において、プログラマブル表示器について処理速度を向上するとともに、記憶領域を削減することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本発明の一態様に係る作成装置は、プログラマブル表示器の表示に用いられる、オブジェクトを少なくとも1つ含む複合オブジェクトを有する画面を規定するプロジェクトを作成する作成装置であって、前記複合オブジェクトに含まれる前記オブジェクトのうち第1オブジェクトを表示するための第1表示情報を含むマスタデータを生成するマスタ生成部と、前記複合オブジェクトに含まれる前記オブジェクトのうち、前記第1オブジェクトとは異なる第2オブジェクトを表示するための第2表示情報を特定する特定部と、前記特定部によって特定された前記第2表示情報と、前記第1表示情報を参照するための参照情報と、を含むスレーブデータを生成するスレーブ生成部と、を備える。
【0007】
スレーブ生成部は、特定部によって特定された第2表示情報と、第1表示情報を参照するための参照情報と、を含むスレーブデータを生成する。このため、複数のスレーブデータが生成される場合、各スレーブデータは、マスタデータが含む第1表示情報を参照するものとなる。よって、複合オブジェクトが複製されるときに同じ第1表示情報が複数生成されることがなく、プログラマブル表示器がスレーブデータを用いる場合、プログラマブル表示器について処理速度を向上でき、記憶領域を削減できる。
【0008】
前記第1表示情報は、前記第1オブジェクトの属性を示す第1属性情報を含み、前記第2表示情報は、前記第2オブジェクトの属性を示す第2属性情報を含み、前記参照情報は、前記第1属性情報を参照するための情報であってもよい。マスタデータには、第1属性情報が含まれ、スレーブデータには、第1属性情報を参照するための参照情報が含まれる。これにより、同じ第1属性情報を複数記憶し、生成する必要がなくなる。
【0009】
前記第1表示情報は、前記第1オブジェクト毎に、前記第1オブジェクトの属性を示す第1属性情報を含み、前記第2表示情報は、前記第2オブジェクトの属性を示す第2属性情報を含み、前記参照情報は、前記第1オブジェクト毎に前記第1属性情報を参照するための情報であってもよい。マスタデータには、第1オブジェクト毎に第1属性情報が含まれ、スレーブデータには、第1オブジェクト毎に第1属性情報を参照するための参照情報が含まれる。これにより、参照情報を削減することができる。
【0010】
前記参照情報は、前記第1表示情報に基づいて生成されたハッシュ値であってもよい。参照情報は、第1表示情報に基づいて生成されたハッシュ値であるため、参照情報の管理が容易または不要となる。
【0011】
前記第1表示情報は、前記スレーブデータが編集される場合において変更不可の情報であってもよい。ユーザがスレーブデータを編集する場合、ユーザが誤って参照先の第1表示情報を編集してしまうという誤操作を防ぐことができる。
【0012】
本発明の一態様に係るプログラマブル表示器は、前記作成装置によって作成された前記プロジェクトにより規定された前記画面を表示する前記プログラマブル表示器であって、前記マスタデータから前記第1表示情報の第1インスタンスを生成する第1生成部と、前記スレーブデータから、前記第2表示情報の第2インスタンスと、前記第1生成部によって生成された前記第1インスタンスを参照するインスタンス参照情報と、を生成する第2生成部と、を備えてもよい。
【0013】
第2生成部は、第2表示情報の第2インスタンスと、第1生成部によって生成された第1インスタンスを参照するインスタンス参照情報と、を生成する。このため、複数のインスタンス参照情報が生成される場合、各インスタンス参照情報は、第1インスタンスを参照し実行するものとなる。よって、同じ第1インスタンスが複数生成されることがなく、プログラマブル表示器がスレーブデータを用いて複合オブジェクトを表示する場合、プログラマブル表示器について処理速度を向上でき、記憶領域を削減できる。
【0014】
前記プログラマブル表示器は、前記第2生成部が複数の前記第2インスタンスを生成した場合、複数の前記第2インスタンスを1つの状態情報として管理する管理部と、前記管理部によって管理された前記1つの状態情報が変更されたことに基づき、複数の前記第2インスタンスの全体の表示を変更する表示制御部と、を備えてもよい。表示制御部は、複数の第2インスタンスの全体の表示を変更するため、ユーザが認識し易い画面とすることができる。
【発明の効果】
【0015】
本発明の一態様によれば、プログラマブル表示器について処理速度を向上でき、記憶領域を削減できる。
【図面の簡単な説明】
【0016】
図1】本発明の実施形態1に係るPCと、プログラマブル表示器と、の構成を示すブロック図である。
図2図1に示すPCによって作成されるプロジェクトが規定する画面に含まれる複合オブジェクトの一例としての数値表示器を示す図である。
図3図1に示すPCによって作成されるプロジェクトに含まれるマスタデータ及び複数のスレーブデータを示す図である。
図4図1に示すPCの制御部がプロジェクトを作成する処理の流れの一例を示すフローチャートである。
図5】本発明の実施形態2においてプロジェクトに含まれるマスタデータ及び複数のスレーブデータを示す図である。
図6】本発明の実施形態2においてPCの制御部がプロジェクトを作成する処理の流れの一例を示すフローチャートである。
図7】本発明の実施形態3においてプロジェクトに含まれるマスタデータ及び複数のスレーブデータを示す図である。
図8】従来技術及び実施形態1~3のインスタンス数及び参照情報数を示すグラフである。
図9】本発明の実施形態4においてプロジェクトに含まれるマスタデータ及び複数のスレーブデータを示す図である。
図10】(A)は、従来のプログラマブル表示器が表示する画面を示す図である。(B)は、本発明の実施形態5においてプログラマブル表示器の表示パネルが表示する画面を示す図である。
【発明を実施するための形態】
【0017】
〔実施形態1〕
パーソナルコンピュータ(以降、単に「PC」と称する)1と、プログラマブル表示器2と、の構成について図1に基づいて説明する。図1は、本発明の実施形態1に係るPC1と、プログラマブル表示器2と、の構成を示すブロック図である。
【0018】
(PC1)
PC1は、図1に示すように、制御部10と、記憶部20と、インタフェース部30と、表示部40と、操作部50と、を備える。PC1は、プログラマブル表示器2と通信可能に接続される。PC1は、プログラマブル表示器2の表示に用いられるプロジェクトを作成する作成装置の一例である。プロジェクトは、オブジェクトを少なくとも1つ含む複合オブジェクトを有する画面を規定する。
【0019】
制御部10は、マスタ生成部11と、特定部12と、スレーブ生成部13と、を備える。制御部10は、PC1の各部を制御するとともに、プロジェクトを作成する。マスタ生成部11、特定部12及びスレーブ生成部13の処理の詳細については後述する。記憶部20は、制御部10によって作成されたプロジェクトを記憶する。
【0020】
インタフェース部30は、PC1がプログラマブル表示器2と通信を行うための通信部である。表示部40は、PC1での処理内容を表示するモニタである。操作部50は、例えば、ユーザがデータの入力を行うためのキーボードやユーザが操作を行うためのマウスである。
【0021】
(プログラマブル表示器2)
プログラマブル表示器2は、図1に示すように、制御部21と、表示パネル22と、タッチパネル23と、ユーザメモリ24と、インタフェース部25,26と、を備える。プログラマブル表示器2は、外部機器としてのPLC(プログラマブルロジックコントローラ)3と接続されている。
【0022】
プログラマブル表示器2は、通信ケーブルを介してPLC3と接続されることにより、PLC3との間で通信を行う。プログラマブル表示器2は、操作及び表示のための画面を表示することにより、プログラマブル表示器特有の操作機能と表示機能とを実現する専用コンピュータであり、HMI(Human Machine Interface)機器として使用される。
【0023】
制御部21は、PLC3と接続されたデバイス4の状態を表示する動作や、タッチパネル23への操作に応じてデバイス4の状態を制御する動作を特定する。制御部21は、第1生成部211と、第2生成部212と、管理部213と、表示制御部214と、を備える。第1生成部211、第2生成部212、管理部213及び表示制御部214の処理の詳細については後述する。
【0024】
表示パネル22は、ユーザによって作成された画面や、デバイス4の状態を表示する。ユーザメモリ24は、PC1によって作成された画面を、関連する複数の画面のまとまりとしてプロジェクトというファイル形式で記憶する。プロジェクトは、PC1の制御部10によって作成されて、PC1からダウンロードされる。
【0025】
インタフェース部25は、プログラマブル表示器2がPC1と通信を行うための通信部である。インタフェース部26は、プログラマブル表示器2がPLC3と通信を行うための通信部である。
【0026】
PLC3は、ユーザによって作成されたシーケンスプログラムにしたがって、予め定められたスキャンタイム毎に、デバイス4の状態を読み出したり、デバイス4に制御指示を与えたりする制御装置である。
【0027】
(複合オブジェクト)
図2は、図1に示すPC1によって作成されるプロジェクトが規定する画面に含まれる複合オブジェクトの一例としての数値表示器NDを示す図である。図2の(A)に示すように、数値表示器NDは、グリッドGLと、四角形Q1と、文字表示CHと、四角形Q2と、多角形TR1と、四角形Q3と、多角形TR2と、を含む。グリッドGL、四角形Q1、文字表示CH、四角形Q2、多角形TR1、四角形Q3及び多角形TR2は、オブジェクトの一例としての部品である。
【0028】
グリッドGLは、数値表示器NDが配置される領域を2行×3列の領域に分割する不可視の線である。四角形Q1は、グリッドGLによって分割された領域のうち、左側の2行×2列の領域に配置される四角形である。文字表示CHは、グリッドGLによって分割された領域のうち、左側の2行×2列の領域に配置される文字表示である。
【0029】
四角形Q2は、グリッドGLによって分割された領域のうち、1行3列目の領域に配置される四角形である。多角形TR1は、グリッドGLによって分割された領域のうち、1行3列目の領域に、頂点が上になるように配置される正三角形である。四角形Q3は、グリッドGLによって分割された領域のうち、2行3列目の領域に配置される四角形である。多角形TR2は、グリッドGLによって分割された領域のうち、2行3列目の領域に、頂点が下になるように配置される正三角形である。
【0030】
(マスタデータ)
図3は、図1に示すPC1によって作成されるプロジェクトに含まれるマスタデータMD及び複数のスレーブデータSD-1~SD-Nを示す図である。マスタデータMDはリストを含み、リストは複数の参照情報及び複数の値を有する。リストにおいて複数の参照情報と複数の値とが対応付けられている。
【0031】
リストにおける複数の参照情報と複数の値との対応関係は、図3に示す通りである。リストが有する複数の値は、スレーブデータSD-1~SD-Nが含む複数の部品のプロパティ間で共通して用いられる。また、リストが有する複数の値のそれぞれは、プログラマブル表示器2により生成されるインスタンス(実体)などのデータのまとまりを意味する。
【0032】
マスタデータMDのリストが有する複数の値は、第1オブジェクトを表示するための第1表示情報の一例である。第1オブジェクトについては後述する。また、マスタデータMDのリストが有する複数の値は、第1オブジェクトの属性を示す第1属性情報である。つまり、第1表示情報は第1属性情報を含む。なお、第1表示情報は、第1属性情報以外に、第1オブジェクトの実体を示す第1実体情報を含んでもよい。
【0033】
値V_RWは、グリッドによって2行の領域に分割されることを示す値であり、値V_CLは、グリッドによって3列の領域に分割されることを示す値である。値V_LC1は、グリッドによって分割される領域のうち、1行1列目の領域の位置を示す値であり、値V_BDは、境界色または境界線の色を示す値である。
【0034】
値V_FC1は水色を示す値であり、値V_FC2は白色を示す値である。値V_LC2は、グリッドによって分割される領域のうち、1行3列目の領域の位置を示す値であり、値V_FC3は黄色を示す値である。
【0035】
値V_OP1は、数値を1つ加算させる関数を示す値であり、値V_DT1は、頂点が上を向く正三角形を示す値である。値V_LC3は、グリッドによって分割される領域のうち、2行3列目の領域の位置を示す値であり、値V_OP2は、数値を1つ減算させる関数を示す値である。値V_DT2は、頂点が下を向く正三角形を示す値である。
【0036】
(スレーブデータ)
スレーブデータSD-1は、複数の部品に対応する複数の値を含む。スレーブデータSD-1において複数の部品の名前と複数の値とが対応付けられている。スレーブデータSD-1における複数の部品の名前と複数の値との対応関係は、図3に示す通りである。
【0037】
値GL-1は、グリッドGLの実体を示す値であり、値Q1-1は、四角形Q1の実体を示す値である。値CH-1は、文字表示CHの実体を示す値であり、値Q2-1は、四角形Q2の実体を示す値である。値TR1-1は、多角形TR1の実体を示す値であり、値Q3-1は、四角形Q3の実体を示す値である。値TR2-1は、多角形TR2の実体を示す値である。
【0038】
また、スレーブデータSD-1は、複数の部品のプロパティと公開プロパティとを含む。文字表示CHのプロパティを除く複数の部品のプロパティは、複数の名前及び複数の参照情報を有する。文字表示CHのプロパティを除く複数の部品のプロパティにおいて、複数の名前と複数の参照情報とが対応付けられて記憶されている。
【0039】
文字表示CHのプロパティは、複数の名前と、複数の参照情報と、1つの値と、を有する。文字表示CHのプロパティにおいて、複数の名前と、複数の参照情報または1つの値と、が対応付けられている。公開プロパティは、1つの名前及び1つの値を有する。公開プロパティは、文字表示CHに特有の情報である。公開プロパティにおいて1つの名前と1つの値とが対応付けられている。
【0040】
グリッドGLのプロパティは、行に対応する参照情報RI_RWと、列に対応する参照情報RI_CLと、を有する。グリッドGLのプロパティが有する参照情報RI_RWは、マスタデータMDの参照情報RI_RWに対応する値V_RWを参照するための情報である。グリッドGLのプロパティが有する参照情報RI_CLは、マスタデータMDの参照情報RI_CLに対応する値V_CLを参照するための情報である。
【0041】
プログラマブル表示器2の制御部21の第2生成部212は、グリッドGLのプロパティにおいて値V_RW及び値V_CLを参照する。これにより、図2の(A)に示すように、数値表示器NDが配置される領域を2行×3列の領域に分割するグリッドGLが画面に配置される。
【0042】
四角形Q1のプロパティは、位置に対応する参照情報RI_LC1と、境界に対応する参照情報RI_BDと、色に対応する参照情報RI_FC1と、を有する。四角形Q1のプロパティが有する参照情報RI_LC1は、マスタデータMDの参照情報RI_LC1に対応する値V_LC1を参照するための情報である。
【0043】
四角形Q1のプロパティが有する参照情報RI_BDは、マスタデータMDの参照情報RI_BDに対応する値V_BDを参照するための情報である。四角形Q1のプロパティが有する参照情報RI_FC1は、マスタデータMDの参照情報RI_FC1に対応する値V_FC1を参照するための情報である。
【0044】
第2生成部212は、四角形Q1のプロパティにおいて値V_LC1、値V_BD及び値V_FC1を参照する。これにより、図2の(A)に示すように、グリッドGLによって分割される領域のうち、1行1列目の領域の位置を基準として、2行×2列の領域の周囲に形成された境界内に水色が着色される四角形Q1が配置される。
【0045】
四角形Q2のプロパティは、位置に対応する参照情報RI_LC2と、境界(離す)に対応する参照情報RI_BDと、色(離す)に対応する参照情報RI_FC1と、を有する。また、四角形Q2のプロパティは、境界(押す)に対応する参照情報RI_BDと、色(押す)に対応する参照情報RI_FC3と、演算に対応する参照情報RI_OP1と、を有する。
【0046】
四角形Q2のプロパティが有する参照情報RI_LC2は、マスタデータMDの参照情報RI_LC2に対応する値V_LC2を参照するための情報である。四角形Q2のプロパティが有する参照情報RI_BDは、マスタデータMDの参照情報RI_BDに対応する値V_BDを参照するための情報である。四角形Q2のプロパティが有する参照情報RI_FC1は、マスタデータMDの参照情報RI_FC1に対応する値V_FC1を参照するための情報である。
【0047】
四角形Q2のプロパティが有する参照情報RI_FC3は、マスタデータMDの参照情報RI_FC3に対応する値V_FC3を参照するための情報である。四角形Q2のプロパティが有する参照情報RI_OP1は、マスタデータMDの参照情報RI_OP1に対応する値V_OP1を参照するための情報である。
【0048】
第2生成部212は、四角形Q2のプロパティにおいて値V_LC2、値V_BD、値V_FC1、値V_FC3及び値V_OP1を参照する。これにより、図2の(A)に示すように、グリッドによって分割される領域のうち、1行3列目の領域の位置に、1行×1列の領域の周囲に形成された境界内に水色が着色される四角形Q2が配置される。また、図2の(B)に示すように、四角形Q2が押される場合に四角形Q2が黄色になり、文字表示CHの数値、つまり、後述する値ZI-1が1つ加算されるように設定される。
【0049】
四角形Q3のプロパティは、位置に対応する参照情報RI_LC3と、境界(離す)に対応する参照情報RI_BDと、色(離す)に対応する参照情報RI_FC1と、を有する。また、四角形Q3のプロパティは、境界(押す)に対応する参照情報RI_BDと、色(押す)に対応する参照情報RI_FC3と、演算に対応する参照情報RI_OP2と、を有する。
【0050】
四角形Q3のプロパティが有する参照情報RI_LC3は、マスタデータMDの参照情報RI_LC3に対応する値V_LC3を参照するための情報である。四角形Q3のプロパティが有する参照情報RI_BDは、マスタデータMDの参照情報RI_BDに対応する値V_BDを参照するための情報である。四角形Q3のプロパティが有する参照情報RI_FC1は、マスタデータMDの参照情報RI_FC1に対応する値V_FC1を参照するための情報である。
【0051】
四角形Q3のプロパティが有する参照情報RI_FC3は、マスタデータMDの参照情報RI_FC3に対応する値V_FC3を参照するための情報である。四角形Q3のプロパティが有する参照情報RI_OP2は、マスタデータMDの参照情報RI_OP2に対応する値V_OP2を参照するための情報である。
【0052】
第2生成部212は、四角形Q3のプロパティにおいて値V_LC3、値V_BD、値V_FC1、値V_FC3及び値V_OP2を参照する。これにより、図2の(A)に示すように、グリッドによって分割される領域のうち、2行3列目の領域の位置に、1行×1列の領域の周囲に形成された境界内に水色が着色される四角形Q3が配置される。また、図2の(C)に示すように、四角形Q3が押される場合に四角形Q3が黄色になり、文字表示CHの数値、つまり、後述する値ZI-1が1つ減算されるように設定される。
【0053】
文字表示CHのプロパティは、位置に対応する参照情報RI_LC1と、色に対応する参照情報RI_FC2と、テキストに対応する値ZI-1と、を有する。文字表示CHのプロパティが有する参照情報RI_LC1は、マスタデータMDの参照情報RI_LC1に対応する値V_LC1を参照するための情報である。
【0054】
文字表示CHのプロパティが有する参照情報RI_FC2は、マスタデータMDの参照情報RI_FC2に対応する値V_FC2を参照するための情報である。文字表示CHのプロパティが有するstring()内の値ZI-1は、スレーブデータSD-1が含む公開プロパティが有する値ZI-1と同じ値であり、同期している。
【0055】
第2生成部212は、文字表示CHのプロパティにおいて値V_LC1、値V_FC2及び値ZI-1を参照する。これにより、図2の(A)に示すように、グリッドGLによって分割される領域のうち、1行1列目の領域の位置を基準として、白色が着色される文字表示CHが配置される。また、文字表示CHの文字は、値ZI-1を示す。
【0056】
多角形TR1のプロパティは、位置に対応する参照情報RI_LC2と、境界に対応する参照情報RI_BDと、色に対応する参照情報RI_FC2と、データに対応する参照情報RI_DT1と、を有する。
【0057】
多角形TR1のプロパティが有する参照情報RI_LC2は、マスタデータMDの参照情報RI_LC2に対応する値V_LC2を参照するための情報である。多角形TR1のプロパティが有する参照情報RI_BDは、マスタデータMDの参照情報RI_BDに対応する値V_BDを参照するための情報である。
【0058】
多角形TR1のプロパティが有する参照情報RI_FC2は、マスタデータMDの参照情報RI_FC2に対応する値V_FC2を参照するための情報である。多角形TR1のプロパティが有する参照情報RI_DT1は、マスタデータMDの参照情報RI_DT1に対応する値V_DT1を参照するための情報である。
【0059】
第2生成部212は、多角形TR1のプロパティにおいて値V_LC2、値V_BD、値V_FC2及び値V_DT1を参照する。これにより、図2の(A)に示すように、グリッドによって分割される領域のうち、1行3列目の領域の位置に、頂点が上を向く正三角形の領域の周囲に形成された境界内に白色が着色される多角形TR1が配置される。
【0060】
多角形TR2のプロパティは、位置に対応する参照情報RI_LC3と、境界に対応する参照情報RI_BDと、色に対応する参照情報RI_FC2と、データに対応する参照情報RI_DT2と、を有する。
【0061】
多角形TR2のプロパティが有する参照情報RI_LC3は、マスタデータMDの参照情報RI_LC3に対応する値V_LC3を参照するための情報である。多角形TR2のプロパティが有する参照情報RI_BDは、マスタデータMDの参照情報RI_BDに対応する値V_BDを参照するための情報である。
【0062】
多角形TR2のプロパティが有する参照情報RI_FC2は、マスタデータMDの参照情報RI_FC2に対応する値V_FC2を参照するための情報である。多角形TR2のプロパティが有する参照情報RI_DT2は、マスタデータMDの参照情報RI_DT2に対応する値V_DT2を参照するための情報である。
【0063】
第2生成部212は、多角形TR2のプロパティにおいて値V_LC3、値V_BD、値V_FC2及び値V_DT2を参照する。これにより、図2の(A)に示すように、グリッドによって分割される領域のうち、2行3列目の領域の位置に、頂点が下を向く正三角形の領域の周囲に形成された境界内に白色が着色される多角形TR2が配置される。
【0064】
スレーブデータSD-1が含む公開プロパティは、変数に対応する値ZI-1を有する。公開プロパティが有する値ZI-1は、整数であり、PLC3が有するデバイスメモリのデバイスアドレスの値が設定される。値ZI-1は、第1オブジェクトとは異なる第2オブジェクトを表示するための第2表示情報の一例である。
【0065】
第1オブジェクトは、複合オブジェクトに含まれるオブジェクトのうち、プロパティが公開プロパティの値を含まないオブジェクトである。第2オブジェクトは、複合オブジェクトに含まれるオブジェクトのうち、プロパティが公開プロパティの値を含むオブジェクトである。また、値ZI-1は、第2オブジェクトの属性を示す第2属性情報である。つまり、第2表示情報は第2属性情報を含む。なお、第2表示情報は、第2属性情報以外に、第2オブジェクトの実体を示す第2実体情報を含んでもよい。
【0066】
図2に示す数値表示器NDのグリッドGL、四角形Q1、四角形Q2、多角形TR1、四角形Q3及び多角形TR2は、これらのプロパティが公開プロパティの値を含まないため、第1オブジェクトの一例である。数値表示器NDの文字表示CHは、そのプロパティが公開プロパティの値を含むため、第2オブジェクトの一例である。
【0067】
(複合オブジェクトの複製)
複合オブジェクトの一例としての数値表示器NDが複製される場合、スレーブデータSD-1が複製されることにより、スレーブデータSD-2が生成される。同様に、スレーブデータSD-1が複製されることにより、スレーブデータSD-3~SD-Nが複製可能である。「SD-N」のNは2以上の自然数である。
【0068】
スレーブデータSD-Nでは、スレーブデータSD-1に比べて、複数の部品に対応する複数の値のそれぞれが異なる。例えば、グリッドGLの実体を示す値が、値GL-1から値GL-Nに変更される。また、スレーブデータSD-Nでは、スレーブデータSD-1に比べて、公開プロパティにおける変数に対応する値が、値Z1-1から値Z1-Nに変更される。
【0069】
ここで、スレーブデータSD-1が含む複数の部品のプロパティが有する参照情報は、第1属性情報、つまり、マスタデータMDのリストが有する複数の値を参照するための情報である。よって、マスタデータMDには、第1属性情報が含まれ、スレーブデータSD-1には、第1属性情報を参照するための参照情報が含まれる。これにより、同じ第1属性情報を複数記憶し、生成する必要がなくなる。
【0070】
(制御部10がプロジェクトを作成する処理の流れ)
図4は、図1に示すPC1の制御部10がプロジェクトを作成する処理の流れの一例を示すフローチャートである。制御部10は、画面編集ソフトウェアを用いて図4に示す処理を実行する。また、ユーザが操作部50を操作することにより、プロジェクトに複合オブジェクトを登録した場合、制御部10は図4に示す処理を実行する。なお、ユーザが操作部50を操作することにより、複合オブジェクトを複製した場合、制御部10が図4に示す処理を実行してもよい。
【0071】
図4の(A)に示すように、制御部10のマスタ生成部11は、プロジェクトにマスタデータが有るか否かを判定する(S1)。マスタ生成部11がプロジェクトにマスタデータが有ると判定した場合(S1でYES)、制御部10はS3の処理に進む。
【0072】
マスタ生成部11は、プロジェクトにマスタデータが無いと判定した場合(S1でNO)、マスタデータを生成する(S2)。S2で生成されるマスタデータは、例えば、図3に示すマスタデータMDである。マスタ生成部11がマスタデータを生成した後、制御部10のスレーブ生成部13は、スレーブデータを生成する(S3)。S3で生成されるスレーブデータは、例えば、図3に示すスレーブデータSD-1である。
【0073】
マスタ生成部11がマスタデータを生成し、スレーブ生成部13がスレーブデータを生成することにより、制御部10はプロジェクトを作成する。制御部10によって作成されたプロジェクトは、記憶部20に記憶される。
【0074】
(マスタ生成部11がマスタデータを生成する処理の流れ)
S2の処理において、図4の(B)に示すように、マスタ生成部11は、記憶部20に記憶されているデータ構造から部品を取得する(S21)。マスタ生成部11は、当該データ構造から部品を取得した後、上記データ構造から、S21で取得した部品のプロパティを取得する(S22)。
【0075】
マスタ生成部11がS21でグリッドGLを取得したとすると、マスタ生成部11は、例えばS22でグリッドGLの行のプロパティとして値V_RWを取得する。マスタ生成部11は、上記データ構造からプロパティを取得した後、S22で取得したプロパティが公開プロパティの値を参照するか否かを判定する(S23)。
【0076】
例えば、文字表示CHのテキストのプロパティは、公開プロパティの値ZI-1を参照する。このため、マスタ生成部11は、S22で文字表示CHのテキストのプロパティとして値ZI-1を取得した場合、S22で取得したプロパティが公開プロパティの値を参照すると判定する。一方、例えば、グリッドGLの行のプロパティは、公開プロパティの値を参照しない。このため、マスタ生成部11は、S22でグリッドGLの行のプロパティを取得した場合、S22で取得したプロパティが公開プロパティの値を参照しないと判定する。
【0077】
マスタ生成部11は、S22で取得したプロパティが公開プロパティの値を参照すると判定した場合(S23でYES)、S26の処理に進む。マスタ生成部11は、S22で取得したプロパティが公開プロパティの値を参照しないと判定した場合(S23でNO)、S22で取得したプロパティがマスタデータに含まれるか否かを判定する(S24)。
【0078】
マスタ生成部11は、S22で取得したプロパティがマスタデータに含まれると判定した場合(S24でYES)、S26の処理に進む。マスタ生成部11は、S22で取得したプロパティがマスタデータに含まれないと判定した場合(S24でNO)、S22で取得したプロパティをマスタデータ内に生成する(S25)。
【0079】
具体的には、マスタ生成部11は、参照情報と値とを対応付けて、参照情報及び値をマスタデータMD内に生成する。なお、マスタ生成部11は、S25において、プログラマブル表示器2によるインスタンス生成時のプロパティ検索を補助するために、プログラマブル表示器2がプロパティを参照するための参照リストをマスタデータ内に生成してもよい。
【0080】
マスタ生成部11は、S21で取得した部品について次のプロパティが有るか否かを判定する(S26)。マスタ生成部11は、S21で取得した部品について次のプロパティが有ると判定した場合(S26でYES)、S22の処理に進む。マスタ生成部11は、S21で取得した部品について次のプロパティが無いと判定した場合(S26でNO)、複合オブジェクトに次の部品が有るか否かを判定する(S27)。
【0081】
マスタ生成部11は、複合オブジェクトに次の部品が有ると判定した場合(S27でYES)、S21の処理に進む。マスタ生成部11は、複合オブジェクトに次の部品が無いと判定した場合(S27でNO)、S2の処理を終了する。
【0082】
(スレーブ生成部13がスレーブデータを生成する処理の流れ)
S3の処理において、図4の(C)に示すように、スレーブ生成部13は、公開プロパティを生成する(S31)。具体的には、マスタ生成部11によるS23の処理より前に、制御部10の特定部12は、第2オブジェクトを表示するための第2表示情報を特定する。例えば、ユーザによる操作部50の操作に応じて、特定部12は、第2オブジェクトとしての文字表示CHを表示するための第2表示情報として値ZI-1を特定する。スレーブ生成部13は、S31の処理において、値ZI-1を有する公開プロパティを生成する。
【0083】
スレーブ生成部13は、公開プロパティを生成した後、記憶部20に記憶されている上記データ構造から部品を取得する(S32)。スレーブ生成部13は、上記データ構造から部品を取得した後、S32で取得した部品をスレーブデータ内に生成する(S33)。例えば、スレーブ生成部13は、上記データ構造からグリッドGLを取得した場合、値GL-1をスレーブデータ内に生成する。なお、スレーブ生成部13がS33の処理を実行せずに、マスタ生成部11がS21で取得した部品をマスタデータ内に生成してもよい。
【0084】
スレーブ生成部13は、部品を生成した後、マスタ生成部11によるS22の処理と同様に、上記データ構造から、S32で取得した部品のプロパティを取得する(S34)。スレーブ生成部13は、上記データ構造からプロパティを取得した後、S2でマスタ生成部11により生成されたマスタデータに、S34で取得したプロパティの参照情報が含まれるか否かを判定する(S35)。
【0085】
例えば、グリッドGLの行のプロパティの参照情報RI_RWは、マスタ生成部11により生成されたマスタデータMDに含まれる。このため、スレーブ生成部13は、S34でグリッドGLの行のプロパティを取得した場合、マスタデータMDにS34で取得したプロパティの参照情報が含まれると判定する。
【0086】
スレーブ生成部13は、マスタデータにS34で取得したプロパティの参照情報が含まれると判定した場合(S35でYES)、マスタデータの参照情報を使用する(S37)。スレーブ生成部13は、マスタデータにS34で取得したプロパティの参照情報が含まれないと判定した場合(S35でNO)、S34で取得したプロパティをスレーブデータ内に生成する(S36)。
【0087】
S36またはS37の処理の後、スレーブ生成部13は、S32で取得した部品について次のプロパティが有るか否かを判定する(S38)。スレーブ生成部13は、S32で取得した部品について次のプロパティが有ると判定した場合(S38でYES)、S34の処理に進む。スレーブ生成部13は、S32で取得した部品について次のプロパティが無いと判定した場合(S38でNO)、複合オブジェクトに次の部品が有るか否かを判定する(S39)。
【0088】
スレーブ生成部13は、複合オブジェクトに次の部品が有ると判定した場合(S39でYES)、S32の処理に進む。スレーブ生成部13は、複合オブジェクトに次の部品が無いと判定した場合(S39でNO)、S3の処理を終了する。
【0089】
なお、ユーザが操作部50を操作することにより、プロジェクトが規定する画面に複合オブジェクトを複製した場合、例えば、スレーブ生成部13は、スレーブデータSD-1を複製することにより、スレーブデータSD-2を生成する。同様に、スレーブ生成部13は、スレーブデータSD-1を複製することにより、スレーブデータSD-3~SD-Nを複製可能である。
【0090】
スレーブ生成部13は、スレーブデータSD-1を複製してスレーブデータSD-Nを生成する場合、複数の部品に対応する複数の値をスレーブデータSD-N内に生成する。例えば、スレーブ生成部13は、グリッドGLに対応する値GL-NをスレーブデータSD-N内に生成する。
【0091】
また、スレーブ生成部13は、ユーザによる操作部50の操作に応じて、公開プロパティをスレーブデータSD-N内に生成する。具体的には、例えば、ユーザの指定により変数名やデバイスアドレスなどを、第2オブジェクトとしての文字表示CHを表示するための第2表示情報として値ZI-Nに設定する。スレーブ生成部13は、値ZI-Nを有する公開プロパティを生成する。さらに、スレーブ生成部13は、スレーブデータSD-1における複数の部品の参照情報をスレーブデータSD-N内に複製する。
【0092】
以上において、スレーブ生成部13は、特定部12によって特定された第2表示情報と、第1表示情報を参照するための参照情報と、を含むスレーブデータを生成する。このため、複数のスレーブデータが生成される場合、各スレーブデータは、マスタデータが含む第1表示情報を参照するものとなる。
【0093】
よって、複合オブジェクトが複製されるときに同じ第1表示情報が複数生成されることがなく、プログラマブル表示器2がスレーブデータを用いる場合、プログラマブル表示器2について処理速度を向上でき、記憶領域を削減できる。特に、プログラマブル表示器2において画面を切り替える場合、プログラマブル表示器2は重複するインスタンスを生成する必要がなくなり、処理速度を向上でき、記憶領域を削減できる。当該記憶領域は、プログラマブル表示器2が備える図示しない、実際に処理が行われるDRAM(dynamic random access memory)等のメインメモリまたはユーザメモリ24の記憶領域である。インスタンスの生成については後述する。
【0094】
なお、第1表示情報は、スレーブデータが編集される場合において変更不可の情報であってもよい。具体的には、ユーザは、操作部50を操作することによりスレーブデータを編集する場合、第1表示情報を変更できない。例えば、ユーザは、スレーブデータSD-1を編集する場合、マスタデータMDのリストが有する複数の値を変更できない。これにより、ユーザがスレーブデータを編集する場合、ユーザが誤って参照先の第1表示情報を編集してしまうという誤操作、つまり、マスタデータMDの共通性を失う可能性がある誤操作が行われることを防ぐことができる。
【0095】
また、第1表示情報は、マスタデータが編集される場合においては変更可能な情報であり、第2表示情報は、スレーブデータが編集される場合において変更可能な情報である。具体的には、ユーザは、操作部50を操作することによりスレーブデータを編集する場合、第2表示情報を変更できる。例えば、ユーザは、スレーブデータSD-1を編集する場合、スレーブデータSD-1の公開プロパティが有する値ZI-1を変更できる。
【0096】
さらに、スレーブ生成部13は、S3の処理でスレーブデータSD-1を生成するときにS33の処理を実行せずに、スレーブデータSD-2~SD-Nを生成するときにS33の処理を実行してもよい。
【0097】
(プログラマブル表示器2の表示)
プログラマブル表示器2の表示パネル22は、PC1によって作成されたプロジェクトにより規定された画面を表示する。具体的に以下に説明する。プログラマブル表示器2の制御部21は、インタフェース部25を介して、PC1からプロジェクトをダウンロードする。制御部21は、オブジェクト指向プログラミングで作成されたランタイムソフトウェアを用いている場合は以下の処理を実行する。
【0098】
制御部21の第1生成部211は、ダウンロードされたプロジェクトに含まれるマスタデータから第1表示情報の第1インスタンスを生成する。具体的には、第1生成部211は、図3に示すマスタデータMDのリストが有する複数の値の第1インスタンスを生成する。
【0099】
また、制御部21の第2生成部212は、ダウンロードされたプロジェクトに含まれるスレーブデータから、第2表示情報の第2インスタンスと、第1生成部211によって生成された第1インスタンスを参照するインスタンス参照情報と、を生成する。具体的には、第2生成部212は、図3に示すスレーブデータSD-1に含まれる値ZI-1の第2インスタンスを生成する。また、第2生成部212は、スレーブデータSD-1に含まれる参照情報から、マスタデータMDのリストが有する複数の値の第1インスタンスを参照するインスタンス参照情報を生成する。
【0100】
複数のインスタンス参照情報が生成される場合、各インスタンス参照情報は、第1インスタンスを参照し実行するものとなる。よって、同じ第1インスタンスが複数生成されることがなく、プログラマブル表示器2がスレーブデータを用いて複合オブジェクトを表示する場合、プログラマブル表示器2について処理速度を向上でき、記憶領域を削減できる。
【0101】
(変形例)
マスタデータMD及び/または複数のスレーブデータSD-1~SD-Nは、制御部10の上記画面編集ソフトウェアによって生成されてもよく、制御部21の上記ランタイムソフトウェアによって生成されてもよい。
【0102】
〔実施形態2〕
本発明の実施形態2について、以下に説明する。なお、説明の便宜上、実施形態1にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。図5は、本発明の実施形態2においてプロジェクトに含まれるマスタデータMD2及び複数のスレーブデータSD2-1~SD2-Nを示す図である。
【0103】
(マスタデータ)
図5に示すように、マスタデータMD2は、複数の部品のプロパティを含む。マスタデータMD2が含む複数の部品のプロパティにおいて、複数の名前と複数の値とが対応付けられて記憶されている。マスタデータMD2が有する複数の部品のプロパティの複数の値は、第1表示情報の一例である。また、マスタデータMD2が有する複数の部品のプロパティの複数の値は、第1属性情報である。
【0104】
グリッドGLのプロパティは、行に対応する値V_RWと、列に対応する値V_CLと、を有する。グリッドGLのプロパティは、スレーブデータSD2-1の参照情報RI_GLに対応付けられている。
【0105】
四角形Q1のプロパティは、位置に対応する値V_LC1と、境界に対応する値V_BDと、色に対応する値V_FC1と、を有する。四角形Q1のプロパティは、スレーブデータSD2-1の参照情報RI_Q1に対応付けられている。
【0106】
四角形Q2のプロパティは、位置に対応する値V_LC2と、境界(離す)に対応する値V_BDと、色(離す)に対応する値V_FC1と、を有する。また、四角形Q2のプロパティは、境界(押す)に対応する値V_BDと、色(押す)に対応する値V_FC3と、演算に対応する値V_OP1と、を有する。四角形Q2のプロパティは、スレーブデータSD2-1の参照情報RI_Q2に対応付けられている。
【0107】
四角形Q3のプロパティは、位置に対応する値V_LC3と、境界(離す)に対応する値V_BDと、色(離す)に対応する値V_FC1と、を有する。また、四角形Q3のプロパティは、境界(押す)に対応する値V_BDと、色(押す)に対応する値V_FC3と、演算に対応する値V_OP2と、を有する。四角形Q3のプロパティは、スレーブデータSD2-1の参照情報RI_Q3に対応付けられている。
【0108】
多角形TR1のプロパティは、位置に対応する値V_LC2と、境界に対応する値V_BDと、色に対応する値V_FC2と、データに対応する値V_DT1と、を有する。多角形TR1のプロパティは、スレーブデータSD2-1の参照情報RI_TR1に対応付けられている。
【0109】
多角形TR2のプロパティは、位置に対応する値V_LC3と、境界に対応する値V_BDと、色に対応する値V_FC2と、データに対応する値V_DT2と、を有する。多角形TR2のプロパティは、スレーブデータSD2-1の参照情報RI_TR2に対応付けられている。
【0110】
(スレーブデータ)
スレーブデータSD2-1は、複数の部品に対応する複数の値及び複数の参照情報を含む。スレーブデータSD2-1において複数の部品の名前と、複数の値及び複数の参照情報と、が対応付けられている。スレーブデータSD2-1における複数の部品の名前と、複数の値及び複数の参照情報と、の対応関係は、図5に示す通りである。
【0111】
グリッドGLに対応する参照情報RI_GLは、マスタデータMDのグリッドGLのプロパティを参照するための情報である。第2生成部212はグリッドGLのプロパティを参照する。これにより、図2の(A)に示すように、数値表示器NDが配置される領域を2行×3列の領域に分割するグリッドGLが画面に配置される。
【0112】
四角形Q1に対応する参照情報RI_Q1は、マスタデータMDの四角形Q1のプロパティを参照するための情報である。第2生成部212は四角形Q1のプロパティを参照する。これにより、図2の(A)に示すように、グリッドGLによって分割される領域のうち、1行1列目の領域の位置を基準として、2行×2列の領域の周囲に形成された境界内に水色が着色される四角形Q1が配置される。
【0113】
四角形Q2に対応する参照情報RI_Q2は、マスタデータMDの四角形Q2のプロパティを参照するための情報である。第2生成部212は四角形Q2のプロパティを参照する。これにより、図2の(A)に示すように、グリッドによって分割される領域のうち、1行3列目の領域の位置に、1行×1列の領域の周囲に形成された境界内に水色が着色される四角形Q2が配置される。また、図2の(B)に示すように、四角形Q2が押される場合に四角形Q2が黄色になり、値ZI-1が1つ加算されるように設定される。
【0114】
四角形Q3に対応する参照情報RI_Q3は、マスタデータMDの四角形Q3のプロパティを参照するための情報である。第2生成部212は四角形Q3のプロパティを参照する。これにより、図2の(A)に示すように、グリッドによって分割される領域のうち、2行3列目の領域の位置に、1行×1列の領域の周囲に形成された境界内に水色が着色される四角形Q3が配置される。また、図2の(C)に示すように、四角形Q3が押される場合に四角形Q3が黄色になり、値ZI-1の数値が1つ減算されるように設定される。
【0115】
文字表示CHに対応する参照情報RI_CHは、スレーブデータSD2-1に含まれる文字表示CHのプロパティを参照するための情報である。文字表示CHのプロパティは、位置に対応する値V_LC1と、色に対応する値V_FC2と、テキストに対応する値ZI-1と、を有する。文字表示CHのプロパティは、スレーブデータSD2-1の参照情報RI_CHに対応付けられている。
【0116】
文字表示CHのプロパティが有するstring()内の値ZI-1は、スレーブデータSD2-1が含む公開プロパティが有する値ZI-1と同じ値であり、同期している。スレーブデータSD2-1が含む公開プロパティは、図3に示すスレーブデータSD-1が含む公開プロパティと同様である。
【0117】
第2生成部212は文字表示CHのプロパティを参照する。これにより、図2の(A)に示すように、グリッドGLによって分割される領域のうち、1行1列目の領域の位置を基準として、白色が着色される文字表示CHが配置される。また、文字表示CHの文字は、値ZI-1を示す。
【0118】
多角形TR1に対応する参照情報RI_TR1は、マスタデータMDの多角形TR1のプロパティを参照するための情報である。第2生成部212は多角形TR1のプロパティを参照する。これにより、図2の(A)に示すように、グリッドによって分割される領域のうち、1行3列目の領域の位置に、頂点が上を向く正三角形の領域の周囲に形成された境界内に白色が着色される多角形TR1が配置される。
【0119】
多角形TR2に対応する参照情報RI_TR2は、マスタデータMDの多角形TR2のプロパティを参照するための情報である。第2生成部212は多角形TR2のプロパティを参照する。これにより、図2の(A)に示すように、グリッドによって分割される領域のうち、2行3列目の領域の位置に、頂点が下を向く正三角形の領域の周囲に形成された境界内に白色が着色される多角形TR2が配置される。
【0120】
(複合オブジェクトの複製)
複合オブジェクトの一例としての数値表示器NDが複製される場合、スレーブデータSD2-1が複製されることにより、スレーブデータSD2-2が生成される。同様に、スレーブデータSD2-1が複製されることにより、スレーブデータSD2-3~SD2-Nが複製可能である。「SD2-N」のNは2以上の自然数である。
【0121】
スレーブデータSD2-Nでは、スレーブデータSD2-1に比べて、複数の部品に対応する複数の値のそれぞれが異なる。また、スレーブデータSD2-Nでは、スレーブデータSD2-1に比べて、公開プロパティにおける変数に対応する値が、値Z1-1から値Z1-Nに変更される。
【0122】
以上により、第1表示情報は、第1オブジェクト毎に、第1オブジェクトの属性を示す第1属性情報を含む。つまり、マスタデータMD2が有する複数の部品のプロパティの複数の値としての第1表示情報は、部品毎に、部品の属性を示す第1属性情報を含む。また、スレーブデータSD2-1が含む、複数の部品に対応する複数の参照情報は、第1オブジェクト毎に第1属性情報を参照するための情報である。
【0123】
マスタデータには、第1オブジェクト毎に第1属性情報が含まれ、スレーブデータには、第1オブジェクト毎に第1属性情報を参照するための参照情報が含まれる。これにより、参照情報を削減することができる。
【0124】
(制御部10がプロジェクトを作成する処理の流れ)
図6は、本発明の実施形態2においてPC1の制御部10がプロジェクトを作成する処理の流れの一例を示すフローチャートである。ユーザが操作部50を操作することにより、プロジェクトに複合オブジェクトを登録した場合、制御部10は図6に示す処理を実行する。なお、ユーザが操作部50を操作することにより、複合オブジェクトを複製した場合、制御部10が図6に示す処理を実行してもよい。
【0125】
図6の(A)に示すように、制御部10は、図4の(A)に示すS1~S3の処理と同様に、S4~S6の処理を実行する。S5で生成されるマスタデータは、例えば、図5に示すマスタデータMD2である。S6で生成されるスレーブデータは、例えば、図5に示すスレーブデータSD2-1である。
【0126】
(マスタ生成部11がマスタデータを生成する処理の流れ)
S5の処理において、図6の(B)に示すように、マスタ生成部11は、記憶部20に記憶されているデータ構造から部品を取得する(S51)。マスタ生成部11は、当該データ構造から部品を取得した後、S51で取得した部品について公開プロパティの値を参照するプロパティが有るか否かを判定する(S52)。
【0127】
例えば、文字表示CHのテキストのプロパティは、公開プロパティの値ZI-1を参照する。このため、マスタ生成部11は、S51で文字表示CHを取得した場合、S51で取得した部品について公開プロパティの値を参照するプロパティが有ると判定する。一方、例えば、グリッドGLの行及び列のプロパティは、公開プロパティの値を参照しない。このため、マスタ生成部11は、S51でグリッドGLを取得した場合、S51で取得した部品について公開プロパティの値を参照するプロパティが無いと判定する。
【0128】
マスタ生成部11は、公開プロパティの値を参照するプロパティが有ると判定した場合(S52でYES)、S56の処理に進む。マスタ生成部11は、公開プロパティの値を参照するプロパティが無いと判定した場合(S52でNO)、上記データ構造から、S51で取得した部品のプロパティを取得する(S53)。
【0129】
マスタ生成部11は、上記データ構造からプロパティを取得した後、S53で取得したプロパティをマスタデータ内に生成する(S54)。具体的には、マスタ生成部11は、名前と値とを対応付けて、名前及び値をマスタデータMD内に生成する。なお、マスタ生成部11は、S54において、プログラマブル表示器2によるインスタンス生成時のプロパティ検索を補助するために、プログラマブル表示器2がプロパティを参照するための参照リストをマスタデータ内に生成してもよい。
【0130】
マスタ生成部11は、S51で取得した部品について次のプロパティが有るか否かを判定する(S55)。マスタ生成部11は、S51で取得した部品について次のプロパティが有ると判定した場合(S55でYES)、S53の処理に進む。マスタ生成部11は、S51で取得した部品について次のプロパティが無いと判定した場合(S55でNO)、複合オブジェクトに次の部品が有るか否かを判定する(S56)。
【0131】
マスタ生成部11は、複合オブジェクトに次の部品が有ると判定した場合(S56でYES)、S51の処理に進む。マスタ生成部11は、複合オブジェクトに次の部品が無いと判定した場合(S56でNO)、S5の処理を終了する。
【0132】
(スレーブ生成部13がスレーブデータを生成する処理の流れ)
S6の処理において、図6の(C)に示すように、スレーブ生成部13は、図4の(C)に示すS31の処理と同様に、公開プロパティを生成する(S61)。スレーブ生成部13は、公開プロパティを生成した後、記憶部20に記憶されている上記データ構造から部品を取得する(S62)。スレーブ生成部13は、上記データ構造から部品を取得した後、S62で取得した部品をスレーブデータ内に生成する(S63)。なお、スレーブ生成部13がS63の処理を実行せずに、マスタ生成部11がS51で取得した部品をマスタデータ内に生成してもよい。
【0133】
スレーブ生成部13は、部品を生成した後、マスタ生成部11によるS52の処理と同様に、S62で取得した部品について公開プロパティの値を参照するプロパティが有るか否かを判定する(S64)。スレーブ生成部13は、公開プロパティの値を参照するプロパティが無いと判定した場合(S64でNO)、S62で取得した部品の参照情報の参照先として、マスタデータの部品のプロパティを使用する(S65)。
【0134】
スレーブ生成部13は、公開プロパティの値を参照するプロパティが有ると判定した場合(S64でYES)、上記データ構造から、S62で取得した部品のプロパティを取得する(S66)。スレーブ生成部13は、上記データ構造からプロパティを取得した後、S66で取得したプロパティをスレーブデータ内に生成する(S67)。
【0135】
スレーブ生成部13は、プロパティを生成した後、S62で取得した部品について次のプロパティが有るか否かを判定する(S68)。スレーブ生成部13は、S62で取得した部品について次のプロパティが有ると判定した場合(S68でYES)、S66の処理に進む。スレーブ生成部13は、S62で取得した部品について次のプロパティが無いと判定した場合(S68でNO)、複合オブジェクトに次の部品が有るか否かを判定する(S69)。
【0136】
スレーブ生成部13は、複合オブジェクトに次の部品が有ると判定した場合(S69でYES)、S62の処理に進む。スレーブ生成部13は、複合オブジェクトに次の部品が無いと判定した場合(S69でNO)、S6の処理を終了する。
【0137】
なお、スレーブ生成部13は、スレーブデータSD2-1を複製してスレーブデータSD2-Nを生成する場合、スレーブデータSD2-1における、複数の部品に対応する複数の参照情報と、文字表示CHのプロパティが有する複数の値と、をスレーブデータSD2-N内に複製する。
【0138】
〔実施形態3〕
本発明の実施形態3について、以下に説明する。なお、説明の便宜上、実施形態1及び2にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。図7は、本発明の実施形態3においてプロジェクトに含まれるマスタデータMD3及び複数のスレーブデータSD3-1~SD3-Nを示す図である。
【0139】
(マスタデータ)
図7に示すように、マスタデータMD3は、リストと、複数の部品のプロパティと、を含む。マスタデータMD3が含むリストは、図3に示すマスタデータMDが含むリストと同様である。マスタデータMD3が含む複数の部品のプロパティは、図3に示すスレーブデータSD-1が含む複数の部品のプロパティと同様である。ただし、マスタデータMD3は文字表示CHのプロパティを含まない。また、マスタデータMD3が含む複数の部品のプロパティはそれぞれ、図5に示すマスタデータMD2が含む複数の部品のプロパティと同様に、スレーブデータSD3-1が含む複数の参照情報に対応付けられている。
【0140】
(スレーブデータ)
図7に示すように、スレーブデータSD3-1は、文字表示プロパティCHのプロパティにおいて位置及び色に対応する値が参照情報に変更されている点で、図5に示すスレーブデータSD2-1とは異なる。
【0141】
(実施形態1~3のインスタンス数及び参照情報数)
図8は、従来技術及び実施形態1~3のインスタンス数及び参照情報数を示すグラフである。図8の(A)は、従来技術及び実施形態1~3のインスタンス数を示すグラフであり、図8の(B)は、従来技術及び実施形態1~3の参照情報数を示すグラフである。図8における従来技術は、複合オブジェクトを複製する場合に複合オブジェクトの全体を複製する技術である。
【0142】
図8の(A)に示すインスタンス数は、プログラマブル表示器2の制御部21が生成するインスタンスの数であり、図8の(B)に示す参照情報数は、プログラマブル表示器2の制御部21が生成するインスタンス参照情報の数である。
【0143】
図8の(A)において、IS1~IS4はそれぞれ、従来技術、実施形態1、実施形態2及び実施形態3に対応する。また、横軸は複合オブジェクトの数を示し、縦軸はオブジェクトの数を示す。具体的には、図8の(A)の縦軸のオブジェクトの数は、生成される部品やプロパティのインスタンス数(実体数)を示すのに対し、図8の(B)の縦軸のオブジェクトの数は、生成される部品やプロパティのインスタンスを参照するための情報数を示す。
【0144】
図8の(A)に示すように、実施形態1~3では、従来技術に比べて、複合オブジェクトのインスタンス数を削減することができる。また、複合オブジェクトの数が多い程、インスタンス数の削減効果が見込める。図8の(B)に示すように、実施形態1では、参照情報が多いというデメリットを実施形態2または3で改善することができる。また、複合オブジェクトの数が多い程、参照情報数の削減効果が見込める。
【0145】
生成される部品及びプロパティの数を削減することにより、複合オブジェクトの生成及び削除にかかる時間を短縮し、プログラマブル表示器2の上記DRAM等のメインメモリ及びユーザメモリ24の使用量を削減することができる。また、複合オブジェクトの数及び複合オブジェクトを構成するオブジェクトの内容によって、処理速度の向上及び記憶領域の削減の効果は変化する。複合オブジェクトは、画面上に複数配置されることが多く、複合オブジェクトを構成する部品の機能及びデザインを統一することが多いため、上記の効果は高くなる傾向にある。
【0146】
(変形例)
制御部10は、インスタンス数の削減効果と参照情報数とを考慮した実施形態を選択するために、実施形態1~3のいずれの処理を行うかを選択する選択部を備えてもよい。当該選択部は、ユーザによる操作部50の操作に応じて実施形態1~3のいずれの処理を行うかを選択してもよく、実施形態1~3のいずれの処理を行うかを自動的に選択してもよい。
【0147】
〔実施形態4〕
本発明の実施形態4について、以下に説明する。なお、説明の便宜上、実施形態1~3にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。図9は、本発明の実施形態4においてプロジェクトに含まれるマスタデータMD4及び複数のスレーブデータSD4-1~SD4-Nを示す図である。
【0148】
図9に示すように、マスタデータMD4及び複数のスレーブデータSD4-1~SD4-Nは、図3に示すマスタデータMD及び複数のスレーブデータSD-1~SD-Nに比べて、参照情報がハッシュ値となっている点が異なる。
【0149】
マスタ生成部11は、マスタデータMD4を生成する場合、各値に基づいてハッシュ値を生成する。例えば、マスタ生成部11は、値V_RWに基づいてハッシュ値HS_RWを生成する。また、マスタ生成部11は、上記データ構造からプロパティを取得するとき、新たなプロパティを取得した場合にハッシュ値を生成する。
【0150】
さらに、スレーブデータSD4-1の複数の部品のプロパティが有するハッシュ値は、マスタデータMD4のハッシュ値に対応する値を参照するための参照情報である。例えば、グリッドGLのプロパティが有するハッシュ値HS_RWは、マスタデータMD4のハッシュ値HS_RWに対応する値V_RWを参照するための参照情報である。本実施形態において、第1表示情報を参照するための参照情報は、第1表示情報に基づいて生成されたハッシュ値である。これにより、参照情報の管理が容易または不要となる。
【0151】
〔実施形態5〕
本発明の実施形態5について、以下に説明する。なお、説明の便宜上、実施形態1~4にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。図10の(A)は、従来のプログラマブル表示器が表示する画面を示す図である。図10の(B)は、本発明の実施形態5においてプログラマブル表示器2の表示パネル22が表示する画面を示す図である。
【0152】
図10の(A)に示すように、従来のプログラマブル表示器において、インスタンスQ11~Q16のそれぞれと、PLC3の内部デバイスと、が通信接続されているものとする。インスタンスQ11~Q16のそれぞれは、対応する内部デバイスを監視している。
【0153】
このため、例えば、PLC3とインスタンスQ14との間で通信エラーが発生した場合であっても、従来のプログラマブル表示器は、インスタンスQ11~Q16のそれぞれの表示を変更する。例えば、従来のプログラマブル表示器は、インスタンスQ11~Q16のそれぞれに対して、枠線、アイコンの変更または色の変化により表示を変更する。
【0154】
これに対して、本実施形態に係るプログラマブル表示器2が備える制御部21の管理部213は、第2生成部212が複数の第2インスタンスQ11~Q16を生成した場合、複数の第2インスタンスQ11~Q16を1つの状態情報として管理する。当該1つの状態情報としては、例えば、配列または構造体を用いた変数が挙げられる。複数の第2インスタンスQ11~Q16のそれぞれは、対応する内部デバイスを監視している。
【0155】
また、制御部21の表示制御部214は、管理部213によって管理された上記1つの状態情報が変更されたことに基づき、図10の(B)に示すように、複数の第2インスタンスQ11~Q16の全体の表示を変更する。例えば、表示制御部214は、複数の第2インスタンスQ11~Q16の全体に対して、枠線、アイコンの変更または色の変化により表示を変更する。これにより、表示変更のためのオブジェクトが集約されるため、上記DRAM等のメインメモリ及びユーザメモリ24の使用量を削減することができる。
【0156】
PLC3と少なくとも1つの第2インスタンスとの間に通信エラーが発生した場合、管理部213は、上記1つの状態情報を変更する。表示制御部214は、複数の第2インスタンスQ11~Q16の全体の表示を変更するため、ユーザが認識し易い画面とすることができる。また、第2インスタンス毎の状態情報の管理が不要になり、プログラマブル表示器2について処理速度を向上でき、記憶領域を削減できる。
【0157】
〔ソフトウェアによる実現例〕
PC1及びプログラマブル表示器2(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の各制御ブロック(特に制御部10及び制御部21に含まれる各部)としてコンピュータを機能させるためのプログラムにより実現することができる。
【0158】
この場合、上記装置は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
【0159】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0160】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0161】
また、上記各実施形態で説明した各処理は、AI(Artificial Intelligence:人工知能)に実行させてもよい。この場合、AIは上記制御装置で動作するものであってもよいし、他の装置(例えばエッジコンピュータまたはクラウドサーバ等)で動作するものであってもよい。
【0162】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0163】
1 PC
2 プログラマブル表示器
11 マスタ生成部
12 特定部
13 スレーブ生成部
211 第1生成部
212 第2生成部
213 管理部
214 表示制御部
MD、MD2、MD3、MD4 マスタデータ
SD-1、SD2-1、SD3-1、SD4-1 スレーブデータ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10