JP2023151937A - 情報処理装置およびプログラム - Google Patents

情報処理装置およびプログラム Download PDF

Info

Publication number
JP2023151937A
JP2023151937A JP2022061821A JP2022061821A JP2023151937A JP 2023151937 A JP2023151937 A JP 2023151937A JP 2022061821 A JP2022061821 A JP 2022061821A JP 2022061821 A JP2022061821 A JP 2022061821A JP 2023151937 A JP2023151937 A JP 2023151937A
Authority
JP
Japan
Prior art keywords
screen
type
communication protocol
communication
control device
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
JP2022061821A
Other languages
English (en)
Inventor
博巳 石原
Hiromi Ishihara
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 JP2022061821A priority Critical patent/JP2023151937A/ja
Priority to PCT/JP2023/008542 priority patent/WO2023189280A1/ja
Publication of JP2023151937A publication Critical patent/JP2023151937A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】制御装置が利用する通信プロトコルの種類の把握をサポートする情報を提供する。【解決手段】情報処理装置は、対象を制御する制御装置と通信する通信部と、制御装置と通信する情報から、制御装置が通信に利用する通信プロトコルの種類を判定する通信プロトコル判定部と、判定されたプロコトルの種類を出力する出力部を含む。【選択図】図1

Description

本技術は、対象を制御する制御装置と通信する情報処理装置およびプログラムに関する。
特開2020-149391号公報(特許文献1)に記載された制御装置は、制御対象を制御するための制御演算を実行するように構成された制御部と、証明書を利用したセキュア通信のための処理を実行する通信部と、証明書の寿命が近づいていることを検知する検知部と、証明書の寿命が近づいていることを通知する通知部を備える。通知部は、HMI(Human Machine Interface)の画面に通知を表示させる。
特開2020-149391号公報
FA(ファクトリオートメーション)のHMI等の表示器は、制御装置との通信情報に基づく画面を含むUI(ユーザインターフェイス)を提供するよう構成されるから、ユーザは、UIによって提供される情報から制御装置の稼働状況を遠隔からモニタできる。したがって、ユーザからは、情報の質を高めるために、画面によって提供される情報の通信に利用される通信プロトコルの種類を確認したいとの要望がある。
それゆえに、本発明の目的は、制御装置が利用する通信プロトコルの種類の把握をサポートする情報を提供することである。
本開示に係る情報処理装置は、対象を制御する制御装置と通信する通信部と、制御装置と通信する情報から、制御装置が通信に利用する通信プロトコルの種類を判定する通信プロトコル判定部と、判定されたプロコトルの種類を出力する出力部を含む。
上述の開示によれば、情報処理装置が自ら、制御装置との通信情報から制御装置が利用する通信プロトコルの種類を判定し、出力する。これにより、情報処理装置は、制御装置が利用する通信プロトコルの種類の把握をサポートする情報を提供できる。
上述の開示において、出力部は、1つ以上のオブジェクトから構成される画面を表示する表示部を含み、オブジェクトは、出力される通信プロトコルの種類を表すオブジェクトを含む。
上述の開示によれば、制御装置が利用する通信プロトコルの種類の情報を、画面を構成するオブジェクトとして提供することができる。
上述の開示において、通信プロトコル判定部は、通信部によって制御装置に通信接続の確立を要求するとき、制御装置と通信する情報から、制御装置が通信に利用する通信プロトコルの種類を判定する。
上述の開示によれば、情報処理装置は、通信接続の確立を制御装置に要求する時に、制御装置が利用する通信プロトコルの種類を判定できる。
上述の開示において、制御装置が通信に利用する通信プロトコルの種類は、セキュア通信プロトコルまたはノンセキュア通信プロトコルを含む。
上述の開示によれば、情報処理装置は、制御装置が利用する通信プロトコルの種類として、セキュア通信またはノンセキュア通信のプロトコルを判定することができる。
上述の開示において、通信部は、複数の制御装置と通信可能に構成され、通信プロトコル判定部は、各制御装置と当該情報処理装置が通信する情報から、当該制御装置が通信に利用する通信プロトコルの種類を判定し、出力される通信プロトコルの種類は、各制御装置について判定された通信プロトコルの種類を集約した集約種類を含む。
上述の開示によれば、情報処理装置は、複数の制御装置と通信する場合に、各制御装置について判定された通信プロトコルの種類を集約した集約種類を出力することができる。
上述の開示において、制御装置と通信する情報は、対象の制御に関連する制御情報を含み、出力部は、1つ以上のオブジェクトから構成される画面を表示する表示部を含み、1つ以上のオブジェクトは、制御情報を表すオブジェクトを含む。
上述の開示によれば、表示画面において、制御装置について判定された通信プロトコルの種類のオブジェクトとともに、当該制御装置が対象を制御する情報を表すオブジェクトを出力することができる。
上述の開示において、集約種類は、画面を構成する各オブジェクトが表す制御情報を通信する制御装置について判定された通信プロトコルの種類を集約した通信プロトコルを含む。
上述の開示によれば、画面に表示される通信プロトコルの集約情報として、当該画面を構成する各オブジェクトが表す制御情報を通信している制御装置について判定された通信プロトコルの種類の集約を示すことができる。
上述の開示において、集約種類を表すオブジェクトは、異なる種類のオブジェクトを含み、情報処理装置は、画面における他のオブジェクトの配置状態に基づき、異なる種類のオブジェクトのうちから、画面に配置される集約種類を表すオブジェクトを決定する。
上述の開示によれば、集約種類を表すオブジェクトを、異なる種類のオブジェクトのうちから決定することができて、この決定を、画面における他のオブジェクトの配置状態に基づいて実施することができる。
上述の開示において、異なる種類のオブジェクトは、画面の枠を表す予め定められた色を有するオブジェクト、画面に配置される他のオブジェクトに重ねて配置される半透過のオブジェクト、および画面の予め定められた位置に配置される当該集約種類を表すアイコンのオブジェクトの少なくとも2つを含む。
上述の開示によれば、集約種類を表すオブジェクトは、画面の枠を表す予め定められた色を有するオブジェクト、画面に配置される他のオブジェクトに重ねて配置される半透過のオブジェクト、画面の予め定められた位置に配置される当該集約種類を表すアイコンのオブジェクトの少なくとも2つのうちから、決定することができる。
上述の開示において、集約種類を表すアイコンのオブジェクトが画面に配置される場合、当該アイコンが操作されると、予め定められた種類の通信プロトコルを利用する制御装置の情報を表すオブジェクトを画面に配置する。
上述の開示によれば、集約種類を表すアイコンのオブジェクトが画面に配置される場合、当該アイコンが操作されることに応じて、情報処理装置は、複数の制御装置のうち予め定められた種類の通信プロトコルを利用する制御装置の情報を提示することができる。
上述の開示において、画面に配置されるオブジェクトは、制御装置と通信する情報であって、対象の制御に関連する制御情報とともに、当該制御装置について判定された通信プロトコルの種類を表すオブジェクトを含む。
上述の開示によれば、情報処理装置は、画面において、制御装置が実施する対象の制御に関連する制御情報を表すオブジェクトとともに、当該制御装置について判定された通信プロトコルの種類を表すオブジェクトを提示できる。
上述の開示において、情報処理装置は、画面を表示するための画面データを格納する格納部をさらに、備え、画面データは、当該画面に配置される各オブジェクトが有する表示に関する属性と、当該属性の値である属性値を決定するために実行されるロジックを含み、ロジックは、集約種類を取得し、取得した集約種類のオブジェクトを画面に配置するロジックを含む。
上述の開示によれば、情報処理装置は、格納された画面データに基づき、当該画面を構成するオブジェクトの属性と、集約情報を取得しオブジェクトとして画面に配置するためのロジックを取得できる。
本開示の他の局面において、上述の画面を表示するための画面データを作成する情報処理装置が提供される。
上述の開示によれば、情報処理装置は、制御装置が利用する通信プロトコルの種類を示すオブジェクトを画面に出力するための画面データを作成できる。これにより、制御装置が利用する通信プロトコルの種類の把握をサポートする情報を提供できる。
本開示のさらに他の局面において、コンピュータに情報処理の方法を実行させるためのプログラムが提供される。当該方法は、対象を制御する制御装置と通信するステップと、制御装置と通信する情報から、制御装置が通信に利用する通信プロトコルの種類を判定するステップと、判定された通信プロコトルの種類を出力するステップを含む。
上述の開示によれば、コンピュータによってプログラムが実行されると、コンピュータは、制御装置との通信情報から制御装置が利用する通信プロトコルの種類を判定し、出力する。これにより、コンピュータは、制御装置が利用する通信プロトコルの種類の把握をサポートする情報を提供できる。
本開示によれば、制御装置が利用する通信プロトコルの種類の把握をサポートする情報を提供できる。
実施の形態に係るFAの制御システムSYSの全体構成を示す概略図である。 本実施の形態に係る表示器4のハードウェア構成例を示す図である。 本実施の形態に係るサポート装置のハードウェア構成例を示す図である。 実施の形態1にかかる表示器4とサポート装置300の機能構成を模式的に示す図である。 本実施の形態に係る表示器4の機能構成例を示す模式図である。 本実施の形態に係る画面データ611の一例を示す図である。 本実施の形態に係る画面データ611の他の例を示す図である。 本実施の形態に係る画面作成の概略処理を示すフローチャートである。 本実施の形態に係る画面の表示例を示す図である。 本実施の形態に係る画面の表示例を示す図である。 本実施の形態に係る画面の表示例を示す図である。 本実施の形態に係る画面の表示例を示す図である。 本実施の形態に係る画面の表示例を示す図である。 本実施の形態に係る画面の表示例を示す図である。 本実施の形態に係る画面の表示例を示す図である。 本実施の形態に係る出力例を示す図である。 本実施の形態に係る画面の選択処理の一例を示す図である。 本実施の形態に係る通信プロトコル判定の処理フローチャートである。 本実施の形態に係るプロトコルテーブル45の一例を示す図である。 本実施の形態に係るステータステーブル46の一例を示す図である。 本実施の形態に係るページ切替え処理のフローチャートである。 本実施の形態に係るテーブルのデータの変化の一例を示す図である。 本実施の形態に係るオブジェクトに変数を割付ける処理を説明する図である。 本実施の形態に係るオブジェクトに変数を割付ける処理を説明する図である。 本実施の形態に係る他の画面の表示例を示す図である。
<A.適用例>
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係るFAの制御システムSYSの全体構成を示す概略図である。図1に例示される制御システムSYSは、1または複数のフィールド機器9と、フィールド機器9を制御するコントローラ1A、1Bおよび1Cと、コントローラ1A、1Bおよび1Cに接続される表示器4と、サポート装置300とを備える。コントローラ1A、1Bおよび1Cは、同様の構成および機能を有するので、コントローラ1A、1Bおよび1Cに共通の構成および機能を説明する場合は、コントローラ1と総称する。
フィールド機器9は、コントローラ1の「制御対象」の一実施形態である。フィールド機器9は、例えば生産工程を自動化するための種々の産業用機器を含む。一例として、フィールド機器9は、アームロボットを制御するロボットコントローラ、サーボモータを制御するサーボドライバ、ワークを撮影するための視覚センサ、圧力センサ、温度センサ、および生産工程で利用されるその他の機器などを含む。
コントローラ1は、FA(ファクトリオートメーション)におけるネットワークシステムを構成するFA機器であり、例えばPLC(Programmable logic controller)などのコンピュータである。コントローラ1は、製造装置や製造設備などの各フィールド機器9を制御するための制御プログラムを実行する。制御プログラムは、シーケンス命令および/またはモーション命令を有するシーケンスプログラムを含む。
表示器4は、「情報処理装置」の一実施形態である。表示器4はコントローラ1にネットワーク115を介して接続されている。
表示器4は、コントローラ1に関連する情報を含む1以上の画面を表示し、1以上の画面に対する操作を受けるユーザインターフェイスを備えた、所謂プログラマブル表示器、プログラマブルターミナル等を含む。また、表示器4はHMIとしても提供される。
表示器4は、中継器17を介してネットワーク115に接続される1台または複数のコントローラ1と接続されるとともに、ネットワーク111を介して1または複数のサポート装置300と接続される。ネットワーク111および115は、例えばEthernet(登録商標)を含むが、これに限定されない。
サポート装置300は、表示器4のアプリケーションプログラム、コントローラ1のユーザプログラム、表示器4の画面データを開発する環境および各種ツールをユーザに提供する。サポート装置300は、このような環境またはツールをGUI(Graphical User Interface)により提供する。サポート装置300は、汎用のコンピュータを含んで構成される情報処理装置の一例であり、据え置き型コンピュータデバイス、または、携帯型のスマートフォン、ラップトップ、タブレットなどのコンピュータデバイスなどであってもよい。サポート装置300は、USB(Universal Serial Bus)などによって表示器4に着脱自在に装着されてもよい。
コントローラ1は、制御演算の制御プログラムを含むユーザプログラムを実行する。本実施の形態にかかるユーザプログラムは、いわゆる変数プログラムである。すなわち、ユーザプログラム、当該プログラムが実行時に参照する入力データ(後述する状態値)、出力データ(後述する制御指令)、内部計算用データなどはデータ別に入力変数、出力変数、および一時変数などを用いて利用できるよう構成される。
コントローラ1は、ユーザプログラムの実行主体であるCPU(Central Processing Unit)を有したCPUユニット10、CPUユニット10などへ電力を供給する電源ユニット12、フィールド機器9と信号をやり取りするIO(Input Output)ユニット14とを含む。IOユニット14は、CPUユニット10とシステムバス11を介して互いにデータを遣り取り可能に接続されている。IOユニット14は、フィールド機器9の状態値として検出センサ15から出力を取得し、またはCPUユニット10での状態値に基づく制御演算の実行結果である制御指令をフィールド機器9であるリレー16に出力する。リレー16が制御指令に従って駆動されると、リレー16の状態値が検出センサ15によって取得されて、取得された状態値に基づく制御演算が実行されて、当該制御演算に基づく制御指令によってリレーが駆動される。コントローラ1は、このような状態値と制御指令の入出力と制御演算とを周期的に繰り返し実行することにより、フィールド機器9を継続して制御することができる。
表示器4は、ユーザインターフェイスを構成するタッチスクリーン418およびハードウェアキーである操作キー416を有する。また、表示器4は、操作キー416とともに、または、操作キー416に代えて、操作キー416の役割を担う他の種類のキー、例えばソフトウェアキーを提供するよう構成されてもよい。
サポート装置300では、タッチスクリーン418に表示される画面の画面データがサポートプログラムを用いて作成(開発)される(ステップST1)。サポート装置300では、画面を構成するオブジェクトが規定されることにより画面データが開発される。画面のオブジェクトは、画面に配置されて操作対象となり得るオブジェクト、例えばアイコン、ウィンドウ、ツールバー、ボタン、スライダー、テキスト、エディットボックスなどの部品を含む。サポート装置300は、開発された画面データを表示器4に転送する(ステップST2)。
表示器4は、サポート装置300からの画面データに基づく画面をタッチスクリーン418に表示させる。より具体的には、表示器4は、表示中の画面を構成するオブジェクトに割当てられた変数の値を、コントローラ1から受信し、受信した変数の値に基づき、表示中の画面の画面データの各オブジェクトが有するビジネスロジックを実行する。ビジネスロジック実行により得られた各オブジェクトの属性値に基づき、表示器4は表示中の画面のオブジェクトの属性値を更新する。これにより、例えば、コントローラ1によって制御されるフィールド機器9の状態値または制御指令の現在値を表示するように、画面のオブジェクトの表示状態が更新される。ユーザは、タッチスクリーン418の画面のオブジェクトの表示状態から、最新のフィールド値(状態値または制御指令などの情報)をモニタし、これによりコントローラ1の稼働状態を遠隔から監視できる。
表示器4は、また、コントローラ1が当該表示器4との通信に利用する通信プロトコルの種類を表すオブジェクトを含む画面を、タッチスクリーン418に表示する。より具体的には、表示器4は、コントローラ1とネットワーク115を介して通信する情報から、当該コントローラ1が表示器4との通信に利用する通信プロトコルを自らが判定し(ステップST3)、判定された通信プロトコルの種類に基づき通信する。この判定された通信プロトコルの種類に基づき、表示画面のオブジェクトが有するビジネスロジックを実行することができる。ビジネスロジック実行により得られた各オブジェクトの属性値に基づき、表示器4は表示画面のオブジェクトの属性値を更新する(ステップST4)。これにより、画面のオブジェクトを、通信相手であるコントローラ1が表示器4との通信に利用する通信プロトコルの種類に応じて、表示状態を変化させることができる。ユーザは、このようなオブジェクトの表示状態の変化から、コントローラ1が表示器4との通信に利用する通信プロトコルの種類の把握が可能となる。
表示器4はコントローラ1と通信を行う際に、セキュア通信(HTTPS)か通常通信であるノンセキュア通信(HTTP)かを、コントローラ1側の設定に応じて表示器4が自律的に判定し、判定されたプロトコルを利用して通信を接続する。すなわち、ユーザが明示的かつ静的に表示器4に設定せずとも、表示器4は自動的に通信プロトコルの種類を判定し、判定した通信プロトコルの種類を出力する。
図1では、監視対象のコントローラ1とセキュア通信を行っているかどうかを表示器4のユーザに通知できるので、表示器4がコントローラ1と通信する情報はセキュリティが担保されているとの安心感、またはセキュリティが担保されていないとの警戒感をユーザに与えることができる。
本実施の形態では、コントローラ1が表示器4との通信に利用する通信プロトコルとして、HTTP(Hypertext Transfer Protocol)と、HTTPによる通信をセキュアに行うためのHTTPS(Hypertext Transfer Protocol Secure)とのいずれかを利用する。なお、コントローラ1が表示器4との通信に利用する通信プロトコルはHTTP、HTTPSに限定されない。
また、図1のサポート装置300のサポート環境は表示器4に内蔵されてもよい。コントローラ1の制御の対象に含まれるフィールド機器9は産業用機器、すなわちFAを含む産業プラントの設備や機器を含むものであり、図1に示す検出センサ15およびリレー16等の機器に限定されない。
以下、本実施の形態のより具体的な応用例について説明する。
<B.表示器4のハードウェア構成例>
図2は、本実施の形態に係る表示器4のハードウェア構成例を示す図である。表示器4は、据え置き型でもよいし、コントローラ1が配置される製造現場等では可搬性に優れたノート型のパーソナルコンピュータの形態で提供されてもよい。
図2に示すように、表示器4は、CPU(Central Processing Unit)411と、ROM(Read Only Memory)412と、RAM(Random Access Memory)413と、各種のプログラムおよびデータを不揮発的に格納するためのフラッシュROM414と、ユーザ(作業者)の操作を受付けるための操作キー416と、データリーダ/ライタ417と、タッチスクリーン418と、通信インターフェイス419と、USBインターフェイス420を備える。これらの各部は、内部バスを介して互いに接続される。
CPU411は、フラッシュROM414に格納されたプログラムおよびデータを読出して、RAM413に展開して実行することで、各種処理を実現する。RAM413は、DRAMやSRAMなどの揮発性記憶装置などで構成される。
フラッシュROM414は、たとえば、システムプログラム270と、1または複数のオブジェクト50を含むプロジェクトデータ250と、プロトコルテーブル45と、ステータステーブル46とを格納する。プロジェクトデータ250は、タッチスクリーン418に画面を表示するための画面データに相当する。本実施の形態では「画面データ」は、画面に配置されるオブジェクト50に関連付けて、1または複数の属性と、各属性の属性値を決定するために実行されるコマンドからなるロジックを含む。画面には、1つ以上のオブジェクトが配置される。本実施の形態では、タッチスクリーン418に表示される画面毎に、当該画面に対応のプロジェクトデータ250がフラッシュROM414に格納される。プロトコルテーブル45は、表示器4が通信する各コントローラ1について、当該コントローラ1の識別子と、表示器4が判定した通信プロトコルの種類であって、当該コントローラ1が表示器4との通信に利用する通信プロトコルの種類とが登録される。ステータステーブル46は、表示器4が通信する各コントローラ1について、当該コントローラ1の識別子と、当該コントローラ1が表示器4と通信可能な状態であるか否かを示す情報が登録される。プロトコルテーブル45およびステータステーブル46の詳細については後述する。
プロジェクトデータ250は、表示器4で実行可能なコードからなる。プロジェクトデータ250が読み込まれて実行されることにより、オブジェクト50に対応する絵や文字列などを含む画面が表示される。画面のオブジェクトは、コントローラ1と通信するフィールド値に基づく画像の表示と、当該オブジェクトに対するユーザ操作を従ったコードを含むロジックの実行等を担う。
タッチスクリーン418は、表示部として機能するディスプレイ481と、ユーザの入力を受付けるためのタッチパネル482とを含む。通信インターフェイス419は、中継器17を含む外部装置と通信する回路を含む。USBインターフェイス420は、サポート装置300と通信する回路を含む。
データリーダ/ライタ417は、CPU411と外部記憶媒体の一例であるメモリカード421との間のデータ伝送を仲介する。また、表示器4には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
<C.サポート装置300のハードウェア構成例>
図3は、本実施の形態に係るサポート装置のハードウェア構成例を示す図である。サポート装置300は、据え置き型でもよいし、コントローラ1が配置される製造現場では可搬性に優れたノート型のパーソナルコンピュータの形態で提供されてもよい。
図3に示すように、サポート装置300は、OS(Operating System)を含む各種プログラムを実行するCPU302と、BIOSや各種データを格納するROM304と、CPU302でのプログラムの実行に必要なデータを格納するための作業領域を提供するRAM306と、CPU302で実行されるサポートプログラム370などを含む各種プログラムを不揮発的に格納するHDD(ハードディスク)308とを備える。
サポート装置300は、さらに、ユーザ(開発者)の操作を受付けるキーボード310およびマウス312を含む入力部311と、情報をユーザに提示するためのディスプレイ314とを含む。サポート装置300は、コントローラ1および表示器4を含む外部装置と通信するためのUSBインターフェイス318を備える。入力部311は、ディスプレイ314と一体的に構成されるタッチパネルとして提供されてもよい。サポート装置300の各部は内部バス320により相互に通信する。
サポート装置300は、記録媒体322が脱着自在に装着されて、装着された記録媒体322からそこに格納されているサポートプログラム370を読み取るための記録媒体読取装置317を含む。読み取られたサポートプログラム370は、HDD308に格納される。
サポートプログラム370は、実行されることにより、サポート装置300におけるオブジェクト50を含むプロジェクトデータ250の開発環境を実現する。記録媒体322は、サポート装置300で実行されるサポートプログラム370などが格納された状態で流通し得る。なお、記録媒体322は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体や、CD-ROM(Compact Disk Read Only Memory)などの光学記憶媒体などからなる。
<D.機能構成>
図4は、実施の形態1にかかる表示器4とサポート装置300の機能構成を模式的に示す図である。図4を参照して、表示器4と通信するコントローラ1はフィールド機器9の状態値を取得する、または状態値に基づく制御演算によりフィールド機器9の制御指令を算出する制御プログラム実行部2を備える。制御プログラム実行部2は、CPUユニット10の制御の元にラダーロジックを含む制御プログラムを実行する。
また、コントローラ1は、変数ファイル2Aを有する。変数ファイル2Aの各変数に設定されている値の「フィールド値」は、フィールド機器9の制御結果を示す値(状態値)と制御演算結果の値(制御指令)を含む。変数ファイル2Aでは、これら値は、対応の変数に設定される。
表示器4は、コントローラ1と通信するように通信インターフェイス419を制御するコントローラ側通信部3、サポート装置300と通信するように通信インターフェイス419を制御する端末装置側通信部7、および画面表示を実行するためのモジュールであるランタイム26を備える。ランタイム26は画面表示を実行する場合に、フラッシュROM414を含んで構成される記憶部21を検索する。また、ランタイム26に関連してUIツール27を含む。
記憶部21は、プロジェクトデータ250、オブジェクトのライブラリ256、コントローラ1と通信するフィールド値など各種のロギングをするためのログファイル253、プロトコルテーブル45およびステータステーブル46を格納する。コントローラ側通信部3および端末装置側通信部7は、Ethernetに従う送信用のフレームを生成する、または受信したフレームを解析(フレームからのデータ抽出等)する機能を備える。
図4のサポート装置300は、画面データ(プロジェクトデータ250)を作成するための開発環境を提供するために利用されるモジュールを有する。より具体的には、サポート装置300は、プロジェクトデータ250と、プロジェクトデータ250を作成するために利用される各種モジュール371を格納するHDD308に相当する記憶部と、USBインターフェイス318を制御する通信モジュール31と、ユーザインターフェイス(UI)32と、画面の開発支援モジュール33と、コンパイラ34とを含む。ユーザインターフェイス32は、図3に示す入力部311およびディスプレイ314によって構成される。開発支援モジュール33は、画面作成ツール36とコードエディタ37を含む。開発支援モジュール33は、CPU302がサポートプログラム370を実行することにより実現される。
記憶部のプロジェクトデータ250は、1以上の画面の各々について、画面データ611を含む。画面データ611は、対応の画面を構成する(当該画面に配置される)オブジェクト50の種類、位置、サイズ、割当てられた変数などを示す。
本実施の形態では、オブジェクト50に割当てられる変数とは、データそのもの、および当該データが格納される入れ物や記憶領域などである。たとえば、フィールド機器9(図1参照)の状態を表すデータそのもの、および当該データが格納される入れ物や記憶領域などである。典型的には、変数は、フィールド機器9の制御に関するフィールド値が設定される変数を含む。これら変数に設定される値は、構造体または配列として表される値も含む。
開発支援モジュール33の画面作成ツール36は、表示器4に表示される1以上の画面の各々の構成を編集するためのツールである。コードエディタ37は、ソースコードを編集する。また、開発支援モジュール33は、表示器4に表示される1以上の画面を定義するソースコード340と、画面に関する各種設定350とを生成する。ソースコード340は、例えばXML(Extensible Markup Language)を用いて記述される。
コンパイラ34は、ソースコード340をコンパイルすることにより、プロジェクトデータ250を生成する。生成されたプロジェクトデータ250は、記憶部に格納される。記憶部に格納されたプロジェクトデータ250は、開発者からの指示に応じて、通信モジュール31を介して表示器4に転送される。
図4に示すサポート装置300が有する各種モジュールは、CPU302が実行するプログラムとして実現されるが、プログラムと回路(ASIC:application specific integrated circuit、FPGA:field-programmable gate array等)の組合せにより実現されてもよい。
<E.表示器4の機能構成例>
図5は、本実施の形態に係る表示器4の機能構成例を示す模式図である。図5に示す例では、主に、画面表示に関する機能が示される。図5を参照して、表示器4は、記憶部21と、ユーザインターフェイス23と、制御部24と、処理モジュール30とを含む。記憶部21は、図2に示すROM412、RAM413およびフラッシュROM414によって構成される。ユーザインターフェイス23は、図2に示すディスプレイ481およびタッチパネル482によって構成される。ユーザインターフェイス23は、マウス、キーボードを含んでもよい。制御部24および処理モジュール30は、図2に示すCPU411がシステムプログラム270を含む各種プログラムを実行することにより実現される。
記憶部21は、メインメモリ22を含むとともに、プロジェクトデータ250、プロトコルテーブル45およびステータステーブル46を記憶する。メインメモリ22には、例えば、ユーザインターフェイス23への操作に関する操作ログ情報90と、予め登録されたイベントの発生状況を示すイベントログ92が記録される。
制御部24は、表示器4の動作を制御する。制御部24は、OS25と、ランタイム26のモジュールと、UIツール27のモジュールを含む。OS25は、表示器4の基本的な機能を実行する。ランタイム26のモジュールは、画面マネージャ26aと、変数マネージャ26bとを含む。
画面マネージャ26aは、プロジェクトデータ250に基づいた画面を作成しユーザインターフェイス23に表示させる。あるいは、画面マネージャ26aは、画面遷移の必要なイベントが発生したときに、プロジェクトデータ250に基づいて遷移先の画面を作成しユーザインターフェイス23に表示させる。
変数マネージャ26bは、画面を構成するオブジェクト50に割当てられた変数の値をコントローラ1から取得する。画面マネージャ26aは、プロジェクトデータ250を構成する画面データ611のオブジェクト50の変数に、変数マネージャ26bが取得した当該変数の値を割当てる。
処理モジュール30は、各種処理を実行する。処理モジュール30は、通信プロトコルを判定するプロトコル判定部28およびステータス判定部29のモジュールを含む。
プロトコル判定部28は、コントローラ1A、1Bおよび1Cが表示器4との通信に利用する通信プロトコルを判定し、判定結果をプロトコルテーブル45に登録する。ステータス判定部29は、コントローラ1A、1Bおよび1Cについて表示器4との通信状態を判定し、判定結果をステータステーブル46に登録する。
図5に示す表示器4のモジュールは、CPU411が実行するプログラムとして実現されるが、プログラムと回路(ASIC、FPGA等)の組合せにより実現されてもよい。
<F.プロジェクトデータと画面作成>
図6は、本実施の形態に係る画面データ611の一例を示す図である。図6を参照して、表示器4に表示される画面は、画面マネージャ26aによって、1つ以上の画面データ611を含むプロジェクトデータ250に基づき作成される。画面データ611は、当該画面の識別子である画面ID608と反映ロジック609を含む。画面データ611は、さらに、当該画面に配置されるオブジェクト50のそれぞれに関連付けて、オブジェクト50を識別するためのオブジェクトID610、オブジェクト50の具体的な属性を示す属性601、オブジェクト50に対するイベントを識別するイベントID612およびビジネスロジック619を含む。反映ロジック609およびビジネスロジック619は、画面データに基づき画面を表示するため実行される命令コードからなる。
属性601は、複数種類の属性のそれぞれに対応の属性IDを含む。属性IDは、オブジェクト50の種類613、表示時の背景色614、表示時の色615、画面における位置616、表示のサイズ617、および当該オブジェクト50に割当てられるコントローラ変数618を含む。部品によっては特定の属性または属性値を持たない場合がある。さらに画面データ611は部品の各属性IDに関連付けて属性値を格納している。コントローラ変数618は、変数名と当該変数の通信先となるコントローラの識別子(例えば、ネットワーク115上のアドレスなど)の組で示される。
反映ロジック609は、表示器4と通信する全てのコントローラ1の通信プロトコルの種類に基づく情報を示すオブジェクトを、画面に配置するために実行されるロジックを含む。
イベントID612は、例えば、オブジェクト50に対して受付け可能な1つ以上のユーザ操作の種類を示す。操作の種類は、例えばクリック(Click)、リリース(Release)、押す(Press)等を含むが、これらに限定されない。
ビジネスロジック619は、対応のオブジェクト50を画面の配置(表示)するために実行される命令コードを含む。例えば、ビジネスロジック619は、画面データ611に基づく画面に配置されるオブジェクト50について、対応のイベントID612で示されるイベントが検出されるときに、CPU411(より特定的には、ランタイム26)は当該イベントID612に対応のビジネスロジック619を実行する。ビジネスロジック619は、コントローラ1とフィールド値を授受するロジック(例えばプログラムコード)、当該フィールド値を利用した演算ロジック(例えばプログラムコード)、演算の結果に基づき対応するオブジェクトの表示を制御するロジック(例えばプログラムコード)または当該オブジェクトに対しなされた操作の種類(イベントID612)に応じた、当該オブジェクトの表示を制御するロジック(例えばプログラムコード)等を含む。
CPU411は、ビジネスロジック619を実行することにより、当該オブジェクト50に対応のコントローラ変数618で識別される、コントローラ1の変数ファイル2Aからフィールド値を受信し、受信されたフィールド値に基づき演算ロジックを実行し、演算の結果に基づきオブジェクト50の表示状態を変化させる。例えば、オブジェクト50の色、サイズ、文字などの属性を、算出された値に基づき変化させる。
また、反映ロジック609が実行されると、CPU411は、画面を構成する1以上のオブジェクト50のコントローラ変数618が示すコントローラ1について判定された通信プロトコルの種類(HTTPまたはHTTPS)に従ったオブジェクトを画面に配置(表示)する。この反映ロジック609に基づく処理(以下、画面単位反映処理ともいう)の詳細は後述する。
(f1.プロジェクトデータの他の例)
図7は、本実施の形態に係る画面データ611の他の例を示す図である。図6の画面データ611は、画面を構成する各オブジェクト50について、オブジェクト反映フラグ620が設定される。図7のプロジェクトデータ250の他の項目は、図6のそれらと同様であるから説明は繰り返さない。
図7では、オブジェクト反映フラグ620が「ON(オン)」に設定されたオブジェクト50についてのみ、対応のビジネスロジック619は、通信プロトコルの判定値を用いて実施され、オブジェクト反映フラグ620が「OFF(オフ)」に設定されたオブジェクト50については、当該演算は通信プロトコルの判定値を用いずに実施される。
より具体的には、オブジェクト反映フラグ620が1(オン)を示す場合において、オブジェクト50のコントローラ変数618の通信に利用される通信プロトコルがHTTPSと判定されているときは、当該オブジェクト50のビジネスロジック619が実行されて、予め定められた属性値が算出されて、画面には当該属性値に基づくオブジェクトが配置される(以下、オブジェクト単位反映処理ともいう)。対照的に、画面反映フラグ610が0(オフ)を示す場合は、オブジェクト50のコントローラ変数618の通信に利用された通信プロトコルがHTTPSと判定されていたとしても、ビジネスロジック619を実行してもオブジェクト単位反映処理は実施されない。
なお、オブジェクト単位反映処理では、CPU411は、コントローラ変数618が示すコントローラ1の識別子に基づき、プロトコルテーブル45から、当該コントローラ1について判定された通信プロトコルの種類(HTTPSまたはHTTP)を検索することで、通信プロトコルの種類を取得できる。
図7の画面データ611に基づく画面が表示されるとき、オブジェクト単位反映処理が実施される。これにより、表示画面において表示される各オブジェクト50について、当該オブジェクト50が示すフィールド値はHTTPS通信で受信されたものか、すなわちセキュリティが担保されたものか否かを示す情報を、ユーザに提供できる。
なお、画面データ611の構成は、図6または図7の構成に限定されず、画面(オブジェクト)の表示に関する他の項目が含まれてもよい。
<G.画面の作成処理>
図8は、本実施の形態に係る画面作成の概略処理を示すフローチャートである。画面作成においては、ユーザは、サポート装置300のUI32を介して画面作成ツール36を利用して画面のプロジェクトデータ250を作成する。図8の処理は、CPU302が画面作成ツール36として実施する。
まず、ユーザは、画面の画面ID608を指定し、CPU302は、当該操作を受付け、指定された画面ID608をプロジェクトデータ250に設定する(ステップS40)。CPU302は、反映ロジック609の指定操作を受付けるかを判定し(ステップS42)、当該操作を受付けたと判定すると(ステップS42でYES)、画面のプロジェクトデータ250に、受付けた反映ロジック609を設定する(ステップS44)。
CPU302は、反映ロジック609の指定操作を受付けないと判定すると(ステップS42でNO)、各オブジェクトについて、ユーザ操作に基づき、属性601、イベントID612およびビジネスロジック619を設定する(ステップS46)。
CPU302は、各オブジェクト50について、反映ロジック609の指定操作を受付けるかを判定し(ステップS48)、当該操作を受付けたと判定すると(ステップS48でYES)、画面のプロジェクトデータ250の各オブジェクトのオブジェクト反映フラグ620に、受付けた値を設定する(ステップS50)。
CPU302は、オブジェクト反映フラグ620クの指定操作を受付けないと判定すると(ステップS48でNO)、画面作成終了の操作を受付けたかを判定し(ステップS52)、画面作成終了操作を受付けたと判定すると(ステップS52でYES)、処理は終了するが(ステップS52でYES)、受付けていないと判定されると(ステップS52でNO)、ステップS40に戻り、次の画面について、ステップS40以降の処理が同様に実施される。作成されてプロジェクトデータ250はデバッグおよびコンパイルされて、格納される。
図8に示されるように、画面のプロジェクトデータ250が作成されるとき、各画面の画面データ611には反映ロジック609とオブジェクト反映フラグ620の両方が設定されてもよく、または、いずれか一方が設定されてもよい。
<H.出力例>
図9~図15は、本実施の形態に係る画面の表示例を示す図である。これら画面は、表示器4のランタイム26が、UIツール27を介してユーザにより操作されることで、画面のプロジェクトデータ250が実行されて表示される。
図9と図10は、表示器4のメニュー画面の一例を示す。画面は、左側に表示器4と通信可能なコントローラ1の識別子を示すリストのオブジェクト50と、画面右側において、リストにおいて選択操作された識別子51に対応のコントローラ1について判定された通信プロトコルの種類を示すオブジェクト52が配置されている。
図11、図12および図13は、プロジェクトデータ250の反映ロジック609に基づく画面単位反映処理が実施された場合の表示例を示す。例えば、画面単位反映処理では、CPU411が反映ロジック609を実行することにより、表示器4が通信する全コントローラ1の通信プロトコルの種類を集約して表す情報(以下、集約種類と呼ぶ)を取得し、取得した集約種類を表示するオブジェクトを画面に配置する。例えばコントローラ1Aと1BはHTTPSと判定され、コントローラ1CはHTTPと判定された場合は、少なくとも1つがHTTP(ノンセキュア)であることに基づき、集約種類としてノンセキュアを表すオブジェクトが画面に配置される。
このように配置されるオブジェクトとして、図11では、画面54上の枠の色を変えて(例えば赤色)表したオブジェクト53が配置され、図12では、画面上の表示の色調を変えて表示する斜線で示す半透過の矩形のオブジェクトが、画面に配置されている他のオブジェクトに重ねて配置される。図13では、画面の隅にアイコン55を表すオブジェクトが配置される。アイコン55は解錠されたマークを示すことで、ノンセキュアであることが提示される。図13では、アイコン55がタッチ操作されると、メッセージボックスのオブジェクト56が表示される。オブジェクト56には、予め定められた種類の通信プロトコルを利用するコントローラ1の情報を表すオブジェクト57が画面に配置される。すなわちオブジェクト56は、例えばノンセキュア通信の通信プロトコルHTTPを利用すると判定されたコントローラ1の情報(識別子)57が表示される。
図11と図12の集約種類を表すオブジェクトによれば、ユーザは視覚的に集約種類(セキュアまたはノンセキュア)を気づきやすい。また、図13のオブジェクトによれば、ユーザに、は集約種類とともに、当該集約種類によって集約された各コントローラ1の通信プロトコルの情報を確認できる。
図14と図15は、プロジェクトデータ250のオブジェクト反映フラグ620に基づくオブジェクト単位反映処理が実施された場合の表示例を示す。例えば、オブジェクト単位反映処理では、表示器の画面に配置される各オブジェクト(ボタンやランプなど)にユーザの設定したオブジェクト反映フラグ620に応じて対象のコントローラ1について判定された通信プロトコルの種類、すなわちHTTPS(セキュア)またはHTTP(ノンセキュア)に応じて、当該通信プロトコルの種類を表すオブジェクトを異ならせている。図14では、セキュア通信を行っているコントローラ1と通信するフィールド値を表わすオブジェクトにのみ、施錠マークを表すオブジェクト58が表示される。対照的に、図15では、ノンセキュア通信を行っているコントローラ1と通信するフィールド値を表わすオブジェクトにのみ、解錠マークを表すオブジェクト59が表示される。オブジェクト58または59は、フィールド値を表すオブジェクトに関連付けて表示されればよく、両オブジェクトの配置は図14または図15に示す配置に限定されない。
コントローラ1について判定された通信プロトコルの種類または集約種類の出力部は、タッチスクリーン418に限定されず、図16に示すような他の出力部であってもよい。図16は、本実施の形態に係る出力例を示す図である。図16では、集約種類は、表示器4の筐体に取り付けられたLED(Light Emitting Diode)60は利用して出力される。例えば、表示器4が備えているRun LEDを使って集約種類が提示される。Run LEDは表示器4が正常動作では緑で表示し、異常が発生すると赤表示となる。Run LEDは、表示器4の動作状態と集約種類の組合わせで点灯が制御される。例えば、CPU411は、集約種類がノンセキュア(HTTP)を示すとき、正常動作の場合はオレンジ色で表示し、異常発生時は赤色で表示する。また、集約種類がセキュア(HTTPS)を示すときLEDを点滅表示させる。また、図16に示されたRun LEDの点灯制御は、図9~図15の画面の表示と並行して実施されてもよい。
<I.オブジェクトの選択>
図17は、本実施の形態に係る画面の選択処理の一例を示す図である。図11、図12および図13に示された集約種類のオブジェクトの表示(配置)は、表示中の画面における他のオブジェクトの配置状態に基づき、これら複数種類のオブジェクトのうちから当該画面に配置するオブジェクトを決定するにしてもよい。このような選択的な決定の処理の一例が図17に示される。図17の処理は、画面マネージャ26aとしてCPU411が実施する。
CPU411は、表示中の画面のデータ(プロジェクトデータ250)を走査し、走査結果に基づき、当該画面を構成する複数のオブジェクト50の位置616、サイズ617からオブジェクトの画面における配置を解析する。解析結果に基づき、画面の枠の位置に配置されたオブジェクト50はないと判定すると(ステップS50でYES)、図11のオブジェクトを表示すると決定する(ステップS51)。また、画面の枠の位置に配置されたオブジェクト50があると判定し(ステップS50でNO)、解析結果に基づき、画面の所定位置にアイコン55のオブジェクトを配置可能なエリアがあると判定すると(ステップS52でYES)、図13のオブジェクトを表示すると決定する(ステップS53)。また、画面の所定位置にアイコン55のオブジェクトを配置可能なエリアがないと判定し(ステップS52でNO)、解析結果に基づき、画面においてオブジェトが占めるエリアが閾値を超えると判定すると(ステップS54でYES)、図12のオブジェクトを表示すると決定する(ステップS55)。その後は、画像表示の処理を終えるか判定し(ステップS56)、終えない判定すれば(ステップS56でNO)、次の画面の表示処理(ステップS58)に移行し、そうでないと判定すれば(ステップS56でYES)、処理を終了する。
図17の処理は、画面を表示する場合に表示対象となる画面毎に実施されるが、画面の表示時ではなく、画面を作成するときに実施されてもよい。つまり、画面作成の処理において、図17の処理を実施し、実施結果に基づき、各画面の画面データ611に、集約種類を表すオブジェクトの表示を、図11、図12および図13のいずれの配置で実施するかを指定するデータを追加してもよい。
<J.通信プロトコルの判定>
図18は、本実施の形態に係る通信プロトコル判定の処理フローチャートである。図19は、本実施の形態に係るプロトコルテーブル45の一例を示す図である。図20は、本実施の形態に係るステータステーブル46の一例を示す図である。図19の処理は、CPU4011がプロトコル判定部28およびステータス判定部29として実行する。
本実施の形態では表示器4には、通信するために、コントローラ1A、コントローラ1Bおよびコントローラ1CそれぞれのIPアドレスを予め取得している。
表示器4が起動されると、CPU411は、コントローラ1AのIPアドレスにhttpsを付加したURLを生成し、当該URLを用いてセッションを開始することで、コントローラ1Aにセキュア通信で通信接続する(ステップS20)。
コントローラ1Aが表示器4との通信にHTTPSのセキュア通信プロトコルを利用する場合は、コントローラ1Aは表示器4からセッション開始要求に応答する。表示器4は、セッション開始要求に対する応答を受信すると、接続に成功したことを判定し(ステップS22でYES)、プロトコルテーブル45に、コントローラ1Aの識別子(コントローラ名)に、コントローラ1Aはセキュア通信プロトコルを利用するとの判定結果(値=0)を関連付けて登録する(ステップS23)。
セッションが確立されると、CPU411は、コントローラ1Aと初期通信(機種と形式の読出し、変数情報(名称、型)の読出し等)を行い格納する(ステップS28)。CPU411は、セッション開始要求を送信するコントローラを次のコントローラ1Bに指定し(ステップS29)、全てのコントローラについて処理が完了したかを判定し(ステップS30)、完了していなければ(ステップS30でNO)、ステップS0に戻り、次のコントローラについて、ステップS20以降の処理を実施する。一方、全てのコントローラについて処理が完了したと判定されると(ステップS30でYES)、上記に述べた画面の表示処理を開始する(ステップS31)。
ステップS22に戻り、表示器4は、セッション開始要求に対する応答を受信できず、接続に成功と判定しないとき(ステップS22でNO)、CPU411は、コントローラ1AのIPアドレスにhttpを付加したURLを生成し、当該URLを用いてセッションを開始することで、コントローラ1Aにノンセキュアの通常通信で接続する(ステップS24)。コントローラ1Aが表示器4との通信にHTTPの通信プロトコルを利用する場合は、コントローラ1Aは表示器4からセッション開始要求に応答する。表示器4は、セッション開始要求に対する応答を受信すると、接続に成功したことを判定し(ステップS25でYES)、プロトコルテーブル45に、コントローラ1Aの識別子(コントローラ名)に、コントローラ1Aはノンセキュア通信プロトコルを利用するとの判定結果(値=1)を関連付けて登録する(ステップS26)。その後、ステップS28に移行する。
また、表示器4は、ステータス判定部29により、セッション開始要求に対する応答を受信できず、接続に成功しないと判定したときは(ステップS25でYES)、ステータス判定部29により、ステータステーブル46に、コントローラ1Aの識別子(コントローラ名)に、通信失敗(値=0)を関連付けて登録する(ステップS27)。その後、ステップS29に移行する。
図19と図20には、図18の処理によって生成されたプロトコルテーブル45とステータステーブル46の一例が示される。例えば、コントローラ名がController_2であるコントローラ1Bは、電源オフであったために、プロトコルテーブル45とステータステーブル46では、利用する通信プロトコルは判定されておらず、また、通信状態は通信失敗(=0)に設定される。
表示器4は、ステータステーブル46の情報に基づき、通信プロトコルが判定されていないController_2のコントローラ1Bについて、図18の処理をリトライするようにしてもよい。
<K.ページ切替え処理>
本実施の形態では、表示器4に表示させる画面はページ単位で管理されて、ページ切替え処理により、表示される画面が切替わる。図21は、本実施の形態に係るページ切替え処理のフローチャートである。図22は、本実施の形態に係るテーブルのデータの変化の一例を示す図である。CPU411は、画面マネージャ26aとしてページ切替え処理を実行し、ページ単位でプロトコルテーブル45を管理することができる。
図22を参照して、CPU411は、UIツール27を介してページ切替え操作を受付けると、切替え先のページに対応のプロトコルテーブル45a(図22参照)は作成済みかを判定し(ステップS40)、作成済みであれば(ステップS40でYES)、プロトコルテーブル45aに示された各コントローラ1がセキュア通信を利用するか否かを示す値(値:1または0)に基づき集約種類48を作成し、集約種類48に従って、集約種類48を示すオブジェクト(図11~図13のオブジェクトの1つ、または2つ以上の組合わせ)を、切替え先のページの画面に配置し、当該画面を表示する(ステップS42)。
このように、画面単位で集約された通信プロトコルを示す集約種類48をオブジェクトで表示できる。すなわち、画面において、当該画面に配置される各オブジェクト50が表すフィールド値を通信するコントローラ1について判定された通信プロトコルの種類は集約して提示される。
なお、ステップS42では、切替え先のページの画面を図14または図15のように表示してもよい。すなわち、切替え先のページの画面において、オブジェクト50に、当該オブジェクトに割当てられたコントローラ変数618が示すコントローラが利用の通信プロトコルの種類に基づき、セキュアまたはノンセキュア通信のアイコンのオブジェクト58または59を関連付けて配置してもよい。
ステップS40に戻り、CPU411は、切替え先ページに対応のプロトコルテーブル45aは未作成と判定すると(ステップS40でNO)、当該プロトコルテーブル45aを作成するために、ステップS43に移行する。CPU411は、切替え先ページのプロジェクトデータ250から各オブジェクト50のコントローラ変数618(図22を参照)を検索し、検索されたコントローラ変数618からコントローラの識別子を抽出する(ステップS43)。例えば、コントローラ名のController_1とController_3とが抽出される。
CPU411は、抽出された2つのコントローラ名に基づき、プロトコルテーブル45を検索し、これらコントローラが利用する通信プロトコルの種類(ノンセキュア通信、セキュア通信)を取得する。これにより、切替え先ページのプロトコルテーブル45aが得られる(ステップS44)。その後、ステップS42に移行する。
このようにページ切替え操作を受付けたときは、切替え先ページ(画面)のプロトコルテーブル45aに基づく集約種類48に従って、集約種類48を示すオブジェクトを切替え先のページの画面に配置することができる。
なお、複数のコントローラの通信プロトコル(セキュア通信:0、ノンセキュア通信:1)の集約種類48は、例えば通信プロトコルの種類を示す値(0または1)の論理和演算で算出されるが、複数のコントローラの通信プロトコルの種類を集約して代表を導出する方法は、このような論理和演算に限定されない。
<L.画面のオブジェクトへの変数の割付け処理>
図23と図24は、本実施の形態に係るオブジェクトに変数を割付ける処理を説明する図である。画面作成ツール36を操作してプロジェクトデータ250を作成する場合、オブジェクト50のコントローラ変数618を割付けるために、図23、図24のUI画面が提示される。ユーザはUI32を操作して、図23のUI画面において、コントローラ1Aのグローバル変数のうちから、割付けに用いる変数を選択する。ユーザは、他のコントローラ1B、1Cについても、同様のUI画面を介して、当該コントローラが扱う変数のうち割付けに用いる変数を選択する。
図24のUI画面では、図23のUI画面で選択されたコントローラ変数がリスト263で表示される。ユーザは、図24の下段のオブジェクト50(Momentary Button)を作成時、リスト263のコントローラ変数(Controller_1.abc)を選択し、設定欄261にドラッグ操作する。この操作によって、オブジェクト50(Momentary Button)に、コントローラ変数618として、コントローラ1の変数(Controller_1.abc)を割付けることができる。他のオブジェクト50についても同様の操作によりコントローラ変数618を割付けることができる。
<M.画面の他の表示例>
表示器4では、オブジェクト単位反映処理が実施されると、図25に示すように、画面に配置されるオブジェクト50において、コントローラと通信するフィールド値とともに、当該コントローラについて判定された通信プロトコルの種類を表すようにしてもよい。
図25は、本実施の形態に係る他の画面の表示例を示す図である。図25は、産業用プラントのモニタ画面の一例であって、画面には、タンク、バルブ、配管などのオブジェクト50と、フィールド値を示すオブジェクト271,272が配置される。フィールド値は、オブジェクト50に割付けられたコントローラ変数が示すフィールド値であって、当該オブジェクト50に関連付けられた位置、例えば直近に配置される。
オブジェクト271,272においては、フィールド値に、施錠または解錠のマークが付される。このようなマークにより、フィールド値は、表示器4とコントローラ1との間で、セキュア通信またはノンセキュア通信のいずれの通信プロトコルで通信されているかの情報が提示される。
<N.プログラム>
本実施の形態に係る表示器4の図5に示す各モジュールを実現するプログラムおよびデータは、表示器4に付属するメモリカード421、フレキシブルディスク、CD-ROM、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュROM414、HDD(Hard Disc Drive)などの記録媒体を含むコンピュータ読取り可能な記録媒体に記録させて、プログラム製品として提供することもできる。
また、上記のプログラムまたはデータは、ネットワークから通信インターフェイス419またはUSBインターフェイス420などのネットワークコントローラを介したダウンロードによって、表示器4に提供することもできる。
また、本実施の形態に係るサポート装置300の図4に示す各モジュールを実現するプログラムおよびデータは、サポート装置300に付属する記録媒体322、フレキシブルディスク、CD-ROM、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disc Drive)などの記録媒体を含むコンピュータ読取り可能な記録媒体に記録させて、プログラム製品として提供することもできる。
また、上記のプログラムまたはデータは、ネットワークからUSBインターフェイス318などのネットワークコントローラを介したダウンロードによって、サポート装置300に提供することもできる。
表示器4またはサポート装置300にプログラムまたはデータを提供するための上記の記録媒体は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。
<O.付記>
[構成1]
対象(9)を制御する制御装置(1,1A,1B,1C)と通信する通信部(419)と、
前記制御装置と通信する情報から、前記制御装置が前記通信に利用する通信プロトコルの種類を判定する通信プロトコル判定部(28)と、
判定された前記プロコトルの種類を出力する出力部(418,60)を含む、情報処理装置(4)。
[構成2]
前記出力部は、
1つ以上のオブジェクトから構成される画面を表示する表示部(418)を含み、
前記オブジェクトは、出力される前記通信プロトコルの種類を表すオブジェクトを含む、構成1に記載の情報処理装置。
[構成3]
前記通信プロトコル判定部は、前記通信部によって前記制御装置に通信接続の確立を要求するとき(S20)、前記制御装置と通信する情報から、前記制御装置が前記通信に利用する通信プロトコルの種類を判定する、構成1または2に記載の情報処理装置。
[構成4]
前記制御装置が前記通信に利用する通信プロトコルの種類は、セキュア通信プロトコル(HTTPS)またはノンセキュア通信プロトコル(HTTP)を含む、構成1から3のいずれか1に記載の情報処理装置。
[構成5]
前記通信部は、複数の前記制御装置と通信可能に構成され、
前記通信プロトコル判定部は、各前記複数の制御装置と当該情報処理装置が通信する情報から、当該制御装置が前記通信に利用する通信プロトコルの種類を判定し、
出力される前記通信プロトコルの種類は、各制御装置について判定された前記通信プロトコルの種類を集約した集約種類(48)を含む、構成1から4のいずれか1に記載の情報処理装置。
[構成6]
前記制御装置と通信する情報は、前記対象の制御に関連する制御情報を含み、
前記出力部は、1つ以上のオブジェクトから構成される画面を表示する表示部を含み、
前記1つ以上のオブジェクトは、前記制御情報を表すオブジェクト(271,272)を含む、構成5に記載の情報処理装置。
[構成7]
前記集約種類は、前記画面を構成する各オブジェクトが表す前記制御情報を通信する前記制御装置について判定された前記通信プロトコルの種類を集約した通信プロトコルを含む、構成6に記載の情報処理装置。
[構成8]
前記集約種類を表すオブジェクトは、異なる種類のオブジェクトを含み、
前記情報処理装置は、
画面における他のオブジェクトの配置状態に基づき、前記異なる種類のオブジェクトのうちから、画面に配置される前記集約種類を表すオブジェクトを決定する、構成6または7に記載の情報処理装置。
[構成9]
前記異なる種類のオブジェクトは、前記画面の枠を表す予め定められた色を有するオブジェクト(53)、前記画面に配置される他のオブジェクトに重ねて配置される半透過のオブジェクト、および前記画面の予め定められた位置に配置される当該集約種類を表すアイコン(55)のオブジェクトの少なくとも2つを含む、構成8に記載の情報処理装置。
[構成10]
前記集約種類を表すアイコンのオブジェクトが画面に配置される場合、当該アイコンが操作されると、予め定められた種類の通信プロトコルを利用する前記制御装置の情報(57)を表すオブジェクト(56)を画面に配置する、構成9に記載の情報処理装置。
[構成11]
前記画面に配置されるオブジェクトは、前記制御装置と通信する情報であって、前記対象の制御に関連する制御情報とともに、当該制御装置について判定された前記通信プロトコルの種類を表すオブジェクト(271)を含む、構成10に記載の情報処理装置。
[構成12]
前記画面を表示するための画面データ(250,611)を格納する格納部(414)をさらに、備え、
前記画面データは、当該画面に配置される各オブジェクトが有する表示に関する属性(601)と、当該属性の値である属性値を決定するために実行されるロジック(619,609)を含み、
前記ロジックは、
前記集約種類を取得し、取得した集約種類のオブジェクトを画面に配置するロジック(609)を含む、構成6~11のいずれか1に記載に情報処理装置。
[構成13]
構成6~12のいずれか1に記載の画面を表示するための画面データを作成する、情報処理装置(300)。
[構成14]
コンピュータ(411)に情報処理の方法を実行させるためのプログラムであって、
前記方法は、
対象を制御する制御装置と通信するステップ(S20)と、
前記制御装置と通信する情報から、前記制御装置が前記通信に利用する通信プロトコルの種類を判定するステップ(S23,S26)と、
判定された前記通信プロコトルの種類を出力するステップ(S31)を含む、プログラム。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
1,1A,1B,1C コントローラ、2 制御プログラム実行部、2A 変数ファイル、4 表示器、9 フィールド機器、15 検出センサ、16 リレー、17 中継器、21 記憶部、22 メインメモリ、23,32 ユーザインターフェイス、24 制御部、26 ランタイム、26a 画面マネージャ、26b 変数マネージャ、27 UIツール、28 プロトコル判定部、29 ステータス判定部、30 処理モジュール、31 通信モジュール、33 開発支援モジュール、34 コンパイラ、36 画面作成ツール、37 コードエディタ、45,45a,48a プロトコルテーブル、46 ステータステーブル、48 集約種類、51 識別子、611 画面データ、111,115 ネットワーク、250 プロジェクトデータ、251 ライブラリ、300 サポート装置、322 記録媒体、340 ソースコード、370 サポートプログラム、418 タッチスクリーン、421 メモリカード、609 反映ロジック、610 画面反映フラグ、618 コントローラ変数、619 ビジネスロジック、620 オブジェクト反映フラグ、SYS 制御システム。

Claims (14)

  1. 対象を制御する制御装置と通信する通信部と、
    前記制御装置と通信する情報から、前記制御装置が前記通信に利用する通信プロトコルの種類を判定する通信プロトコル判定部と、
    判定された前記プロコトルの種類を出力する出力部を含む、情報処理装置。
  2. 前記出力部は、
    1つ以上のオブジェクトから構成される画面を表示する表示部を含み、
    前記オブジェクトは、出力される前記通信プロトコルの種類を表すオブジェクトを含む、請求項1に記載の情報処理装置。
  3. 前記通信プロトコル判定部は、前記通信部によって前記制御装置に通信接続の確立を要求するとき、前記制御装置と通信する情報から、前記制御装置が前記通信に利用する通信プロトコルの種類を判定する、請求項1または請求項2に記載の情報処理装置。
  4. 前記制御装置が前記通信に利用する通信プロトコルの種類は、セキュア通信プロトコルまたはノンセキュア通信プロトコルを含む、請求項1または請求項2に記載の情報処理装置。
  5. 前記通信部は、複数の前記制御装置と通信可能に構成され、
    前記通信プロトコル判定部は、各前記複数の制御装置と当該情報処理装置が通信する情報から、当該制御装置が前記通信に利用する通信プロトコルの種類を判定し、
    出力される前記通信プロトコルの種類は、各制御装置について判定された前記通信プロトコルの種類を集約した集約種類を含む、請求項1または請求項2に記載の情報処理装置。
  6. 前記制御装置と通信する情報は、前記対象の制御に関連する制御情報を含み、
    前記出力部は、1つ以上のオブジェクトから構成される画面を表示する表示部を含み、
    前記1つ以上のオブジェクトは、前記制御情報を表すオブジェクトを含む、請求項5に記載の情報処理装置。
  7. 前記集約種類は、前記画面を構成する各オブジェクトが表す前記制御情報を通信する前記制御装置について判定された前記通信プロトコルの種類を集約した通信プロトコルを含む、請求項6に記載の情報処理装置。
  8. 前記集約種類を表すオブジェクトは、異なる種類のオブジェクトを含み、
    前記情報処理装置は、
    画面における他のオブジェクトの配置状態に基づき、前記異なる種類のオブジェクトのうちから、画面に配置される前記集約種類を表すオブジェクトを決定する、請求項6に記載の情報処理装置。
  9. 前記異なる種類のオブジェクトは、前記画面の枠を表す予め定められた色を有するオブジェクト、前記画面に配置される他のオブジェクトに重ねて配置される半透過のオブジェクト、および前記画面の予め定められた位置に配置される当該集約種類を表すアイコンのオブジェクトの少なくとも2つを含む、請求項8に記載の情報処理装置。
  10. 前記集約種類を表すアイコンのオブジェクトが画面に配置される場合、当該アイコンが操作されると、予め定められた種類の通信プロトコルを利用する前記制御装置の情報を表すオブジェクトを画面に配置する、請求項9に記載の情報処理装置。
  11. 前記画面に配置されるオブジェクトは、前記制御装置と通信する情報であって、前記対象の制御に関連する制御情報とともに、当該制御装置について判定された前記通信プロトコルの種類を表すオブジェクトを含む、請求項10に記載の情報処理装置。
  12. 前記画面を表示するための画面データを格納する格納部をさらに、備え、
    前記画面データは、当該画面に配置される各オブジェクトが有する表示に関する属性と、当該属性の値である属性値を決定するために実行されるロジックを含み、
    前記ロジックは、
    前記集約種類を取得し、取得した集約種類のオブジェクトを画面に配置するロジックを含む、請求項6に記載の情報処理装置。
  13. 請求項6に記載の画面を表示するための画面データを作成する、情報処理装置。
  14. コンピュータに情報処理の方法を実行させるためのプログラムであって、
    前記方法は、
    対象を制御する制御装置と通信するステップと、
    前記制御装置と通信する情報から、前記制御装置が前記通信に利用する通信プロトコルの種類を判定するステップと、
    判定された前記通信プロコトルの種類を出力するステップを含む、プログラム。
JP2022061821A 2022-04-01 2022-04-01 情報処理装置およびプログラム Pending JP2023151937A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022061821A JP2023151937A (ja) 2022-04-01 2022-04-01 情報処理装置およびプログラム
PCT/JP2023/008542 WO2023189280A1 (ja) 2022-04-01 2023-03-07 情報処理装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022061821A JP2023151937A (ja) 2022-04-01 2022-04-01 情報処理装置およびプログラム

Publications (1)

Publication Number Publication Date
JP2023151937A true JP2023151937A (ja) 2023-10-16

Family

ID=88201366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022061821A Pending JP2023151937A (ja) 2022-04-01 2022-04-01 情報処理装置およびプログラム

Country Status (2)

Country Link
JP (1) JP2023151937A (ja)
WO (1) WO2023189280A1 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3456692B2 (ja) * 1998-10-30 2003-10-14 株式会社デジタル データ処理装置
US7490152B2 (en) * 2003-04-11 2009-02-10 Alcatel-Lucent Usa Inc. Version caching mechanism
JP5027277B2 (ja) * 2010-04-28 2012-09-19 三菱電機株式会社 表示器
CN112558578B (zh) * 2021-02-26 2021-05-11 奇力士(武汉)智慧水务科技有限公司 一种二次供水平台底层数据自动化装配方法
CN113867249A (zh) * 2021-09-28 2021-12-31 天翼物联科技有限公司 云边协同设备数据采集的多plc协议解析方法、系统和介质

Also Published As

Publication number Publication date
WO2023189280A1 (ja) 2023-10-05

Similar Documents

Publication Publication Date Title
EP3798817B1 (en) User interface logical and execution view navigation and shifting
US6931288B1 (en) User interface and system for creating function block diagrams
US7590680B2 (en) Extensible robotic framework and robot modeling
CN112579050B (zh) 工业应用开发系统、工业自动化项目开发方法和介质
US11775142B2 (en) Preferential automation view curation
WO2013190714A1 (ja) 自動操作システム及び操作自動化方法
JP2008276690A (ja) 開発システム、開発システムのサーバ、開発方法
CN117764538B (zh) 一种业务流程的生成方法、装置及设备
WO2019167512A1 (ja) 表示装置、画面生成方法、および画面生成プログラム
JP5444166B2 (ja) 設備管理装置、画面表示方法、およびプログラム
JP5425317B2 (ja) モーションsfcプログラム部品作成装置
WO2023189280A1 (ja) 情報処理装置およびプログラム
JP2011186607A (ja) フィールドデバイス、フィールドデバイスの設定方法、フィールドデバイス管理装置及びプログラム
CN113326145A (zh) 管理app的方法及系统
JP2010128908A (ja) 情報処理装置及びその制御方法、並びに、プログラム
US20220113993A1 (en) Graphical user interfaces for exploring and interacting with distributed software applications
JP5954309B2 (ja) プログラム生成支援装置、プログラム生成支援方法ならびにプログラム
EP4152145A1 (en) Industrial automation controller project online/offline state separation
JP7204054B1 (ja) プログラム、設定装置及び表示方法
JP7319516B2 (ja) プログラム、情報処理装置及びその制御方法
JP4198361B2 (ja) 制御動作実行方法
JP6705993B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP7323755B2 (ja) 情報処理システム、その制御方法及びプログラム
JP2008234379A (ja) ソフトウェア生成装置ならびにソフトウェア生成方法
JP2005251014A (ja) 制御システム、制御モニタプログラムおよびそのプログラムを記録した記録媒体、ならびにエディタ装置、エディタプログラムおよびそのプログラムを記録した記録媒体