JP2018151537A - 画面作成装置および画面作成プログラム - Google Patents

画面作成装置および画面作成プログラム Download PDF

Info

Publication number
JP2018151537A
JP2018151537A JP2017048293A JP2017048293A JP2018151537A JP 2018151537 A JP2018151537 A JP 2018151537A JP 2017048293 A JP2017048293 A JP 2017048293A JP 2017048293 A JP2017048293 A JP 2017048293A JP 2018151537 A JP2018151537 A JP 2018151537A
Authority
JP
Japan
Prior art keywords
screen
display
data
program
performance
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
JP2017048293A
Other languages
English (en)
Inventor
大輔 ▲高▼橋
大輔 ▲高▼橋
Daisuke Takahashi
清隆 植田
Kiyotaka Ueda
清隆 植田
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2017048293A priority Critical patent/JP2018151537A/ja
Priority to US15/869,070 priority patent/US20180267680A1/en
Priority to CN201810035371.1A priority patent/CN108573685A/zh
Priority to EP18151758.2A priority patent/EP3376374A1/en
Publication of JP2018151537A publication Critical patent/JP2018151537A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32128Gui graphical user interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Programmable Controllers (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】画面の作成の段階で、画面の表示に必要な通信量を取得する。【解決手段】対象装置に画面を表示させるためのプログラムを作成する画面作成装置が提供される。画面は、1以上の部品を含み、対象装置は、画面を表示する場合に、当該画面の部品を表示し、または実行するために必要な部品のデータを要求し、通信路を介して相手機器から当該データを応答として受信し、画面作成装置は、部品ごとに、通信路を介して当該部品のデータを伝送する場合に必要な通信量を記憶するための通信量記憶部を含み、プログラムを作成する場合に、画面に含まれる1以上の部品に対応した通信量である画面通信量を取得する。【選択図】図6

Description

この開示は、画面作成装置および画面作成プログラムに関し、特に、1以上の部品を含む画面を作成する装置およびプログラムに関する。
FA(Factory Automation)の分野に適用されるHMI(Human Machine Interface)等のプログラマブルターミナルは、PLC(Programmable Logic Controller)等から得られるFA機器に関する情報を表示する。また、生産管理者のオペレータ等は、タッチなどの操作により、HMIの画面を介してFA機器を制御するためのデータ入力を実施することができる。
HMIに関して、ユーザ(この明細書においては、プログラマブルターミナルの画面を設計または実装する人を指す)は、目的またはFA機器の仕様に従い上記のデータ入力を可能ならしめるように表示画面を作成する。
例えば、特許文献1(特開平6−186940号公報)はプログラマブルターミナルの表示制御装置を開示する。特許文献1の表示制御装置は、表示制御装置のデータ通信部が外部装置からデータと取り出すのに要する時間と、データ表示部がデータの表示を行うのに要する時間とを測定し、測定した時間データを表示する。
特開平6−186940号公報
一般的なHMIを実現するためのHMIプログラムは、それぞれが画面を構成する複数のページを含む。オペレータはボタン操作などにより画面を切替えて目的の操作を行う。画面が切替えられるとき、切替え後のページは、当該画面で表示、または当該画面に関連づけられたプログラムコードを実行するために必要なデータをFAに関連した外部のコントローラ等から通信により取得する。
オペレータの満足度に大きく関わる性能指標の1つとして、「ある画面から別の画面の切替えに要する時間(画面切替時間)」がある。画面切替時間に影響する要素の一つに、画面を表示させるのに必要な通信量(以下、単に通信量ともいう)があり、当該通信量の取得が望まれていた。
しかしながら、上記の特許文献1に記載のプログラマブルターミナルは、上記に述べた通信量を取得する構成は有しない。
この開示のある局面の目的は、画面の表示に必要な通信量を取得することができる画面作成装置を提供することである。
この開示のある局面では、対象装置に画面を表示させるためのプログラムを作成する画面作成装置が提供される。画面は、1以上の部品を含み、対象装置は、画面を表示する場合に、当該画面の部品を表示、または実行するために必要なデータを要求し、通信路を介して相手機器からデータを応答として受信し、画面作成装置は、通信路を介して当該部品のデータを伝送する場合に必要な通信量を記憶するための通信量記憶部を含み、プログラムを作成する場合に、画面に含まれる1以上の部品に対応した通信量である画面通信量を取得する。
好ましくは、画面通信量を用いて、対象装置に当該画面を表示させるためのプログラムの性能を推定する性能推定部を備える。
好ましくは、性能は、対象装置において画面を表示させるのに要する画面切替時間を含み、性能推定部は、相手機器の通信性能と画面通信量から、画面切替時間を取得する切替時間取得部を含む。
好ましくは、性能は、対象装置において画面を表示中に伝送が要求される通信量である表示中通信量を含み、性能推定部は、画面通信量と、画面を表示中において部品のデータが対象装置に伝送される周期とを用いて、表示中通信量を取得する表示中通信量取得部を含む。
好ましくは、性能は、対象装置で画面を表示中に、部品のデータの伝送によって通信路の帯域が占有される割合いである帯域占有率を含み、性能推定部は、画面通信量と、画面を表示中において部品のデータが対象装置に伝送される周期とを用いて取得される表示中通信量が、帯域に占める割合を取得する帯域占有率取得部を含む。
好ましくは、推定された性能に関する情報を、出力部を介して出力する。
好ましくは、性能を、予め定められた閾値と比較することにより当該性能を評価する性能評価部を、さらに備える。
好ましくは、評価に関する情報を、出力部を介して出力する。
好ましくは、評価に関する情報は、予め定められたデータ量を超える部品を有する画面であることを特定する情報、または当該予め定められたデータ量を超える部品の当該画面における位置を示す情報を含む。
この発明のある局面に従うと、対象装置による画面の表示をシミュレートするシミュレーション部を、さらに備え、シミュレーション部は、取得された画面切替時間に応じた待機時間をもってプログラムによる画面をディスプレイに表示する。
好ましくは、対象装置による画面の表示をシミュレートするシミュレーション部を、さらに備え、シミュレーション部は、取得された表示中通信量に応じた待機時間をもってプログラムによる画面をディスプレイに表示する。
好ましくは、対象装置による画面の表示をシミュレートするシミュレーション部を、さらに備え、シミュレーション部は、取得された帯域占有率に応じた待機時間をもってプログラムによる画面をディスプレイに表示する。
この発明のある局面に従うと、対象装置における画面の表示時の挙動をシミュレートするシミュレーション装置が提供される。画面は、1以上の部品を含み、対象装置は、画面を表示する場合に、当該画面の部品を表示、または実行するために必要なデータを要求し、通信路を介して相手機器から当該データを応答として受信し、シミュレーション装置は、通信路を介して当該部品のデータを伝送する場合に必要な通信量を記憶するための通信量記憶部と、画面を表示させるためのプログラムを作成する場合に、上記の通信量を用いて、表示プログラムの画面を対象装置に表示させるための性能を推定する性能推定部と、を備える。
この発明のさらに他の局面に従うと、対象装置に表示させる画面を作成する方法をコンピュータに実行させるためのプログラムであって、画面は、1以上の部品を含み、対象装置は、画面を表示する場合に、当該画面の部品を表示、または実行するために必要なデータを要求し、通信路を介して相手機器から当該データを応答として受信する。方法は、対象装置に画面を表示させるための表示プログラムを作成する場合に、画面に含まれる1以上の部品に対応した通信量である画面通信量を取得するステップと、画面通信量を用いて、表示プログラムの画面を対象装置に表示させるための性能を推定するステップと、を備える。
この開示によれば、画面の作成の段階で、対象装置に画面を表示させるのに必要な通信量を取得することができる。
実施の形態1にかかる画面作成装置を含むシステムの構成を概略的に示す図である。 実施の形態1にかかるプログラマブルターミナル4におけるHMIプログラムの利用態様を模式的に示す図である。 実施の形態1にかかるPC100の構成を概略的に示す図である。 実施の形態1にかかるプログラマブルターミナル4の構成を概略的に示す図である。 実施の形態1にかかるHMIプログラムの開発環境を概略的に示す図である。 実施の形態1にかかるPC100が有する性能推定評価部10Bとその周辺部を模式的に示す図である。 実施の形態1にかかる処理フローチャートである。 実施の形態1にかかるページの変数と通信周期の取得を説明する図である。 実施の形態1にかかるページの変数と通信周期の取得を説明する図である。 実施の形態1にかかるページの変数と通信周期の取得を説明する図である。 実施の形態1にかかる画面表示開始または切替え時に要求される通信量の取得を説明する図である。 実施の形態1にかかる表示中通信量の取得を説明するための図である。 実施の形態1にかかる性能と評価に関する情報の表示の一例を示す図である。
以下に、図面を参照しつつ、各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
[用語と機能の説明]
「HMIプログラム」は、プログラマブルターミナルに表示させる画面に対応する1または複数のページを記載するアプリケーションプログラムである。HMIプログラムの各ページのプログラムが実行されると画面が表示される。「HMIプログラム」の画面は、プログラマブルターミナルを動作させるために必要な部品を含む。
「部品」は、画像データ、テキストデータ、プログラムコードを含む。HMIプログラムが実行されて画面が表示されるとき、部品によって、絵、文字列等が表示されるとともに、プログラムコードが実行されることによる機能(画像表示、データ入出力、操作受付などの機能)が提供される。部品のうち、特に外観を持つものを「UI(User Interface)部品」という。
「部品のデータ」は、部品の表示状態を決定するために必要な変数または式の値を含む。
「ライブラリ」は、HMIプログラムで利用(再利用)できる部品のライブラリ(ファイル)である。
「リソース」は、画像データおよび文字列データなどの画面に組込まれるデータを含む。また、リソースには、プログラムコードが含まれてもよい。
「プロジェクト」は、1つのアプリケーションプログラムを構成するための情報である。
「標準プロジェクト」は、HMIプログラムを作成するためのプロジェクトである。HMIプログラムの「プロジェクト」は、HMIプログラムと、HMIプログラムが参照するリソースデータを有した1以上のライブラリ、ページ一覧データ、変数定義、ユーザが定義したデータ型、通信の設定データなどを含む。
「HMIプログラムの性能」は、「画面切替性能」と「画面の動作性能」とを含む。「画面切替性能」の指標は、オペレータから画面の表示開始または画面の切替の操作を受付けてから、ディスプレイに画面が表示される、または画面が切替わるまでの画面切替時間を含む。「画面の動作性能」の指標は、表示中画面に含まれた部品の表示の更新(レスポンス)にかかる時間を含む。この更新にかかる時間は、後述する画面表示中に発生する単位時間当たりの通信量または帯域占有率により示される。
[実施の形態1]
(概要)
実施の形態1では、PC100は、対象装置に画面を表示させるためのプログラムを作成する「画面作成装置」の一実施例であり、プログラマブルターミナル4は「対象装置」の一実施例である。なお、画面作成装置の機能をプログラマブルターミナル4が備えることも可能であり、その場合には、「画面作成装置」はプログラマブルターミナル4自身となる。
PC100は画面を作成する、言い換えると画面を表示させるためのプログラムを作成する。画面は、1以上の部品を含む。この部品は、上記に述べたUI部品を含み得る。対象装置は、画面を表示する場合に、部品のデータを「相手機器」に通信路を介して要求し、当該通信路を介して相手機器から応答として部品のデータを受信する。
PC100は、画面に含まれる部品の集合ごとに、通信路を介して当該部品のデータを伝送する場合に必要とされている通信量を記憶している。ユーザが画面作成装置を操作して画面を作成する場合は、画面作成装置は、画面に含まれる部品に対応した部品のデータの通信量である画面通信量を用いて、対象装置に当該画面を表示させるためのプログラムの性能を推定し、推定の結果をディスプレイ、音声、プリンタ等の出力部に出力させる。
このように、実施の形態1では、対象装置にプログラムを実行させて画面を表示させなくとも、ユーザが画面のプログラムを作成する段階で、対象装置に当該プログラムを実行させて画面を表示させる場合に必要とされる通信量を取得することができる。この通信量は、当該プログラムの対象装置に画面を表示させるための性能を表す。
(システム構成)
図1は、実施の形態1にかかる画面作成装置を含むシステムの構成を概略的に示す図である。図1を参照して、システムは、FAに適用される複数のPLC1,PLC2,PLC3、主にオペレータが操作するプログラマブルターミナル4、およびPC(Personal Computer)100を備える。プログラマブルターミナル4は、通信路115を介してPLC1,PLC2,PLC3と接続される。通信路115は、例えばEthernet(登録商標)を含むが、これに限定されない。PC100は、有線または無線の通信路111を介してプログラマブルターミナル4に接続され得る。通信路111は、例えばLAN(Local Area Network)を含むが、これに限定されない。
PLC1〜3のそれぞれは同様の構成を有する。PLCは、典型的には、プログラムを実行する主体であるCPU(Central Processing Unit)を有したCPUユニット10、CPUユニット10などへ電力を供給する電源ユニット12、フィールド機器と信号をやり取りするIO(Input Output)ユニット14とを含む。IOユニット14は、CPUユニット10とシステムバス11を介して接続されている。IOユニット14は、CPUユニット10とシステムバス11を介して接続される。典型的には、IOユニット14は、フィールド機器である検出センサ15からの信号を取得し、またはCPUユニット10でのプログラムの実行結果に応じてフィールド機器であるリレー16を駆動する。なお、フィールド機器は、FAに関連した機器の一実施例であり、例えばPLC、検出センサ15およびリレー16を含むが、これらの機器に限定されない。
PC100は、「画面作成装置」の一実施例である。PC100は、ユーザがプロジェクトを開発(生成)する環境を提供する。PC100で生成されたプロジェクトは、プログラマブルターミナル4に送信される。
図2は、実施の形態1にかかるプログラマブルターミナル4におけるHMIプログラムの利用態様を模式的に示す図である。プログラマブルターミナル4は、PC100により作成されたHMIプログラムを実行することにより、HMIのためのGUIとしての役割りを果たす。
図2を参照して、プログラマブルターミナル4は、HMIプログラムの各ページを実行して画面を表示するとき、通信路115を介して、フィールド機器のデータ(検出センサ15の測定データ、センシングデータ、リレー16の状態データ等)を、各PLCに要求する。プログラマブルターミナル4は、応答として受信したデータを、画面の部品として表示する。これにより、オペレータに対して、フィールド機器のデータを報知することができる。
(PC機器100の構成)
図3は、実施の形態1にかかるPC100の構成を概略的に示す図である。図2を参照して、PC100は、CPU110、記憶部としてのメモリ112およびハードディスク114、計時し計時データをCPU110に出力するタイマ113、入力インターフェイス118、表示コントローラ120、通信インターフェイス124、データリーダ/ライタ126を含む。これらの各部は、バス128を介して互いにデータ通信が可能なように接続されている。
CPU110は、ハードディスク114に格納されたプログラム(コード)を実行することで、各種の演算を実施する。メモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である、メモリ112は、ハードディスク114から読出されたプログラム・データに加えて、データリーダ/ライタ126から受信されたデータ、およびワークデータなどが格納される。
入力インターフェイス118は、CPU110とキーボード104、マウス(図示せず)、タッチパネル(図示せず)などの入力装置との間のデータ伝送を仲介する。すなわち、入力インターフェイス118は、ユーザが入力装置を操作することで与えられる操作命令を受付ける。
表示コントローラ120は、表示装置の典型例であるディスプレイ102と接続され、CPU110における処理の結果などを表示する。表示コントローラ120は、CPU110からの表示データに従いディスプレイ102を駆動する。これにより、ディスプレイ102には、表示データに従う画像が表示される。
通信インターフェイス124は、LANを介してプログラマブルターミナル4との間のデータ伝送を仲介する。データリーダ/ライタ126は、CPU110と外部の記憶媒体であるメモリカード106との間のデータ伝送を仲介する。
なお、メモリカード106は、PC100で実行されるプログラムなどが格納された状態で流通し、データリーダ/ライタ126は、このメモリカード106からプログラムを読出す。なお、メモリカード106は、CF(Compact Flash)、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体や、CD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体などからなる。
また、PC100には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
(プログラマブルターミナル4の構成)
図4は、実施の形態1にかかるプログラマブルターミナル4の構成を概略的に示す図である。図4を参照して、プログラマブルターミナル4は、各種の演算を行なうCPU411、ROM(Read Only Memory)412、RAM(Random Access Memory)413、各種のプログラムおよびデータを不揮発的に格納するためのフラッシュROM414、時計415、ユーザの操作を受付けるための操作キー416、データリーダ/ライタ417、タッチスクリーン418および通信インターフェイス419を備える。なお、これらの各部は、内部バスを介して互いに接続される。
タッチスクリーン418は、表示部として機能するディスプレイ481、ユーザの入力を受付けるためのタッチパネル482を含む。タッチパネル482は、ディスプレイ481を覆うように設置される。通信インターフェイス419は、PC100およびPLC1〜3の各種の機器と通信する。
データリーダ/ライタ417は、CPU411と外部の記憶媒体であるメモリカード420との間のデータ伝送を仲介する。メモリカード420は、プログラマブルターミナル4で実行されるプログラムなどが格納された状態で流通し得る。データリーダ/ライタ126は、メモリカード420からプログラムを読出す。なお、メモリカード420は、CF(Compact Flash)、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体や、CD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体などからなる。
また、プログラマブルターミナル4には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
(HMIプログラムの開発環境)
図5は、実施の形態1にかかるHMIプログラムの開発環境を概略的に示す図である。図5では、PC100における開発環境に関連付けて、プログラマブルターミナル4におけるHMIプログラムの実行環境が示されている。
図5を参照して、PC100の開発環境は、OS(オペレーティングシステム)220およびHMIデバイスツールプログラム221を備える。HMIデバイスツールプログラム221は、ハードディスク114からメモリ112にロードされてもよい。HMIデバイスツールプログラム221は、HMIプログラム、ライブラリおよび各種プロジェクトなどを作成するためのエディタ10Aおよび各種プロジェクトをコンパイルするためのコンパイラ10Cを含む。また、PC100は、ライブラリおよびHMIプログラムを作成するためのリソース、関数などのデータを有したライブラリ224を備える。HMIプログラムは、たとえば表示要素の配置および外観の定義、プログラミング言語による動作指示などのための部品のデータを含む。
実施の形態1では、コンパイラ10Cが、エディタ10Aにより作成された標準プロジェクト225をコンパイルする。標準プロジェクト225は、ライブラリ224のデータを用いて作成、編集される場合がある。標準プロジェクト225はHMIプログラム227、および各種のデータの定義228などを含む。標準プロジェクト225はハードディスク114、メモリ112などの記憶部に格納される。
定義228は、HMIプログラム227で使用(参照)されている変数の定義を含む。定義228において定義される変数は、HMIプログラム227の部品により参照される変数を含む。定義228の詳細は後述する。
ユーザは、標準プロジェクト225をコンパイルする場合には、コンパイラ10Cを起動する。コンパイラ10Cは、格納された標準プロジェクト225をコンパイルし、実行形式のコードに変換された実行形式プロジェクト229を出力する。
PC100は、実行形式プロジェクト229を記憶部に格納する、または通信路111を介してプログラマブルターミナル4にロードする。プログラマブルターミナル4は、PC100から転送された実行形式プロジェクト229をフラッシュROMなどに格納する。
プログラマブルターミナル4のオペレータがHMIプログラムの実行を指示すると、プログラマブルターミナル4のOS230の制御のもとで、CPU411は、フラッシュROM414から実行形式プロジェクト229を読出して、読出された実行形式プロジェクト229を、ランタイムを介して実行する。これにより、プログラマブルターミナル4にHMIプログラムに対応の画面が表示される。
(機能構成)
実施の形態1では、PC100は、HMIプログラムの作成時に、当該HMIプログラムの性能を推定し評価する。図6は、実施の形態1にかかるPC100が有する性能推定評価部10Bとその周辺部を模式的に示す図である。図6では、この周辺部として、HMIプログラムのエディタ10A、HMIプログラムのコンパイラ10C、インターフェイス部80および記憶部90が示される。エディタ10Aは主にユーザ操作に従いHMIプログラムを編集する。コンパイラ10Cは、エディタ10Aにより作成されたHMIプログラムをコンパイルする。コンパイル後に、再度、エディタ10Aによる作成に戻る場合がある。実施の形態1では、HMIプログラムの作成は、エディタ10AによるHMIプログラムの編集またはコンパイラ10CのHMIプログラムのコンパイル、またはその両方を含む。
性能推定評価部10Bは、プログラマブルターミナル4に画面を表示させるためのHMIプログラムの性能を推定し、推定された性能を評価する。
図6を参照して、性能推定評価部10Bは、HMIプログラムのページを検出するページ検出部20、ページに含まれる変数に関する情報を抽出する変数抽出部30、性能推定部10D、推定された性能を評価する性能評価部60、評価に基づくガイダンスの情報を出力するガイダンス処理部65、および表示処理部70を含む。
性能推定部10Dは、基本的に、画面の各部品が必要とするデータの和集合を、通信路115を介して伝送する場合に必要な通信量である画面通信量を用いて性能を推定する。具体的には、性能推定部10Dは、画面の表示開始または画面の切替えの場合における画面通信量を取得する第1通信量取得部40、プログラマブルターミナル4における画面切替時間の推定値を取得する切替時間取得部45、画面を表示中における画面通信量を取得する第2通信量取得部50、および画面通信量によって通信路115の帯域が占有される程度(割合)を示す通信帯域占有率を取得する帯域占有率取得部55を備える。
表示処理部70は、HMIプログラムを実行して、ディスプレイ102に画面を表示させるための表示データを表示コントローラ120に出力する。また、表示処理部70は、プログラマブルターミナル4による画面の表示をシミュレートするシミュレーション部71を含む。
これら各部の機能は、プログラムまたは回路、またはそれらの組合せにより実現される。プログラムは、メモリ112またはハードディスク114の記憶部に格納される。CPU110が記憶部からプログラムを読出し、実行することにより、各部の機能が実現される。
(処理フローチャート)
図7は、実施の形態1にかかる処理フローチャートである。図7の処理フローチャートは、プログラムとしてメモリ112またはハードディスク114などに格納されて、CPU110により読出されて実行される。このプログラムは、メモリカード106に格納された状態で流通し得る。CPU110は、データリーダ/ライタ126を介して、メモリカード106からプログラムを読出し、読出されたプログラムをハードディスク114またはメモリ112に格納する。
また、プログラムは、図示しないネットワークを介して通信インターフェイス124により受信される。CPU110は受信されたプログラムをメモリ112またはハードディスク114などに格納するとしてもよい。
図7を参照して、HMIプログラムの画面表示に関する性能の推定と評価に関する処理の概要を説明する。図7の各ステップの処理は、図8〜図12を参照して詳述する。
まず、ユーザはエディタ10Aを起動して、画面のHMIプログラム227および定義228を含む標準プロジェクト225を作成する(ステップS1)。作成される標準プロジェクト225は記憶部90に格納される。
CPU110は、入力インターフェイス118を介して、性能の推定を開始する操作を受付けるか否かを判断する(ステップS2)。CPU110は、当該操作を受付けない場合は(ステップS2でNO)、ステップS1に戻るが、当該操作を受付けた場合は(ステップS2でYES)、HMIプログラムの各ページについて性能を推定する処理を開始する。
まず、CPU110のページ検出部20は、HMIプログラム227からページを検出する(ステップS3)。以下、この検出されたページについて処理がなされる。
変数抽出部30は、ステップS2で検出されたページ(以下、検出ページともいう)に含まれる変数の名称に基づき、定義228を検索する。変数抽出部30は、検索により、検出ページに含まれた全ての変数のそれぞれに対応したデータの型(またデータ長)および通信周期を定義228から読出す(ステップS4)。
第1通信量取得部40は、ステップS4で定義228から読出された内容に基づき、検出ページに含まれる各変数のデータ量を算出し、算出されたデータ量から、当該ページの画像を表示開始するとき、または当該ページの画像への切替が実施される時に必要な画面通信量を取得する(ステップS5)。
切替時間取得部45は、ステップS5で算出された画面通信量と「相手機器」の一実施例であるPLCの性能とに基づき、検出ページの画面を表示開始するとき、または当該画面へ切替る場合に要する画面切替時間を取得する(ステップS6)。
ここで、画面切替時間は、CPU110がユーザから指定ページ(画面)の表示開始操作、または指定ページへの切替操作を受付けてから、指定ページに含まれる変数のデータの要求を、通信路115を介して相手機器に送信し、相手機器からの応答(要求された変数に対応したデータ)を受信し、受信データを部品に組込んだ画面の表示が完了するまでに要する時間を示す。
なお、実施の形態1では、切替時間取得部45が取得する画面切替時間は、PLCからの応答(変数に対応したデータ)が通信路115を介してプログラマブルターミナル4に伝送されるのに要する時間を示す。つまり、画面切替時間に関して、実施の形態1では、プログラマブルターミナル4が上記の要求をPLCに送信するのに要する時間と、プログラマブルターミナル4が相手機器の応答である受信データを部品に組込んだページの画面表示が完了するまでに要する時間は、説明を簡単にするために、略ゼロであるとみなしている。
第2通信量取得部50は、表示中のページに含まれる変数のデータ量と通信周期から、当該ページの画面を表示中に、必要とされる通信量を算出する(ステップS7)。
帯域占有率取得部55は、ステップS7で算出された表示中に必要な通信量と、相手機器の応答に関する性能とに基づき、上記の通信帯域占有率を算出する(ステップS8)。
続いて、性能評価部60は、推定された検出ページの性能の評価と、評価結果の出力を実施する(ステップS9)。具体的には、性能評価部60は、上記の画面切替時間と通信帯域占有率を、それぞれ、対応の閾値と比較する。閾値は、指定の性能を維持するための値であり、予め実験等により決められる。比較の結果に基づき、画面切替時間と通信帯域占有率のいずれかが、対応の閾値よりも大きいことを示す場合は、性能評価部60は、表示コントローラ120を介してディスプレイ102に警告を出力する。
また、ステップS9では、ガイダンス処理部65は、警告とともに、評価に関する情報を表示する。ガイダンス処理部65は、予め定められたデータ量を超える部品を有する画面であることを特定する情報、または当該予め定められたデータ量を超える部品の当該画面における位置を示す情報を表示する。ガイダンス処理部65は、検出ページ(画面)において、データ量のサイズが大きい変数を参照している箇所を特定する情報を出力してもよい。これにより、ユーザに対して、画面切替時間または通信帯域占有率を、対応の閾値以下に変更するための解決方法の情報(ガイダンス)を提示することができる。
CPU110は、HMIプログラム227の全てのページについて性能推定の処理を実施したか否かを判断する(ステップS10)。終了していないときは(ステップS10でNO)、ステップS3に戻り、次の検出ページについて以降の処理が同様に実施される。
一方、HMIプログラム227の全ページについて性能推定の処理が終了しているときは(ステップS10でYES)、CPU110は、ユーザから画面のHMIプログラムの作成終了の操作を受付けるか否かを判断する(ステップS11)。HMIプログラム作成終了の操作を受付けたとき(ステップS11でYES)、一連の処理を終了するが、HMIプログラム作成終了の操作を受付けないとき(ステップS11でNO)、ステップS1に戻り、HMIプログラムの作成のための処理が行われる。
<ステップS4の処理>
図8と図9と図10は、実施の形態1にかかるページの変数と通信周期の取得を説明する図である。図8は、定義228の内容の一例を示す。図8を参照して、定義228は、各変数に関連づけて、変数の名称、変数のデータの型(またはデータ長)、および通信周期等を含む。なお、データ型は、主に、HMIプログラム227を記述するプログラム言語に固有の型であるが、ユーザが定義したデータ型を含んでよい。
また、通信周期は、プログラマブルターミナル4が相手機器に対して変数のデータを定期的に要求(問い合わせる)する場合、その要求の間隔を示す。ユーザは、HMIプログラムの作成時に、定義228に各変数について通信周期を設定する。例えば、画面表示中に頻繁にデータを更新する必要がある変数に対しては通信周期を短く(例えば100msまたは500ms)設定し、そうでない変数の通信周期を長く(例えば5秒)設定する。このようにユーザは通信周期を可変に設定できるから、通信路115の利用可能な帯域が限られるとしても、HMIプログラムの性能を最適化することができる。
ステップS4では、検出ページは、例えば図9のようにディスプレイ102に表示される。変数抽出部30は、検出ページを走査して、検出ページに含まれる文字列を抽出する。変数抽出部30は、抽出された文字列と図8の定義228の変数名の文字列とを照合し、照合の結果に基づき、検出ページから全ての変数を抽出する。また、変数抽出部30は、抽出された各変数の名称に基づき定義228を検索し、対応のデータ型と通信周期を抽出する。
図9では、検出ページから、例えば変数PLC1_Common_Short_Wが抽出されることが示される。また、図8の定義228によれば、変数抽出部30は、変数PLC1_Common_Short_Wについて、データ型は‘Short’および通信周期は‘500msec’であることを取得する。変数抽出部30は、図10に示すように、検出ページから抽出した各変数について、変数名、データ型および通信周期を関連付ける。変数抽出部30は、このように関連付けされた情報を記憶部に格納する。
<ステップS5の処理>
図11は、実施の形態1にかかる画面表示開始または切替時に要求される通信量の取得を説明する図である。検出ページの画面が表示開始される場合または切替先の画面である場合に要求される通信量を取得する処理(ステップS5)では、第1通信量取得部40は、検出ページに含まれる各変数のデータ量を取得し、取得されたデータ量の総和を算出する。
例えば、ステップS4の処理により、検出ページの各変数について、変数名、データ型通信周期、およびデータ量を関連付けた情報(図11参照)が、記憶部90に格納されている。実施の形態1では、Short型は2バイト、Integer(19)型(=4バイト整数20個の配列の型)ならば4×20=80バイト、およびBoolean型は1バイト(機器によっては1ビット)のように各データ長が予め定義されている。なお、構造体型等のユーザ定義型の変数のデータ量は、構造体の各メンバーのデータ量から計算される。実施の形態1では、ユーザ定義の構造体変数型であるMyStruct型は、Integer型のメンバーを18個持つ構造体であるので、当該構造体変数のデータ量は4×18=72バイトと算出される。
第1通信量取得部40は、検出ページについて各変数のデータ量を上記の予め定義されたデータ長に基づき算出し、データ量の総和である155バイト(2+80+1+72=155)を算出する。これにより、検出ページの画面の表示開始時または当該画面への切替時に要求される通信量が取得される。
<ステップS6の処理>
切替時間取得部45は、上記の通信量とプログラマブルターミナル4の相手機器の性能に基づき、検出ページの画面を表示開始する場合または当該画面へ切替る場合の画面切替時間を算出する。具体的には、プログラマブルターミナル4からの読出し要求に対して、相手機器は約毎秒1000バイトの応答性能を持つ。なお、当該応答性能は、PC100の記憶部に予め格納されている。したがって、切替時間取得部45は、上記に算出された検出ページの画面の通信量(155バイト)についての画面切替時間を、155バイト÷1000バイト/秒=155msと算出する。このように、相手機器の通信性能すなわち相手機器が応答可能な単位時間当たりの通信量(1000バイト/秒)と画面通信量(155バイト)との比を算出することにより、プログラマブルターミナル4において検出ページの画面を表示させるのに要する画面切替時間が取得される。なお、切替時間の取得においては、相手機器の通信性能は、相手機器が応答可能な単位時間当たりの通信量に限らず、たとえば、相手機器が応答可能なデータアクセスコマンドの個数などの他の要素を考慮してもよい。
<ステップS7の処理>
図12は、実施の形態1にかかる表示中通信量の取得を説明するための図である。図12の情報は、上述の処理により取得される。図12によれば、検出ページに含まれる変数のうち、変数‘PLC1_Common_Short_W’と‘テスト用変数’とは、変数のデータの読出し要求は0.5秒毎に相手機器に送信され、同様に、変数‘MainSwitchStatus’と‘テスト用構造体変数’とは、変数のデータの読出し要求は0.1秒毎に相手機器に送信されることが示される。
第2通信量取得部50は、図12の情報から、検出ページの画面を表示中に発生する単位時間(例えば、1秒間)あたりに要求される通信量を、(2バイト+80バイト)÷0.5秒+(1バイト+72バイト)÷0.1秒=894バイト/秒と算出する。したがって、検出ページに、読出し周期が短い、またはデータ量が大きい変数が多く含まれるほど、当該検出ページの画像を表示中において、要求される通信量は多くなることがわかる。
<ステップS8の処理>
実施の形態1では、上記に述べたように相手機器は約毎秒1000バイトの応答性能を持つ。したがって、図11または図12に示す検出ページの変数のデータ(総量:894バイト)の読出し要求を送信した場合に、帯域占有率取得部55は、相手機器から応答が伝送される場合の通信路115の帯域占有率を、894バイト/秒÷1000バイト/秒=89.4%と算出する。これにより、検出ページの画面を表示する場合の通信路115の帯域占有率が取得される。
なお、上記のデータ量、通信量、画面切替時間、帯域占有率の取得方法は、上記のような算出による取得方法に限定されない。例えば、テーブルを検索して、テーブルから値を読出す方法であってもよい。例えば、帯域占有率の場合には、変数のデータの総量のそれぞれに対応して帯域占有率が登録されたテーブルを予め記憶しておき、帯域占有率取得部55は、検出ページについて算出されたデータ総量に基づきテーブルを検索し、テーブルから対応の帯域占有率を読出す方法であってもよい。
<ステップS9の処理>
図13は、実施の形態1にかかる性能と評価に関する情報の表示の一例を示す図である。実施の形態1では、これら情報はディスプレイ102に表示するとしているが、情報の出力部はディスプレイ102に限定されず、音声出力部またはプリンタであってもよい。また、これら情報を格納するとしてもよく、その場合には、情報の出力先は記憶部である。
まず、性能評価部60による評価の処理を説明する。
上記に述べたように、検出ページの画面を表示開始する、または当該画面へ切替える時に要求される通信量は155バイトと取得されて、画面切替時間は155msと算出されている。実施の形態1では、画面切替時間の閾値は、例えば400msに設定されている。実験によれば、この閾値の時間は、多くのオペレータが「画面の表示開始が遅い、または切替が遅い」と感じ始める時間である。性能評価部60は、検出ページについて、閾値を用いて(155ms<400ms)の条件が成立すると判断する。性能評価部60は、当該条件が成立するとき、すなわち検出ページについて取得された画面切替時間は十分に短いケースに該当する場合は、検出ページの性能に関する警告を表示しない。一方、性能評価部60は、当該条件が成立するときは、当該警告を表示する。
また、検出ページは、画面表示中の通信量は上記に述べた894バイト/秒であり、通信帯域占有率は89.4%を占めるケースに該当する。実施の形態1では、通信帯域占有率の閾値は、例えば25%に設定されている。この閾値は、スムーズなUI操作に影響を与えない通信占有率の限度の参考値である。性能評価部60は、検出ページについて、閾値を用いた(89.4%>25%)の条件が成立するか否かを判断する。性能評価部60は、当該条件が成立すると判断したとき、すなわち検出ページの画面を表示中における通信路115の通信帯域占有率は大きいと判断する場合は、検出ページの性能に関する警告を表示する。一方、性能評価部60は、当該条件が成立しないと判断するときは、当該警告を表示しない。
図13のディスプレイ102には検出ページを作成する場合のページ編集画面が示される。図13のページ編集画面では、推定された性能または性能評価に関する情報が表示される。図13のページ編集画面の左側において、HMIプログラム227に含まれるページの名称の一覧が示される。また、ページ名称の一覧において、検出ページの名称に関連づけて警告のマーク202が表示されている。また、このページ編集画面の警告201は、警告のマークとともに、上記の各ステップにおいて取得された情報(検出ページの画面の表示開始または切替時に要求される通信量(1,200,378バイト)、上述の画面切替時間(5.7秒)および通信帯域占有率(120.4%)等)を含む。
また、このページ編集画面は警告203を含む。性能評価部60は、検出ページについて取得された上記の画面切替時間が長い、または通信帯域占有率が高く、そのためにオペレータがUI操作をスムーズに実施できないと推定される旨のメッセージを生成し、警告203として表示する。このメッセージは、性能の評価内容(例えば、‘ページの切替性能やUIの応答性に問題があります’のメッセージ)を含む。
ページ編集画面は警告204を含む。警告204は、警告のマークと、ガイダンス処理部65が出力するガイダンス情報を含む。ガイダンス情報は、性能を改善するための情報を含む。ガイダンス情報は、例えば、検出ページは、予め定められた閾値を超えるデータ量を有した変数を有すること、HMIプログラムにおいて当該変数を参照している箇所を特定する情報、または検出ページの画面において当該変数に対応した部品の表示位置を特定する情報を含む。
ガイダンス情報について、例えば、図13の警告204は、検出ページに含まれる変数のうち、性能を低下させている箇所に関連づけて、警告の理由と性能を改善するためのガイダンスメッセージを含む。警告204のガイダンスメッセージは、例えば「変数名+定型文‘大量の通信を発生させるために性能低下の原因となります’」、または変数の型が構造体である場合は、例えば「構造体変数名+定型文‘大量の通信を発生させるために性能低下の原因となります。必要なメンバーだけを含む構造体に変更すると問題が解消する可能性があります’」等である。
また、実施の形態1では、ガイダンス処理部65は、ステップS4で検出ページから変数が抽出される際に、データ量が大きい変数(例えば、閾値(100バイト)以上の変数)を特定し、特定された変数の検出ページにおける参照位置を抽出し、ステップS9において、検出ページの編集画面において該変数の参照位置205に警告のマークを表示してもよい。
または、ガイダンス処理部65は、検出ページに対応した画面をディスプレイ102に表示し、この画面上で当該変数の部品が表示されている位置を指示するように警告のマークを表示するとしてもよい。
(HMIプログラムの画面の表示とシミュレーション処理)
実施の形態1では、表示処理部70は、HMIプログラムの作成時に得られた実行形式プロジェクト229に従い、検出ページのプログラムを実行し、検出ページの表示データを生成し、生成された表示データを表示コントローラ120に出力する。表示コントローラ120は、表示データに従いディスプレイ102に検出ページの画面を表示させる。したがって、ユーザは、HMIプログラムの作成時に、PC100のディスプレイ102において、プログラマブルターミナル4のディスプレイ481に表示させる検出ページの画面を確認することができる。
表示処理部70が検出ページの画面をディスプレイ102に表示する場合に、シミュレーション部71は、プログラマブルターミナル4における当該画面の表示時の挙動をシミュレートする。
例えば、シミュレーション部71は、検出ページについて第1通信量取得部40が取得した画面表示開始時または画面切替え時の通信量に応じた待機時間、または切替時間取得部45が取得した画面切替時間に応じた待機時間、または第2通信量取得部50が取得した表示中通信量に応じた待機時間をもって、検出ページの画面をディスプレイ102に表示する。
または、シミュレーション部71は、検出ページについて取得された通信帯域占有率に応じた待機時間をもって画面をディスプレイ102に表示する。
ユーザは、キーボード104を介して、検出ページの画面の表示開始(または表示切替)の操作をしてから、画面がディスプレイ102に表示されるまで、上記の待機時間だけ待機させられることで、検出ページの画面が有する性能を体感することが可能となる。このように、PC100は、プログラマブルターミナル4における画面の表示時の挙動をシミュレートする「シミュレーション装置」として機能し得る。
実施の形態1によれば、プログラマブルターミナル4に画面を表示させるためのHMIプログラム227の性能を、HMIプログラム227の作成時に、ユーザに知らせることができる。
これにより、性能が低い画面のページをHMIプログラムの作成段階で特定し、対策(HMIプログラムの編集し直し)を取ることができる。したがって、実機で動作させるまで性能問題が発覚しない場合に比べて、HMIプログラムの作成段階でより性能の課題に対処することが可能となり、HMIプログラムの開発効率を改善することができる。
[実施の形態2]
実施の形態2は、実施の形態1の変形例を示す。実施の形態1では、HMIプログラムを作成する環境を、PC100に備えたが、プログラム作成環境は、PC100に備えるケースに限定されない。例えば、プログラマブルターミナル4が、HMIプログラムを作成する環境(図5参照)と、性能推定評価部10Bを備えることが可能である。その場合には、「対象装置」は当該プログラマブルターミナル4であり、プログラマブルターミナル4は、上記で説明したPC100による「画面作成装置」または「シミュレーション装置」として機能し得る。
[実施の形態3]
実施の形態3では、上述の「画面作成装置」または「シミュレーション装置」の少なくとも一方をPC100のCPU110またはプログラマブルターミナル4のCPU411に実行させるためのプログラムが提供される。このようなプログラムは、PC100またはプログラマブルターミナル4に付属するフレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、ROM、RAMおよびメモリカード106,420などのコンピュータ読み取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、ハードディスク114などの記録媒体にて記録させて、プログラムを提供することもできる。また、図示しないネットワークから通信インターフェイス124,419を介したダウンロードによって、プログラムを提供することもできる。
なお、プログラムは、PC100またはプログラマブルターミナル4のOS(オペレーティングシステム)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、実施の形態3のプログラムに含まれ得る。
また、実施の形態3にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、実施の形態3にかかるプログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
4 プログラマブルターミナル、10A エディタ、10B 性能推定評価部、10C コンパイラ、10D 性能推定部、11 システムバス、12 電源ユニット、15 検出センサ、16 リレー、20 ページ検出部、30 変数抽出部、40 第1通信量取得部、45 切替時間取得部、50 第2通信量取得部、55 帯域占有率取得部、60 性能評価部、65 ガイダンス処理部、70 表示処理部、71 シミュレーション部、80 インターフェイス部、90 記憶部、100 PC、102,481 ディスプレイ、104 キーボード、106,420 メモリカード、111,115 通信路、201,203,204 警告、202 マーク、205 位置。
例えば、特許文献1(特開平6−186940号公報)はプログラマブルターミナルの表示制御装置を開示する。特許文献1の表示制御装置は、表示制御装置のデータ通信部が外部装置からデータ取り出すのに要する時間と、データ表示部がデータの表示を行うのに要する時間とを測定し、測定した時間データを表示する。
PC100は、画面に含まれる部品の集合ごとに、通信路を介して当該部品のデータを伝送する場合に必要とされている通信量を記憶している。ユーザが画面作成装置を操作して画面を作成する場合は、画面作成装置は、画面に含まれる部品に対応した部品のデータの通信量である画面通信量を用いて、対象装置に当該画面を表示させるためのプログラムの性能を推定し、推定の結果をディスプレイ、音声出力部、プリンタ等の出力部に出力させる。
PLC1〜3のそれぞれは同様の構成を有する。PLCは、典型的には、プログラムを実行する主体であるCPU(Central Processing Unit)を有したCPUユニット10、CPUユニット10などへ電力を供給する電源ユニット12、フィールド機器と信号をやり取りするIO(Input Output)ユニット14とを含むIOユニット14は、CPUユニット10とシステムバス11を介して接続される。典型的には、IOユニット14は、フィールド機器である検出センサ15からの信号を取得し、またはCPUユニット10でのプログラムの実行結果に応じてフィールド機器であるリレー16を駆動する。なお、フィールド機器は、FAに関連した機器の一実施例であり、例えばPLC、検出センサ15およびリレー16を含むが、これらの機器に限定されない。
(PC機器100の構成)
図3は、実施の形態1にかかるPC100の構成を概略的に示す図である。図を参照して、PC100は、CPU110、記憶部としてのメモリ112およびハードディスク114、計時し計時データをCPU110に出力するタイマ113、入力インターフェイス118、表示コントローラ120、通信インターフェイス124、データリーダ/ライタ126を含む。これらの各部は、バス128を介して互いにデータ通信が可能なように接続されている。
CPU110は、ハードディスク114に格納されたプログラム(コード)を実行することで、各種の演算を実施する。メモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であるメモリ112は、ハードディスク114から読出されたプログラム・データに加えて、データリーダ/ライタ126から受信されたデータ、およびワークデータなどが格納される。
図9では、検出ページから、例えば変数PLC1_Comm_Short_Wが抽出されることが示される。また、図8の定義228によれば、変数抽出部30は、変数PLC1_Comm_Short_Wについて、データ型は‘Short’および通信周期は‘500msec’であることを取得する。変数抽出部30は、図10に示すように、検出ページから抽出した各変数について、変数名、データ型および通信周期を関連付ける。変数抽出部30は、このように関連付けされた情報を記憶部に格納する。
例えば、ステップS4の処理により、検出ページの各変数について、変数名、データ型通信周期、およびデータ量を関連付けた情報(図11参照)が、記憶部90に格納されている。実施の形態1では、Short型は2バイト、Integer(19)型(=4バイト整数20個の配列の型)ならば4×20=80バイト、およびBoolean型は1バイト(機器によっては1ビット)のように各データ長が予め定義されている。なお、構造体型等のユーザ定義型の変数のデータ量は、構造体の各メンバーのデータ量から計算される。実施の形態1では、ユーザ定義の構造体変数型であるMyStruct型は、Integer型のメンバーを18個持つ構造体であるので、当該構造体変数のデータ量は4×18=72バイトと算出される。
<ステップS7の処理>
図12は、実施の形態1にかかる表示中通信量の取得を説明するための図である。図12の情報は、上述の処理により取得される。図12によれば、検出ページに含まれる変数のうち、変数‘PLC1_Comm_Short_W’と‘テスト用変数’とは、変数のデータの読出し
要求は0.5秒毎に相手機器に送信され、同様に、変数‘MainSwitchStatus’と‘テスト用構造体変数’とは、変数のデータの読出し要求は0.1秒毎に相手機器に送信されることが示される。
まず、性能評価部60による評価の処理を説明する。
上記に述べたように、検出ページの画面を表示開始する、または当該画面へ切替える時に要求される通信量は155バイトと取得されて、画面切替時間は155msと算出されている。実施の形態1では、画面切替時間の閾値は、例えば400msに設定されている。実験によれば、この閾値の時間は、多くのオペレータが「画面の表示開始が遅い、または切替が遅い」と感じ始める時間である。性能評価部60は、検出ページについて、閾値を用いて(155ms<400ms)の条件が成立すると判断する。性能評価部60は、当該条件が成立するとき、すなわち検出ページについて取得された画面切替時間は十分に短いケースに該当する場合は、検出ページの性能に関する警告を表示しない。一方、性能評価部60は、当該条件が成立しないときは、当該警告を表示する。

Claims (14)

  1. 対象装置に画面を表示させるためのプログラムを作成する画面作成装置であって、
    前記画面は、1以上の部品を含み、
    前記対象装置は、前記画面を表示する場合に、当該画面の部品を表示し、または実行するために必要な部品のデータを要求し、通信路を介して相手機器から当該部品のデータを応答として受信し、
    前記画面作成装置は、
    前記通信路を介して当該部品のデータを伝送する場合に必要な通信量を記憶するための通信量記憶部を含み、
    前記プログラムを作成する場合に、前記画面に含まれる1以上の前記部品に対応した通信量である画面通信量を取得する、画面作成装置。
  2. 前記画面通信量を用いて、前記対象装置に当該画面を表示させるための前記プログラムの性能を推定する性能推定部を備える、請求項1に記載の画面作成装置。
  3. 前記性能は、前記対象装置において画面を表示させるのに要する画面切替時間を含み、
    前記性能推定部は、
    前記相手機器の通信性能と前記画面通信量から、前記画面切替時間を取得する切替時間取得部を含む、請求項2に記載の画面作成装置。
  4. 前記性能は、前記対象装置において画面を表示中に伝送が要求される前記部品の通信量である表示中通信量を含み、
    前記性能推定部は、
    前記画面通信量と、画面を表示中において部品のデータが前記対象装置に伝送される周期とを用いて、前記表示中通信量を取得する表示中通信量取得部を含む、請求項2または3のいずれか1項に記載の画面作成装置。
  5. 前記性能は、前記対象装置で画面を表示中に、前記部品のデータの伝送による前記通信路の帯域が占有される割合いである帯域占有率を含み、
    前記性能推定部は、
    前記画面通信量と、画面を表示中において部品のデータが前記対象装置に伝送される周期とを用いて取得される表示中通信量が、前記帯域に占める割合を取得する帯域占有率取得部を含む、請求項2から4のいずれか1項に記載の画面作成装置。
  6. 推定された前記性能に関する情報を、出力部を介して出力する、請求項2から5のいずれか1項に記載の画面作成装置。
  7. 推定された前記性能を、予め定められた閾値と比較することにより当該性能を評価する性能評価部を、さらに備える、請求項2から6のいずれか1項に記載の画面作成装置。
  8. 前記評価に関する情報を、出力部を介して出力する、請求項7に記載の画面作成装置。
  9. 前記評価に関する情報は、予め定められたデータ量を超える部品を有する画面であることを特定する情報、または当該予め定められたデータ量を超える部品の当該画面における位置を示す情報を含む、請求項8に記載の画面作成装置。
  10. 前記対象装置による前記画面の表示をシミュレートするシミュレーション部を、さらに備え、
    前記シミュレーション部は、取得された前記画面切替時間に応じた待機時間をもって前記プログラムによる画面をディスプレイに表示する、請求項3に記載の画面作成装置。
  11. 前記対象装置による前記画面の表示をシミュレートするシミュレーション部を、さらに備え、
    前記シミュレーション部は、取得された前記表示中通信量に応じた待機時間をもって前記プログラムによる画面をディスプレイに表示する、請求項4に記載の画面作成装置。
  12. 前記対象装置による前記画面の表示をシミュレートするシミュレーション部を、さらに備え、
    前記シミュレーション部は、取得された前記帯域占有率に応じた待機時間をもって前記プログラムによる画面をディスプレイに表示する、請求項5に記載の画面作成装置。
  13. 対象装置における画面の表示時の挙動をシミュレートするシミュレーション装置であって、
    前記画面は、1以上の部品を含み、
    前記対象装置は、前記画面を表示する場合に、当該画面の部品を表示するための部品のデータを要求し、通信路を介して相手機器から応答として当該部品のデータを受信し、
    前記シミュレーション装置は、
    前記通信路を介して部品のデータを伝送する場合に必要な通信量を記憶するための通信量記憶部と、
    前記画面を表示させるためのプログラムを作成する場合に、前記画面に含まれる前記1以上の部品に対応した前記通信量である画面通信量を用いて、当該プログラムの前記対象装置に画面を表示させるための性能を推定する性能推定部と、を備える、シミュレーション装置。
  14. 対象装置に表示させる画面を作成する方法をコンピュータに実行させるためのプログラムであって、
    前記画面は、1以上の部品を含み、
    前記対象装置は、前記画面を表示する場合に、当該画面の部品を表示するための部品のデータを要求し、通信路を介して相手機器から応答として当該データを受信し、
    前記方法は、
    前記対象装置に画面を表示させるための表示プログラムを作成する場合に、前記画面に含まれる前記1以上の部品に対応した前記通信量である画面通信量を取得するステップと、
    前記画面通信量を用いて、前記表示プログラムの画面を前記対象装置に表示させるための性能を推定するステップと、を備える、プログラム。
JP2017048293A 2017-03-14 2017-03-14 画面作成装置および画面作成プログラム Pending JP2018151537A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017048293A JP2018151537A (ja) 2017-03-14 2017-03-14 画面作成装置および画面作成プログラム
US15/869,070 US20180267680A1 (en) 2017-03-14 2018-01-12 Screen creation apparatus, simulation apparatus and recording medium
CN201810035371.1A CN108573685A (zh) 2017-03-14 2018-01-15 画面制作装置、模拟装置以及记录媒体
EP18151758.2A EP3376374A1 (en) 2017-03-14 2018-01-16 Screen creation apparatus, simulation apparatus and screen creation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017048293A JP2018151537A (ja) 2017-03-14 2017-03-14 画面作成装置および画面作成プログラム

Publications (1)

Publication Number Publication Date
JP2018151537A true JP2018151537A (ja) 2018-09-27

Family

ID=61027430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017048293A Pending JP2018151537A (ja) 2017-03-14 2017-03-14 画面作成装置および画面作成プログラム

Country Status (4)

Country Link
US (1) US20180267680A1 (ja)
EP (1) EP3376374A1 (ja)
JP (1) JP2018151537A (ja)
CN (1) CN108573685A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6988785B2 (ja) * 2018-12-28 2022-01-05 オムロン株式会社 継電器状態予測装置、継電器状態予測システム、継電器状態予測方法、およびプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3286365B2 (ja) 1992-12-18 2002-05-27 株式会社デジタル 表示制御装置
US7849449B2 (en) * 2005-12-05 2010-12-07 National Instruments Corporation Implementing a design flow for a programmable hardware element that includes a processor
JP5143287B2 (ja) * 2009-09-18 2013-02-13 株式会社東芝 中継装置
US9285800B2 (en) * 2011-11-11 2016-03-15 Rockwell Automation Technologies, Inc Systems and methods for asynchronous searching and filtering of data
US9069635B2 (en) * 2012-04-09 2015-06-30 Autodesk, Inc. Process for compressing application deployments
US20150193386A1 (en) * 2012-05-03 2015-07-09 David Adam Wurtz System and Method of Facilitating Font Selection and Manipulation of Fonts
WO2015072012A1 (ja) * 2013-11-15 2015-05-21 三菱電機株式会社 表示制御装置、メータシステムおよび表示制御方法
CN103823678B (zh) * 2014-02-21 2018-07-03 联想(北京)有限公司 图像处理方法和图像处理装置
US9524536B2 (en) * 2014-07-25 2016-12-20 Intel Corporation Compression techniques for dynamically-generated graphics resources
US10235477B2 (en) * 2014-07-31 2019-03-19 National Instruments Corporation Prototyping an image processing algorithm and emulating or simulating execution on a hardware accelerator to estimate resource usage or performance
KR102151457B1 (ko) * 2014-08-25 2020-09-03 삼성전자 주식회사 통신 시스템에서 페이지 로딩 시간 단축 방법 및 장치
US9990264B2 (en) * 2014-12-12 2018-06-05 Schneider Electric Software, Llc Graphic performance measurement system
US10244550B2 (en) * 2015-04-23 2019-03-26 Telefonaktiebolaget Lm Ericsson (Publ) Technique for scheduling transmission of content in an access network
US10104172B1 (en) * 2015-10-15 2018-10-16 Oath (Americas) Inc. Systems and methods for syndicated distribution of electronic content
US9923993B2 (en) * 2015-11-02 2018-03-20 Rockwell Automation Technologies, Inc. Self-describing diagnostic data for presentation on mobile devices
US20180217875A1 (en) * 2016-02-17 2018-08-02 Hitachi, Ltd. Data processing system and data processing method
US10708389B2 (en) * 2016-12-06 2020-07-07 Intelligrated Headquarters, Llc Phased deployment of scalable real time web applications for material handling system

Also Published As

Publication number Publication date
US20180267680A1 (en) 2018-09-20
EP3376374A1 (en) 2018-09-19
CN108573685A (zh) 2018-09-25

Similar Documents

Publication Publication Date Title
US20060265469A1 (en) XML based scripting framework, and methods of providing automated interactions with remote systems
US20090055757A1 (en) Solution for automatically generating software user interface code for multiple run-time environments from a single description document
CN107832050B (zh) 程序处理装置以及记录介质
CN113741898B (zh) 表单生成方法、装置及设备
CN110488738B (zh) 一种代码生成方法及装置
US20160125037A1 (en) Information processing apparatus, information processing method, information processing program, and storage medium
JP2006301989A (ja) 計算機言語によるプログラムをブロック図から自動生成する方法と装置とプログラム
JP2018151537A (ja) 画面作成装置および画面作成プログラム
US20220197238A1 (en) Development support device, method for controlling development support device, and recording medium
CN112825033A (zh) 界面代码的生成方法、装置、设备及存储介质
CN116360763A (zh) 一种快速生成rpa应用的方法及装置
JP2006243841A (ja) Plc用ツール装置
CN114022105A (zh) 数据处理方法、装置、电子设备和可读存储介质
CN112272820B (zh) 支持装置以及支持程序的记录介质
KR101728786B1 (ko) 에스브이지 파일 포맷을 이용한 컴포넌트 기반의 동적 이미지 표시 시스템 및 방법
JP7208441B1 (ja) Fa制御テスト支援プログラム、fa制御テスト支援装置、fa制御テスト支援方法及びfa制御テスト支援システム
JP4387288B2 (ja) 制御用表示装置、エディタ装置、プログラムおよび記録媒体
KR100423742B1 (ko) 순차기능챠트에 의한 전용 제어 시스템
JP2010026968A (ja) 回路生成支援プログラム及び回路生成支援方法
JP2018181072A (ja) 情報処理装置とその処理方法及びプログラム
JP4001458B2 (ja) タグ名共有化装置、タグ名共有化方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2010182031A (ja) ソフトウエア生成支援装置
JP2007094453A (ja) プログラム開発支援システム、プログラム開発支援方法およびプログラム
JP2007265098A (ja) マクロ定義情報取得装置
JP2007047971A (ja) 個別プログラム生成装置及び方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180330