JP2020013224A - 制御システム、検索装置および検索プログラム - Google Patents

制御システム、検索装置および検索プログラム Download PDF

Info

Publication number
JP2020013224A
JP2020013224A JP2018133626A JP2018133626A JP2020013224A JP 2020013224 A JP2020013224 A JP 2020013224A JP 2018133626 A JP2018133626 A JP 2018133626A JP 2018133626 A JP2018133626 A JP 2018133626A JP 2020013224 A JP2020013224 A JP 2020013224A
Authority
JP
Japan
Prior art keywords
search
control system
index
network
information
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.)
Granted
Application number
JP2018133626A
Other languages
English (en)
Other versions
JP7107047B2 (ja
Inventor
雄大 永田
Yuta NAGATA
雄大 永田
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 JP2018133626A priority Critical patent/JP7107047B2/ja
Priority to PCT/JP2019/024238 priority patent/WO2020012896A1/ja
Publication of JP2020013224A publication Critical patent/JP2020013224A/ja
Application granted granted Critical
Publication of JP7107047B2 publication Critical patent/JP7107047B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Abstract

【課題】制御システム内の状態変化に応じて、制御システム内の任意のデバイスの任意の情報を効率的に収集可能な構成を提供する。【解決手段】制御システムは、各デバイスの状態を示す情報を含むインデックスを保持するデータベースと、外部からのデータ検索要求に応答して、インデックスを参照してリクエストパケットを生成して対象デバイスへ送信するとともに、当該対象デバイスからのレスポンスパケットに含まれるデータを検索結果として出力する検索収集部と、制御システムに含まれるデバイスの状態を示す情報を収集してインデックスの内容を更新する自動更新部とを含む。【選択図】図1

Description

本発明は、システム内の任意のデバイスの任意の情報を収集可能な制御システム、検索装置および検索プログラムに関する。
FA(ファクトリオートメーション)の分野では、PLC(プログラマブルロジックコントローラ)などの制御装置を用いて設備や機械などの制御対象を制御することが一般的である。
近年のICT(Information and Communication Technology)の進歩やIoT(Internet of Things)の注目などに伴って、制御装置により制御されるフィールドレベルのデータを収集したいというニーズが高まっている。
このような制御装置が扱うデータを上位システムに提供するような構成例として、例えば、特開平05−265952号公報(特許文献1)は、分散CIMシステムを開示する。特許文献1に開示される分散CIMシステムは、下位ネットワークと上位ネットワークとの間で全レイヤのプロトコル変換を行うと共に、アプリケーションサーバ、ファイルサーバ及びマンマシンインタフェース端末が扱う情報と下位ネットワークの各種制御機器が扱う情報とのデータ変換を行うアプリケーションゲートウェイを有している。
特開平05−265952号公報
上述の特開平05−265952号公報に開示される構成においては、アプリケーションゲートウェイは、プロトコル変換およびデータ変換を行うことになる。このようなデータ変換は、アプリケーションサーバなどで実行される処理の種類などに応じた処理とする必要があり、汎用性を高めることができない。また、ネットワーク内の構成およびネットワーク内のデバイスの状態は適宜変化し得る。
本発明の一つの目的は、制御システム内の状態変化に応じて、制御システム内の任意のデバイスの任意の情報を効率的に収集可能な構成を提供することである。
本発明の一つの実施の形態によれば、少なくとも1つのデバイスからなる制御システムが提供される。制御システムは、各デバイスの状態を示す情報を含むインデックスを保持するデータベースと、外部からのデータ検索要求に応答して、インデックスを参照してリクエストパケットを生成して対象デバイスへ送信するとともに、当該対象デバイスからのレスポンスパケットに含まれるデータを検索結果として出力する検索収集部と、制御システムに含まれるデバイスの状態を示す情報を収集してインデックスの内容を更新する自動更新部とを含む。
本開示によれば、自動更新部が各デバイスの状態を示す情報を含むインデックスの内容を更新するので、インデックスを参照して生成されるリクエストパケットを制御システムの現在の状態に応じたものにできる。これによって、制御システム内の状態変化に応じて、制御システム内の任意のデバイスの任意の情報を効率的に収集可能となる。
上述の開示において、検索収集部は、インデックスを参照して、データ検索要求に含まれる検索条件に合致するデバイスを決定するようにしてもよい。
本開示によれば、リクエストパケットを生成する対象のデバイスを事前に抽出できるので、制御システム内の通信量の肥大化を防止できる。
上述の開示において、インデックスは、各デバイスにエラーが発生しているか否かの情報を含むようにしてもよい。
本開示によれば、エラーが発生しているデバイスからは情報を収集したい場合が多いので、このような場合において、インデックスを参照することで、対象デバイスを事前に抽出できる。これによって、制御システム内の通信量の肥大化を防止できるとともに、必要な情報をより短時間で収集できる。
上述の開示において、インデックスは、予め定められた条件に合致するデバイスの集合を示す情報を含むようにしてもよい。
本開示によれば、特定の条件に合致するデバイスから必要な情報を収集したい場合などにおいて、対象のデバイスを効率的に選択できる。
上述の開示において、データベースは、制御システムのデバイスの接続関係を含む構成情報、および、各デバイスの特性を示す情報を含むデバイスプロファイルをさらに保持し、自動更新部は、構成情報およびデバイスプロファイルを参照して、制御システムに含まれる各デバイスから状態を示す情報を収集する方法を決定するようにしてもよい。
本開示によれば、制御システムのネットワーク構成に応じて、効率的に必要な情報を収集して、インデックスを更新できる。
上述の開示において、自動更新部は、情報の収集対象のネットワークがバス型またはデイジーチェーン型の形態で接続されている場合に、当該ネットワークのマスタとして機能するデバイスから、当該ネットワークに接続される各デバイスの状態を示す情報を収集するようにしてもよい。本開示によれば、バス型またはデイジーチェーン型の形態において最適な情報収集を実現できる。
上述の開示において、自動更新部は、情報の収集対象のネットワークがスター型の形態で接続されている場合に、当該ネットワークに情報の送信を要求するメッセージをブロードキャストすることで、当該ネットワークに接続される各デバイスの状態を示す情報を収集するようにしてもよい。本開示によれば、スター型の形態において最適な情報収集を実現できる。
上述の開示において、データ検索要求は、SQL言語またはRESTに準拠した形式で記述されていてもよい。本開示によれば、データ検索要求を汎用的なインターフェイスで利用できる。
本発明の別の実施の形態によれば、少なくとも1つのデバイスからなる制御システムに接続される検索装置が提供される。検索装置は、各デバイスの状態を示す情報を含むインデックスを保持するデータベースと、外部からのデータ検索要求に応答して、インデックスを参照してリクエストパケットを生成して対象デバイスへ送信するとともに、当該対象デバイスからのレスポンスパケットに含まれるデータを検索結果として出力する検索収集部と、制御システムに含まれるデバイスの状態を示す情報を収集してインデックスの内容を更新する自動更新部とを含む。
本開示によれば、自動更新部が各デバイスの状態を示す情報を含むインデックスの内容を更新するので、インデックスを参照して生成されるリクエストパケットを制御システムの現在の状態に応じたものにできる。これによって、制御システム内の状態変化に応じて、制御システム内の任意のデバイスの任意の情報を効率的に収集可能となる。
本発明のさらに別の実施の形態によれば、少なくとも1つのデバイスからなる制御システムに接続されるコンピュータで実行される検索プログラムが提供される。検索プログラムは、コンピュータに、外部からのデータ検索要求に応答して、各デバイスの状態を示す情報を含むインデックスを参照してリクエストパケットを生成して対象デバイスへ送信するとともに、当該対象デバイスからのレスポンスパケットに含まれるデータを検索結果として出力するステップと、制御システムに含まれるデバイスの状態を示す情報を収集してインデックスの内容を更新するステップとを実行させる。
本開示によれば、自動更新部が各デバイスの状態を示す情報を含むインデックスの内容を更新するので、インデックスを参照して生成されるリクエストパケットを制御システムの現在の状態に応じたものにできる。これによって、制御システム内の状態変化に応じて、制御システム内の任意のデバイスの任意の情報を効率的に収集可能となる。
本発明によれば、制御システム内の状態変化に応じて、制御システム内の任意のデバイスの任意の情報を効率的に収集できる。
本実施の形態に係る制御システムの機能的な構成例を示す模式図である。 本実施の形態に係る制御システムが提供する検索収集機能および自動更新機能を説明するための模式図である。 本実施の形態に係る検索装置のハードウェア構成の一例を示すブロック図である。 本実施の形態に係る検索装置の構成情報により規定されるネットワークトポロジの一例を示す模式図である。 本実施の形態に係る検索装置が処理するデータ検索要求の一例を示す図である。 本実施の形態に係る検索装置によるリクエストパケットの生成処理例を説明するための図である。 本実施の形態に係る検索装置によるリクエストパケットの生成処理例を説明するための図である。 本実施の形態に係る制御システムにおける検索収集処理の処理手順を示すフローチャートである。 本実施の形態に係る検索装置によるインデックスを生成するためのネットワーク探索を説明するための図である。 本実施の形態に係る制御システムにおけるインデックスの更新処理の処理手順を示すフローチャートである。 本実施の形態に係る制御システムを利用して提供されるWebアプリケーションの一例を説明するための図である。 本実施の形態に係る制御システムを利用して提供されるWebアプリケーションの一例を説明するための図である。 本実施の形態に係る制御システムを利用してWebアプリケーションを提供するための別の実装例を示す模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
まず、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る制御システム1の機能的な構成例を示す模式図である。図1を参照して、制御システム1は、少なくとも1つのデバイス300を含む。制御システムを構成し得る単位の装置を意味する。「デバイス」は、後述するようなリクエストパケットに対して応答が可能な装置の単位を意味する。典型的には、「デバイス」は、IOユニット、センサユニット、特殊ユニットなどのコントローラに接続され得るユニットを包含するとともに、PLC(プログラマブルロジックコントローラ)およびネットワーク通信を中継するカプラユニットなども包含する。
制御システム1の各デバイス300の状態を示す情報を含むインデックス1043を保持するデータベース104を含む。制御システム1は、さらに、外部からのデータ検索要求600に応答して、インデックス1043を参照してリクエストパケット400を生成して対象デバイス300へ送信するとともに、対象デバイス300からのレスポンスパケット450に含まれるデータを検索結果650として出力する検索収集部106を含む。
制御システム1は、さらに、制御システム1に含まれるデバイス300の状態を示す情報を収集してインデックス1043の内容を更新する自動更新部110を有している。
本実施の形態に係る制御システム1によれば、制御システム1内の状態変化に応じて更新されるインデックス1043を参照することにより、制御システム1内の任意のデバイス300の任意の情報を効率的に収集できる。
<B.概要>
まず、本実施の形態に係る制御システム1が提供する検索収集機能および自動更新機能について説明する。
図2は、本実施の形態に係る制御システム1が提供する検索収集機能および自動更新機能を説明するための模式図である。図2を参照して、制御システム1は、検索装置100と、検索装置100により検索可能な検索対象2とを含む。
検索対象2は、典型的には、制御対象を制御する制御装置の典型例であるPLC200(プログラマブルロジックコントローラ)と、PLC200に接続される1または複数のデバイス300とを含む。デバイス300は、PLC200の管理によって動作する装置を意味し、典型的には、制御対象との間で信号を遣り取りする装置である。デバイス300の一例としては、制御対象から入力信号を取得し、あるいは、制御対象へ出力信号を出力するIOユニット、モータなどを制御するドライバ、ロボットなどを制御するロボットコントローラなどを含む。なお、PLC200自体も「デバイス」の概念に含まれ得る。
デバイス300の各々は、データを一時的に保持する作業領域302と、各デバイス300の各種設定を規定するプロファイル304と、接続されているセンサなどから取得したデータを格納し、および/または、デバイス300において生成されるデータを格納するデータソース306とを含む。
検索装置100は、任意のデータ検索要求600に応答して、当該データ検索要求600に従って、検索対象2に含まれるPLC200およびデバイス300のうち任意のデバイスから任意のデータを収集し、検索結果650として出力する。検索装置100は、検索対象2の任意のデバイスの任意の情報を応答できるので、外部に対しては、検索対象2の全体を単一のデータベースのように見せることができる。
検索装置100は、任意のデバイスから任意のデータを収集するにあたって、予め収集された索引情報(以下、「インデックス」とも称す。)を参照する。検索装置100は、インデックスを自動的に更新することもできる。
より具体的には、検索装置100は、主たる機能構成として、インターフェイス102と、データベース104と、検索収集部106と、通信処理部108と、自動更新部110とを含む。
インターフェイス102は、データ検索要求600の送信元との間でデータを遣り取りする。具体的には、インターフェイス102は、データ検索要求600の送信元からデータ検索要求600を受信すると、受信したデータ検索要求600を検索収集部106へ出力する。また、インターフェイス102は、検索収集部106からのデータを検索結果650としてデータ検索要求600の送信元へ送信する。
検索収集部106は、インターフェイス102から与えられたデータ検索要求600を解析し、データベース104を参照して、必要なリクエストパケットを生成する。生成されたリクエストパケットは、通信処理部108から検索対象2のネットワークへ送信される。検索収集部106は、リクエストパケットに応答して返されるレスポンスパケットを通信処理部108から受信すると、レスポンスパケットに含まれるデータをインターフェイス102へ出力する。
通信処理部108は、検索対象2のネットワークおよび当該ネットワークに含まれるデバイスとの間でデータを遣り取りする。図2の構成例においては、通信処理部108は、検索対象2のネットワークを統括するPLC200を介して、任意のデバイスとの間でデータ(パケット)を遣り取りする。
データベース104は、データ検索要求600に従って、対象デバイスからデータを収集するためのパケットなどを生成するために必要な情報を格納している。より具体的には、データベース104は、構成情報1041と、デバイスプロファイル1042と、インデックス1043とを含む。構成情報1041は、検索対象2に含まれるデバイスの接続関係を示す情報を含む。デバイスプロファイル1042は、検索対象2に含まれる各デバイスの特性を示す情報を含む。インデックス1043は、検索を効率化するために用いられる情報であり、検索対象2に含まれる各デバイスの状態を示す情報を含む。
自動更新部110は、検索対象2のネットワーク内を巡回してデータを収集することで、データベース104に格納されている情報を都度更新する。自動更新部110は、主として、データベース104のインデックス1043を更新する。自動更新部110は、構成情報1041、および、デバイスプロファイル1042についても更新するようにしてもよい。
本実施の形態に係る制御システム1において、検索収集部106は、外部からのデータ検索要求600に応答して、インデックス1043を参照してリクエストパケット400を生成して対象デバイス300へ送信するとともに、当該対象デバイス300からのレスポンスパケット450に含まれるデータを検索結果650として出力する。自動更新部110は、制御システム1に含まれるデバイス300の状態を示す情報を収集してインデックス1043の内容を更新する。このように、自動更新部110がインデックス1043を自動的に更新するので、検索収集部106は、検索対象2の状態に応じてリクエストパケットを生成できる。
<C.検索装置100のハードウェア構成例>
次に、本実施の形態に係る制御システム1を構成する検索装置100のハードウェア構成例について説明する。
検索装置100は、検索対象2に含まれるPLC200またはネットワークに接続される独立した装置として構成してもよいし、PLC200の一部として(すなわち、PLC200と一体化して)構成してもよい。
検索装置100を独立した装置として構成する場合には、PLCと同様のハードウェア構成を採用してもよいし、汎用的なコンピュータを採用してもよい。汎用的なコンピュータを採用する場合には、コンピュータのプロセッサが検索プログラムを実行することで実現される。
図3は、本実施の形態に係る検索装置100のハードウェア構成の一例を示すブロック図である。図3を参照して、検索装置100は、プロセッサ152と、メインメモリ154と、ストレージ156と、上位ネットワークコントローラ158と、入力部160と、表示部162と、下位ネットワークコントローラ164と、メモリカードインターフェイス166とを含む。これらのコンポーネントは、プロセッサバス170を介して接続されている。
プロセッサ152は、後述するような各種処理を実行する演算処理部に相当し、CPUやGPUなどで構成される。具体的には、プロセッサ152は、ストレージ156に格納されたプログラムを読出して、メインメモリ154に展開して実行することで、累積稼動時間監視機能を実現するための各種処理を実行する。
メインメモリ154は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ156は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。ストレージ156には、本実施の形態に係る検索収集処理を実現するための検索プログラム1560と、本実施の形態に係る自動更新処理を実現するための自動更新プログラム1562と、OS(Operating System)などを含むシステムプログラム1564とが格納される。ストレージ156には、さらに、データベース104が格納されてもよい。
入力部160は、タッチパネル、マウス、キーボードなどで構成され、ユーザ操作を受付ける。表示部162は、液晶ディスプレイなどで構成され、プロセッサ152による処理結果に応じた画像などを表示する。入力部160および表示部162が一体化して構成されてもよい。
上位ネットワークコントローラ158は、ネットワーク接続された任意の情報処理装置からのデータ検索要求600などを受付ける。下位ネットワークコントローラ164は、検索対象2に含まれるPLC200などとの間でデータを遣り取りする。
メモリカードインターフェイス166は、着脱可能な記録媒体の一例であるメモリカード168を受付ける。メモリカードインターフェイス166は、メモリカード168に対してデータを書込み、メモリカード168から各種データを読出すことが可能になっている。メモリカードインターフェイス166を介して、検索装置100に、検索プログラム1560および自動更新プログラム1562をインストールするようにしてもよい。
図3には、プロセッサ152が検索プログラム1560を実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
<D.データベース104に格納される情報>
次に、本実施の形態に係る検索装置100のデータベース104に格納される各情報について詳述する。
(d1:構成情報1041)
上述したように、構成情報1041は、検索対象2に含まれるデバイスの接続関係を示す情報を含む。具体的には、構成情報1041は、物理的または仮想的なネットワークトポロジ、各デバイスのアドレス情報、デバイス構成に関する情報(形式、通信帯域など)および、各ネットワークの通信プロトコルなどを規定する情報を含む。
構成情報1041は、予め静的に設定されていてもよいし、ネットワーク構成の変化に応じて、動的に変化するようにしてもよい。
図4は、本実施の形態に係る検索装置100の構成情報1041により規定されるネットワークトポロジの一例を示す模式図である。図4(a)は、EtherCAT(登録商標)のネットワークに接続されるデバイスのネットワークトポロジの一例を示す図である。図4(b)は、EtherNet/IPのネットワークに接続されるデバイスのネットワークトポロジの一例を示す図である。
図4(a)および図4(b)に示すように、構成情報1041は、各ネットワークに接続されているデバイスの数および各デバイスに割り当てられるアドレスなどを規定する。
構成情報1041においてネットワーク構成を規定するデータ形式およびデータ構造は任意のものを採用できる。
(d2:デバイスプロファイル1042)
上述したように、デバイスプロファイル1042は、検索対象2に含まれる各デバイスの特性を示す情報として、ネットワーク、ベンダ、形式によって応じて定まる静的な情報を含む。具体的には、デバイスプロファイル1042は、デバイス内のメモリマップ、オブジェクト仕様、型情報、取得可能なデータ(属性)、サポートするサービスを特定する情報、データのフォーマット情報(スケーリング)などを含む。
デバイスプロファイル1042は、予め各デバイスのプロファイルを任意の方法で取得しておいてもよいし、各デバイスから直接ネットワークを介して取得してもよい。デバイスプロファイル1042としては、例えば、EtherCAT規格によれば、ESI(EtherCAT Slave Information)ファイルなどを用いることができ、EtherNet/IPの規格によれば、EDS(Electronic Data Sheets)ファイルなどを用いることができる。
(d3:インデックス1043)
インデックス1043は、検索を効率化するために用いられる情報であり、検索対象2に含まれる各デバイスの状態を示す情報(タグ)、および/または、所定条件(索引項目)を満たすデバイスのリストを含む。典型的には、検索装置100の検索収集部106は、インデックス1043を参照して、データ検索要求600に含まれる検索条件に合致するデバイス300を決定する。
インデックス1043は、後述するように、自動更新部110によって自動的に更新されることになるが、インデックス1043に含まれる情報の一部は事前に静的に生成したものを採用してもよい。
(1)インデックス1043に含まれる各デバイスに関連付けて格納されるタグとしては、以下のようなものが挙げられる。
・PLC、HMI、サーボドライバ、IOユニットといった各デバイスの機器種類
・各デバイスに付与されるコントローラ名
・ユーザプログラムの更新者(ユーザ名)、更新日
・リレー動作回数
(2)インデックス1043に含まれる索引項目としては、以下のようなものが挙げられる。
・累積稼働時間が予め定められた値以上のデバイス(累積稼働時間は、各デバイスの稼動開始時刻からの経過時間などに基づいて算出される)
・モードがRUNモード(あるいは、デバッグモード、メンテナンスモードなど)のデバイス
・直近の所定期間内にユーザプログラムが更新されたデバイス
・直近の所定期間内に設定が変更されたデバイス
・直近の所定期間内において負荷が相対的に高いデバイス
・直近の所定期間内において表示装置(HMI:Human Machine Interface)から問合せ(リクエスト)を受けたデバイス
なお、各デバイスのモードは、ネットワークのマスタが管理しているので、常に最新情報を取得できる。このように、インデックス1043としては、予め定められた条件に合致するデバイスの集合を示す情報を含めるようにしてもよい。
(3)インデックス1043において、各デバイスのタグとして付加する情報としては、以下のようなものが挙げられる。
・MACアドレス
・累積稼働時間
・日付(更新履歴、設置日、製造日など)
・プログラムの更新回数、プログラムの更新頻度
・デバイスの使用回数、デバイスの頻度
・エラーの有無
・メモリ使用量(空き容量)
・メモリカードの空き容量
・製造ロット
・メンテナンス、メモ、アラーム、故障、傷、振動、交換、修理、色、調子、日報などの各種情報
・セキュリティ情報
・アラームの文字列、トラブルシュートの内容(内容からエラーコードに変換)
・4M(Man, Machine, Material, Method)変動
(4)インデックス1043に含めるその他の情報としては、以下のようなものが挙げられる。
・各デバイスのEDSファイル
・各デバイスが保持しているキャッシュ情報
上述したような各デバイスの状態を収集する場合には、問合せパケットをネットワーク内にブロードキャストするのではなく、ユニキャストすることが好ましい。データベース104の構成情報1041を参照することで、ユニキャスト先のアドレスなどを特定することができる。ブロードキャストではなくユニキャストを採用することで、自動更新部110によるインデックス1043の更新に係る処理によって、ネットワーク負荷や通信量の増大を抑制できる。
インデックス1043に含まれる各デバイスの状態を示す情報としては、上述のものに限定されることなく、検索を効率化するために用いられる情報であれば、どのような情報であってもよい。
<E.リクエストパケット400の生成処理>
次に、本実施の形態に係る検索装置100が外部からのデータ検索要求600に応答してリクエストパケット400を生成する処理について説明する。
(e1.データ検索要求600)
本実施の形態に係る検索装置100は、一般的なデータ検索を要求するクエリの形で、データ検索要求600を受付けることが可能である。
図5は、本実施の形態に係る検索装置100が処理するデータ検索要求600の一例を示す図である。図5には、一例として、EtherCATのネットワークに接続されたスレーブのうち、累積稼動時間が10,000時間を超えるものを抽出する処理に対応する、データ検索要求600を示す。
図5(a)には、SQL言語で記述されたデータ検索クエリの例を示す。図5(a)に示すデータ検索クエリにおいては、Select文にfrom節およびwhere節による条件が付加されている。
図5(b)には、Webサービスなどの提供に用いられるREST(Representational State Transfer)に準拠した形式で記述されたデータ検索クエリの例を示す。図5(b)に示すデータ検索クエリにおいては、URLを示す文字列に加えて、「?」および「&」のエスケープ文字によって必要な条件が記述されている。
このように、データ検索要求600は、SQL言語またはRESTに準拠した形式で記述されていてもよい。但し、データ検索要求600には任意の形式を用いることができる。また、データ検索クエリを規定する新たな形式が普及した場合には、任意の新たな形式を採用できる。
(e2.リクエストパケットの生成例)
図6および図7は、本実施の形態に係る検索装置100によるリクエストパケットの生成処理例を説明するための図である。
図6を参照して、検索装置100に接続される検索対象2は、PLC200と、PLC200とEtherCATのネットワークを介して3つのスレーブ(デバイス300−1,300−2,300−3)が接続されているとする。
データ検索要求600が「PLC200とEtherCATのネットワークを介して接続されているAAA製のIO−Linkマスタのうちスレーブであって、エラー発生中のスレーブのすべてからサイクルタイムを収集する」という命令を含む例を示す。
PLC200に接続されるすべてのスレーブからデータを収集するためには、リクエストパケット400を、検索装置100からPLC200までの第1経路502およびPLC200から各スレーブまでの第2経路504の順で順次転送しなければならない。
ネットワーク階層設定500に示すように、例えば、第1経路502では、TCP/IP上に実装されるHTTPでデータ転送が行われ、このようなデータ転送は「Ecat.fcgi」という通信プログラムにより実現される。第2経路504では、EtherCAT上に実装されるCoEという通信プロトコルでデータ転送が行われ、このようなデータ転送は「Object Dictionary」という通信プログラムにより実現される。
このような複数の階層に亘ってパケットを転送しなければならず、検索装置100は、複数の通信プロトコルに従うコマンドをカプセル化したリクエストパケット400を生成する。すなわち、第1経路502から第2経路504へパケットが転送される場合には、HTTPからCoEに変換する必要がある。
データ検索要求600は、「PLC200とEtherCATのネットワークを介して接続されているAAA製のIO−Linkマスタのうちスレーブであって、エラー発生中のスレーブのすべてからサイクルタイムを収集する」という命令をSQL言語で記述した例である。検索装置100は、データ検索要求600を受けて、リクエストパケット400を生成する。
検索装置100は、インデックス1043を参照して、EtherCATのネットワークに接続されるスレーブのうち、「エラー発生中のスレーブ」を事前に特定した上で、特定されたスレーブ(デバイス)に対してリクエストパケット400を生成および送信する。上述したように、インデックス1043が各デバイス300にエラーが発生しているか否かの情報を含む場合には、検索装置100は、インデックス1043を参照することで、「エラー発生中のスレーブ」を事前に特定できる。
リクエストパケット400は、第1経路用パケット402と、第2経路用パケット404とを含む。リクエストパケット400は、さらに、IO−Linkマスタからサイクルタイムを読出すためのコマンド406を含む。
図7を参照して、SQL言語で記述したデータ検索要求600は、RESTに準拠したデータ検索要求602として記述することもできる。いずれの表現形式で記述した場合であっても、データを収集する対象デバイス300を特定するための情報(データ検索要求600,602の「1」,「2」の部分)が含まれている。また、データ検索要求600,602は、収集すべきデータの種類を特定するための情報(データ検索要求600,602の「3」の部分)も含む。
以下、データ検索要求600,602の「1」,「2」,「3」の部分がどのように解析されて、リクエストパケット400が生成されるのかについて説明する。
データ検索要求600の「1」の部分については、検索装置100は、データベース104の構成情報1041に含まれるEIP階層構成情報を参照して、データ検索要求600において指定された「Machine1」がIPアドレスとして「192.168.250.1」をもつコントローラであることを特定するとともに、コントローラがEtherCATのネットワークとして「ECAT」を有していることを特定する(解析処理432)。
また、検索装置100は、デバイスプロファイル1042を参照して、ネットワーク「ECAT」への通信は、アプリケーション「Ecat.fcgi」へコマンドを発行することで実現できることを特定する(解析処理433)。
検索装置100は、解析処理432および解析処理433による特定結果に基づいて、第1経路用パケット402を生成する。
データ検索要求600の「2」の部分については、検索装置100は、データベース104の構成情報1041に含まれるEtherCAT階層構成情報を参照して、データ検索要求600において指定された「node*」がEtherCATのスレーブすべて(設定可能なアドレスすべて)を意味することを特定する(解析処理434)。
また、検索装置100は、デバイスプロファイル1042を参照して、EtherCATのスレーブへの通信は「CoE」であることを特定するとともに、スレーブがAAA製のIO−Linkマスタであれば「CoE」を発行することを特定する(解析処理435)。
検索装置100は、インデックス1043を参照して、「Status_Data」が「NoError」ではない、つまり「エラー発生中」のスレーブを抽出する(解析処理436)。このように、検索装置100は、インデックス1043を参照して、データ検索要求600において指定された検索条件に合致するデバイスを特定するようにしてもよい。
検索装置100は、解析処理434および解析処理435に基づいて、第2経路用パケット404を生成する。ここで、生成される第2経路用パケット404は、解析処理436において抽出されたスレーブ(「エラー発生中」のスレーブ)に対するもののみとなる。第2経路用パケット404は、第1経路用パケット402に組込まれる。
データ検索要求600の「3」の部分については、検索装置100は、デバイスプロファイル1042を参照して、IO−Linkマスタの「Cycle_Time」のメモリアドレスは「0x0834」であることを特定する(解析処理437)。
検索装置100は、解析処理437による特定結果に基づいて、コマンド406を生成する。コマンド406は、第2経路用パケット404に組込まれる。
以上のような一連の解析処理によって、リクエストパケット400が生成される。上述したようなリクエストパケットの生成例においては、リクエストパケット400は、「AAA製のIO−Linkマスタ」であって、かつ、「エラー発生中」であるものに対してのみ生成されるので、通信量を低減できる。
(e3.処理手順)
次に、本実施の形態に係る検索装置100によるリクエストパケットの生成処理の処理手順を説明する。
図8は、本実施の形態に係る制御システムにおける検索収集処理の処理手順を示すフローチャートである。図8に示す各ステップは、典型的には、検索装置100のプロセッサ152が検索プログラム1560(図3)を実行することで実現される。
図8を参照して、検索装置100は、外部からのデータ検索要求600を受信したか否かを判断する(ステップS100)。データ検索要求600を受信していなければ(ステップS100においてNO)、ステップS100の処理が繰り返される。
データ検索要求600を受信していれば(ステップS100においてYES)、検索装置100は、受信したデータ検索要求600を解析して対象デバイス300を特定する(ステップS102)とともに、特定した対象デバイス300の接続位置および対象デバイスまでの経路を特定する(ステップS104)。ステップS102においては、複数のデバイスが対象として特定される場合もある。
検索装置100は、対象デバイス300までの経路のうち最上階層の経路を選択し(ステップS106)、構成情報1041を参照して、アドレスおよび通信プロトコルなどの情報を取得する(ステップS108)。また、検索装置100は、特定した対象デバイス300までの経路のうち最上階層の経路について、デバイスプロファイル1042を参照して、次の階層へのデータ転送に必要な情報を取得する(ステップS110)。そして、検索装置100は、ステップS108およびS110において取得した情報に基づいてパケットを生成する(ステップS112)。検索装置100は、先に生成されているパケットが存在する場合には、ステップS112において生成したパケットをカプセル化して、先に生成されているパケットに組込む。
検索装置100は、先のステップS108〜S112の処理によって、対象デバイス300までの経路のすべての階層についてのパケットが生成されたか否かを判断する(ステップS114)。対象デバイス300までの経路のすべての階層についてのパケットが生成されていなければ(ステップS114においてNO)、検索装置100は、対象デバイス300までの経路のうち次の階層の経路を選択し(ステップS116)、ステップS108以下の処理を繰り返す。
対象デバイス300までの経路のすべての階層についてのパケットが生成されていれば(ステップS114においてYES)、検索装置100は、インデックス1043を参照して、対象デバイス300がデータ検索要求600において指定された検索条件に合致するか否かを判断する(ステップS118)。対象デバイス300がデータ検索要求600において指定された検索条件に合致しなければ(ステップS118においてNO)、検索装置100は、リクエストパケットの生成を中止する。
対象デバイス300がデータ検索要求600において指定された検索条件に合致していれば(ステップS118においてYES)、検索装置100は、デバイスプロファイル1042を参照して、データ検索要求600において指定されたデータを収集するためのコマンド、および/または、データ検索要求600において指定された検索条件に必要な情報を収集するためのコマンドを取得する(ステップS120)。そして、検索装置100は、先に生成されているパケットに取得したコマンドを組込む(ステップS122)。
そして、検索装置100は、ステップS120においてコマンドを組込んだパケットを検索対象2(対象デバイス300)に送信し(ステップS124)、当該対象デバイス300からのレスポンスパケットの受信を待つ(ステップS126)。
検索装置100は、対象デバイス300からのレスポンスパケットを受信すると、受信したレスポンスパケットに含まれるデータを検索結果650としてデータ検索要求600の送信元に返信する(ステップS128)。なお、複数の受信したレスポンスパケットに対して、マージ処理やフィルタリング処理を行った上で、検索結果650を返信するようにしてもよい。
以上の処理によって、データ検索要求600に従うデータの検索および収集処理が完了する。
<F.更新処理>
次に、検索装置100の自動更新部110によるインデックス1043の更新処理について説明する。
検索装置100の自動更新部110は、ネットワーク上のデバイスから必要な情報を収集して、検索を効率化するために用いられるインデックス1043を生成および更新する。一旦インデックス1043が生成されると、エンドポイントへのアクセスを効率化できるため、システム全体の負荷を軽減できる。
自動更新部110は、EtherCATおよびEtherNet/IPなどのデバイスプロファイル1042を用いるとともに、ベンダ独自の仕様に合わせてインデックス1043を生成できる。自動更新部110は、インデックス1043を参照することで、効率的な通信を行う。また、自動更新部110は、共通フォーマット化したインデックス1043を生成するので、共通の手順に従って通信プロトコル変換を実施できる。
検索対象2に含まれるネットワークには、1または複数のデバイスが通信プロトコルに応じた形態で接続されている。このような接続形態は、典型的には、以下の4種類に分類できる。
(1)バス型
両端にターミナル(終端)を接続した1本の基幹回線にすべてのデバイスが接続される形態である。例えば、一般的なPLCでは、制御を司るCPUユニットと、各種ユニット(入出力ユニット、特殊ユニットなど)とがバス型で接続される。このようなバス型の接続形態においては、「マスタ」と称されるユニットが接続されているユニットの構成情報を管理することになる。
(2)デイジーチェーン型
複数のデバイスを数珠つなぎに接続する、あるいは、全部まとめて一つのリング形状に接続する形態である。FA分野においては、EtherCATやDeviceNetといったネットワークが該当する。一般的に、デイジーチェーン型においては、マスタ/スレーブ方式が採用されており、マスタがスレーブに関する情報も管理することになる。
(3)スター型
ハブに複数のデバイスが接続される形態である。FA分野においては、EtherNet/IPやPROFINETといったネットワークが該当する。一般的に、ネットワーク構成を管理するためのマスタは必須とはされない。但し、ネットワークの上位側に配置された管理装置が各デバイスを管理する場合もある。
(4)階層型
複数のネットワークが階層的に接続されている形態である。
検索装置100の自動更新部110は、検索対象2のネットワークの接続形態(ネットワークトポロジ)に応じた方法で、インデックス1043の更新に必要な情報を収集する。すなわち、自動更新部110は、構成情報1041およびデバイスプロファイル1042を参照して、制御システム1に含まれる各デバイス300から状態を示す情報を収集する方法を決定する。
具体的には、バス型のネットワークにおいては、当該ネットワークのマスタから当該マスタが管理するユニットの構成情報を収集する。デイジーチェーン型のネットワークにおいても、マスタが管理する該ネットワークに接続されているスレーブ(および、マスタ自身)に関する情報を収集する。すなわち、自動更新部110は、情報の収集対象のネットワークがバス型またはデイジーチェーン型の形態で接続されている場合に、当該ネットワークのマスタとして機能するデバイス300から、当該ネットワークに接続される各デバイス300の状態を示す情報を収集する。
一方、スター型のネットワークにおいては、情報の送信を要求するメッセージをブロードキャストにより送信し、当該メッセージに応答して返信される情報を収集する。すなわち、自動更新部110は、情報の収集対象のネットワークがスター型の形態で接続されている場合に、当該ネットワークに情報の送信を要求するメッセージをブロードキャストすることで、当該ネットワークに接続される各デバイス300の状態を示す情報を収集する。
階層型のネットワークにおいては、各階層のネットワークトポロジに応じて、必要な情報を順次収集する。この場合、上位階層のネットワークから下位階層のネットワークに向けて順次情報が収集されることになる。なお、階層間に配置されるゲートウェイがマスタとして機能する場合には、当該ゲートウェイから必要な情報を収集する。
なお、データベース104の構成情報1041を参照することで、階層型のネットワークについては、上位階層から下位階層に向けて探索が可能となる。
図9は、本実施の形態に係る検索装置100によるインデックス1043を生成するためのネットワーク探索を説明するための図である。図9に示す制御システム1において、検索装置100および3つのPLC(デバイス300−1,300−2,300−3)がEtherNet/IPのネットワーク320にスター型の形態で接続されている。3つのPLC(デバイス300−1,300−2,300−3)の各々は、ローカルバス322を介して接続された、CPUユニットおよび各種ユニットを含む。すなわち、CPUユニットおよび各種ユニットは、バス型の形態でローカルバス322に接続されている。
デバイス300−1のPLCは、EtherCATのネットワーク324を介して、複数のノード(デバイス300−4,300−5,300−6)とデイジーチェーン型の形態で接続されている。
同様に、デバイス300−3のPLCは、EtherCATのネットワーク324を介して、複数のノード(デバイス300−7,300−8,300−9)とデイジーチェーン型の形態で接続されている。
デバイス300−9は、リモートIO装置であり、ローカルバス326を介して接続された、カプラユニットおよび各種ユニットを含む。
上述したように、制御システム1は、3つの階層のネットワーク(第1階層:ネットワーク320;第2階層:ローカルバス322,ネットワーク324;第3階層:ローカルバス326)を有している。
検索装置100の自動更新部110は、各階層に応じた方法で必要な情報を収集する。図9に示す制御システム1において、自動更新部110は、第1階層のネットワーク320に接続されているデバイスに対しては、問合せパケットをブロードキャストすることで、デバイス300−1,300−2,300−3の各々から必要な情報を収集する。
続いて、自動更新部110は、第2階層のローカルバス322に接続されているデバイスに対しては、各ローカルバス322のマスタとして機能するCPUユニット(300−1,300−2,300−3)から必要な情報をそれぞれ収集する。
また、自動更新部110は、第2階層のネットワーク324に接続されているデバイスに対しては、ネットワーク324のマスタとして機能するデバイス300−1,300−3(PLC)から必要な情報をそれぞれ収集する。
さらに、自動更新部110は、第3階層のローカルバス326に接続されているデバイスに対しては、各ローカルバス322のマスタとして機能するCPUユニット(デバイス300−9)から必要な情報を収集する。
このように、検索装置100の自動更新部110は、各階層に応じた方法で必要な情報を収集する。
次に、本実施の形態に係る検索装置100の自動更新部110によるインデックス1043の更新処理の処理手順を説明する。
図10は、本実施の形態に係る制御システムにおけるインデックスの更新処理の処理手順を示すフローチャートである。図10に示す各ステップは、典型的には、検索装置100のプロセッサ152が自動更新プログラム1562(図3)を実行することで実現される。
図10を参照して、検索装置100は、予め定められたインデックスの更新処理の開始条件が成立したか否かを判断する(ステップS200)。予め定められたインデックスの更新処理の開始条件は、予め定められた開始タイミングの到来、ネットワーク構成に変更の検知などを含む。予め定められたインデックスの更新処理の開始条件が成立していなければ(ステップS200においてNO)、ステップS200の処理が繰り返される。
予め定められたインデックスの更新処理の開始条件が成立していれば(ステップS200においてYES)、検索装置100は、データベース104に格納されている構成情報1041を参照して、検索対象2に含まれるネットワークの第1階層の通信プロトコルを特定する(ステップS202)。検索装置100は、データベース104に格納されているデバイスプロファイル1042を参照して、第1階層の通信プロトコルに応じた形態で情報を収集する(ステップS204)。この収集された情報により、インデックス1043が更新される。
続いて、検索装置100は、検索対象2に含まれるネットワークの第1階層に繋がる第2階層が存在するか否かを判断する(ステップS206)。検索対象2に含まれるネットワークの第1階層に繋がる第2階層が存在しなければ(ステップS206においてNO)、検索装置100は、処理を終了する。
検索対象2に含まれるネットワークの第1階層に繋がる第2階層が存在しなければ(ステップS206においてNO)、検索装置100は、ネットワークの第1階層に繋がる第2階層のリストを生成する(ステップS208)。
そして、検索装置100は、生成した第2階層のリストに含まれる1つの第2階層を選択し(ステップS210)、検索対象2に含まれるネットワークの選択している第2階層の通信プロトコルを特定する(ステップS212)。検索装置100は、データベース104に格納されているデバイスプロファイル1042を参照して、選択している第2階層の通信プロトコルに応じた形態で情報を収集する(ステップS214)。この収集された情報により、インデックス1043が更新される。
さらに、検索装置100は、現在選択している階層に繋がる下位の階層が存在するか否かを判断する(ステップS216)。現在選択している階層に繋がる下位の階層が存在すれば(ステップS216においてYES)、検索装置100は、当該下位の階層を選択し(ステップS218)、ステップS212以下の処理を繰り返す。
現在選択している階層に繋がる下位の階層が存在しなければ(ステップS216においてNO)、検索装置100は、生成した第2階層のリストに含まれる第2階層のすべてを選択したか否かを判断する(ステップS220)。
生成した第2階層のリストに含まれる第2階層のすべてを選択していなければ(ステップS220においてNO)、検索装置100は、生成した第2階層のリストに含まれる別の第2階層を選択し(ステップS222)、ステップS212以下の処理を繰り返す。
生成した第2階層のリストに含まれる第2階層のすべてを選択していれば(ステップS220においてYES)、検索装置100は、処理を終了する。
以上の処理によって、インデックス1043の更新処理が完了する。
<G.データ検索要求および検索結果>
次に、本実施の形態に係る検索装置100が処理するデータ検索要求600および応答する検索結果650について説明する。
(g1:データ検索要求の生成)
データ検索要求600の要求元において、データ検索要求600は任意の方法で生成できる。例えば、ユーザ指示に応じて、SQL言語で記述されたデータ検索要求を自動的に生成するようなアプリケーションプログラムを作成してもよい。このようなアプリケーションプログラムは、任意のプログラミング言語を用いて作成できる。
また、任意のSQLクエリを生成できるアプリケーションを用いて、ユーザが任意のデータ検索要求を作成するようにしてもよい。この場合、検索装置100と連携することで、データベース104に含まれる、構成情報1041、デバイスプロファイル1042、およびインデックス1043の情報を参照して、データ検索要求に記述可能な要素の一覧を表示できるようにしてもよい。この場合、ユーザが生成したデータ検索要求に対する検索結果を当該アプリケーション上で表示するようにしてもよい。
また、Webサーバ上に配置されたHTMLドキュメントをブラウザで表示するとともに、ユーザがブラウザを操作することで、RESTに準拠した形式で記述されたデータ検索要求を生成するようにしてもよい。この場合、検索結果についても同一のブラウザ上に表示するようにしてもよい。
(g2:検索結果の利用)
検索装置100がデータ検索要求に応答して検索収集処理を実行することで得られる検索結果は、任意の形態で利用できる。
例えば、検索結果を任意のアプリケーションを用いて表示または動作させることができる。例えば、Windows(登録商標)上で実行される任意のアプリケーションで利用することができる。
さらに、Webアプリケーションとして実装してもよい。図11および図12は、本実施の形態に係る制御システム1を利用して提供されるWebアプリケーションの一例を説明するための図である。図11を参照して、例えば、携帯端末あるいはパーソナルコンピュータ上で実行されるブラウザ700から検索装置100に対してリモートアクセスする。この場合、検索装置100にはWebサーバ112が実装されており、Webサーバ112が提供するHTMLドキュメントがブラウザ700で表示されてもよい。
ユーザがブラウザ700を操作することで、ブラウザ700から検索装置100には、RESTに準拠した形式で記述されたデータ検索要求が送信される。検索装置100がデータ検索要求に応答して検索して得られた検索結果は、ブラウザ700上に表示されてもよい(HTMLドキュメント)。
例えば、図12(a)を参照して、検索装置100のWebサーバ112からは、検索対象2のネットワーク構成を示す模式図が表示されるとともに、ユーザが任意のデバイスあるいは異常メッセージを選択すると、データ検索要求の生成および検索収集処理が実行され、図12(b)に示すような形態でその検索結果を表示してもよい。
なお、図11に示す構成に代えて、Webサーバを検索装置100とは異なる処理主体に配置してもよい。
図13は、本実施の形態に係る制御システム1を利用してWebアプリケーションを提供するための別の実装例を示す模式図である。図13を参照して、例えば、検索対象2を統括するPLCなどにWebサーバ710を配置するとともに、携帯端末あるいはパーソナルコンピュータ上で実行されるブラウザ700からWebサーバ710に対してリモートアクセスする。Webサーバ710は、ブラウザ700からのアクセスに応答して、要求されたデータ検索要求を生成する。例えば、データ検索要求はJSON形式で生成されてもよい。
このデータ検索要求に対して、検索装置100は、検索収集処理を実行し、その検索結果をJSON形式で応答する。Webサーバ710は、検索装置100からの検索結果に基づいてHTMLドキュメントを生成し、ブラウザ700へ送信するようにしてもよい。
データ検索要求の生成方法および検索結果の利用形態については、上述したものに限られず、任意の方法および形態を採用できる。
<H.その他の形態>
上述の実施の形態においては、検索装置100が一連の処理を実行する構成について説明したが、これに限られず、検索装置100が実行する処理を複数の処理主体で分散して実行するようにしてもよい。例えば、データ検索要求の解析処理とリクエストパケットの生成処理とを異なる処理主体で実行してもよい。この場合、データ検索要求の解析処理は、ネットワーク上のクラウドコンピュータで実行し、その解析結果に基づいて、検索対象2とネットワーク接続された検索装置がリクエストパケットを実際に対象デバイス300に送信するようにしてもよい。
あるいは、検索対象2とネットワーク接続された検索装置がデータ検索要求を解析し、その解析結果に基づいて、検索対象2内の任意のPLCがリクエストパケットを対象デバイス300に送信するようにしてもよい。
これに限られず、検索対象2の構成または規模などに応じて、本実施の形態に係る検索機能は任意の形態で実装できる。
また、本実施の形態に係る検索機能は、既存のPLCあるいはデバイスに対して、事後的にプログラムを追加する形で実装することもできる。この場合、事後的に追加されるプログラムが本発明の対象となり得る。
<I.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
少なくとも1つのデバイス(300)からなる制御システム(1)であって、
各デバイスの状態を示す情報を含むインデックス(1043)を保持するデータベース(104)と、
外部からのデータ検索要求(600)に応答して、前記インデックスを参照してリクエストパケット(400)を生成して対象デバイスへ送信するとともに、当該対象デバイスからのレスポンスパケット(450)に含まれるデータを検索結果(650)として出力する検索収集部(106)と、
前記制御システムに含まれるデバイスの状態を示す情報を収集して前記インデックスの内容を更新する自動更新部(110)とを備える、制御システム。
[構成2]
前記検索収集部は、前記インデックスを参照して、前記データ検索要求に含まれる検索条件に合致するデバイスを決定する、構成1に記載の制御システム。
[構成3]
前記インデックスは、各デバイスにエラーが発生しているか否かの情報を含む、構成1または2に記載の制御システム。
[構成4]
前記インデックスは、予め定められた条件に合致するデバイスの集合を示す情報を含む、構成1〜3のいずれか1項に記載の制御システム。
[構成5]
前記データベースは、前記制御システムのデバイスの接続関係を含む構成情報(1041)、および、各デバイスの特性を示す情報を含むデバイスプロファイル(1042)をさらに保持し、
前記自動更新部は、前記構成情報および前記デバイスプロファイルを参照して、前記制御システムに含まれる各デバイスから状態を示す情報を収集する方法を決定する、構成1〜4のいずれか1項に記載の制御システム。
[構成6]
前記自動更新部は、情報の収集対象のネットワークがバス型またはデイジーチェーン型の形態で接続されている場合に、当該ネットワークのマスタとして機能するデバイスから、当該ネットワークに接続される各デバイスの状態を示す情報を収集する、構成5に記載の制御システム。
[構成7]
前記自動更新部は、情報の収集対象のネットワークがスター型の形態で接続されている場合に、当該ネットワークに情報の送信を要求するメッセージをブロードキャストすることで、当該ネットワークに接続される各デバイスの状態を示す情報を収集する、構成5または6に記載の制御システム。
[構成8]
前記データ検索要求は、SQL言語またはRESTに準拠した形式で記述されている、構成1〜7のいずれか1項に記載の制御システム。
[構成9]
少なくとも1つのデバイス(300)からなる制御システム(1)に接続される検索装置(100)であって、
各デバイスの状態を示す情報を含むインデックス(1043)を保持するデータベース(104)と、
外部からのデータ検索要求(600)に応答して、前記インデックスを参照してリクエストパケット(400)を生成して対象デバイスへ送信するとともに、当該対象デバイスからのレスポンスパケット(450)に含まれるデータを検索結果(650)として出力する検索収集部(106)と、
前記制御システムに含まれるデバイスの状態を示す情報を収集して前記インデックスの内容を更新する自動更新部(110)とを備える、検索装置。
[構成10]
少なくとも1つのデバイス(300)からなる制御システム(1)に接続されるコンピュータ(100)で実行される検索プログラム(1560)であって、前記コンピュータに、
外部からのデータ検索要求(600)に応答して、各デバイスの状態を示す情報を含むインデックス(1043)を参照してリクエストパケット(400)を生成して対象デバイスへ送信するとともに、当該対象デバイスからのレスポンスパケット(450)に含まれるデータを検索結果(650)として出力するステップ(S)と、
前記制御システムに含まれるデバイスの状態を示す情報を収集して前記インデックスの内容を更新するステップ(S200〜S222)とを実行させる、検索プログラム。
<J.利点>
本実施の形態に係る制御システムによれば、制御システム内の状態変化に応じてインデックスを更新することができ、この随時更新されるインデックスを参照して、リクエストパケットを生成できるので、制御システム内の状態が変化した場合であっても、制御システム内の任意のデバイスの任意の情報を効率的に収集できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、2 検索対象、100 検索装置、102 インターフェイス、104 データベース、106 検索収集部、108 通信処理部、110 自動更新部、112,710 Webサーバ、152 プロセッサ、154 メインメモリ、156 ストレージ、158 上位ネットワークコントローラ、160 入力部、162 表示部、164 下位ネットワークコントローラ、166 メモリカードインターフェイス、168 メモリカード、170 プロセッサバス、200 PLC、300 デバイス、302 作業領域、304 プロファイル、306 データソース、320,324 ネットワーク、322,326 ローカルバス、400 リクエストパケット、402 第1経路用パケット、404 第2経路用パケット、406 コマンド、432,433,434,435,436,437 解析処理、450 レスポンスパケット、500 ネットワーク階層設定、502 第1経路、504 第2経路、600,602 データ検索要求、650 検索結果、700 ブラウザ、1041 構成情報、1042 デバイスプロファイル、1043 インデックス、1560 検索プログラム、1562 自動更新プログラム、1564 システムプログラム。

Claims (10)

  1. 少なくとも1つのデバイスからなる制御システムであって、
    各デバイスの状態を示す情報を含むインデックスを保持するデータベースと、
    外部からのデータ検索要求に応答して、前記インデックスを参照してリクエストパケットを生成して対象デバイスへ送信するとともに、当該対象デバイスからのレスポンスパケットに含まれるデータを検索結果として出力する検索収集部と、
    前記制御システムに含まれるデバイスの状態を示す情報を収集して前記インデックスの内容を更新する自動更新部とを備える、制御システム。
  2. 前記検索収集部は、前記インデックスを参照して、前記データ検索要求に含まれる検索条件に合致するデバイスを決定する、請求項1に記載の制御システム。
  3. 前記インデックスは、各デバイスにエラーが発生しているか否かの情報を含む、請求項1または2に記載の制御システム。
  4. 前記インデックスは、予め定められた条件に合致するデバイスの集合を示す情報を含む、請求項1〜3のいずれか1項に記載の制御システム。
  5. 前記データベースは、前記制御システムのデバイスの接続関係を含む構成情報、および、各デバイスの特性を示す情報を含むデバイスプロファイルをさらに保持し、
    前記自動更新部は、前記構成情報および前記デバイスプロファイルを参照して、前記制御システムに含まれる各デバイスから状態を示す情報を収集する方法を決定する、請求項1〜4のいずれか1項に記載の制御システム。
  6. 前記自動更新部は、情報の収集対象のネットワークがバス型またはデイジーチェーン型の形態で接続されている場合に、当該ネットワークのマスタとして機能するデバイスから、当該ネットワークに接続される各デバイスの状態を示す情報を収集する、請求項5に記載の制御システム。
  7. 前記自動更新部は、情報の収集対象のネットワークがスター型の形態で接続されている場合に、当該ネットワークに情報の送信を要求するメッセージをブロードキャストすることで、当該ネットワークに接続される各デバイスの状態を示す情報を収集する、請求項5または6に記載の制御システム。
  8. 前記データ検索要求は、SQL言語またはRESTに準拠した形式で記述されている、請求項1〜7のいずれか1項に記載の制御システム。
  9. 少なくとも1つのデバイスからなる制御システムに接続される検索装置であって、
    各デバイスの状態を示す情報を含むインデックスを保持するデータベースと、
    外部からのデータ検索要求に応答して、前記インデックスを参照してリクエストパケットを生成して対象デバイスへ送信するとともに、当該対象デバイスからのレスポンスパケットに含まれるデータを検索結果として出力する検索収集部と、
    前記制御システムに含まれるデバイスの状態を示す情報を収集して前記インデックスの内容を更新する自動更新部とを備える、検索装置。
  10. 少なくとも1つのデバイスからなる制御システムに接続されるコンピュータで実行される検索プログラムであって、前記コンピュータに、
    外部からのデータ検索要求に応答して、各デバイスの状態を示す情報を含むインデックスを参照してリクエストパケットを生成して対象デバイスへ送信するとともに、当該対象デバイスからのレスポンスパケットに含まれるデータを検索結果として出力するステップと、
    前記制御システムに含まれるデバイスの状態を示す情報を収集して前記インデックスの内容を更新するステップとを実行させる、検索プログラム。
JP2018133626A 2018-07-13 2018-07-13 制御システム、検索装置および検索プログラム Active JP7107047B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018133626A JP7107047B2 (ja) 2018-07-13 2018-07-13 制御システム、検索装置および検索プログラム
PCT/JP2019/024238 WO2020012896A1 (ja) 2018-07-13 2019-06-19 制御システム、検索装置および検索プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018133626A JP7107047B2 (ja) 2018-07-13 2018-07-13 制御システム、検索装置および検索プログラム

Publications (2)

Publication Number Publication Date
JP2020013224A true JP2020013224A (ja) 2020-01-23
JP7107047B2 JP7107047B2 (ja) 2022-07-27

Family

ID=69141940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018133626A Active JP7107047B2 (ja) 2018-07-13 2018-07-13 制御システム、検索装置および検索プログラム

Country Status (2)

Country Link
JP (1) JP7107047B2 (ja)
WO (1) WO2020012896A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022230429A1 (ja) 2021-04-28 2022-11-03 オムロン株式会社 制御システム、データ提供方法および中継処理プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302849A (ja) * 2003-03-31 2004-10-28 Mitsubishi Electric Corp Faコントローラ
JP2005260893A (ja) * 2004-03-15 2005-09-22 Omron Corp 情報変換サーバおよびネットワークシステムならびに情報伝送方法
JP2013058818A (ja) * 2011-09-06 2013-03-28 Fujitsu Ltd 監視補助装置、監視補助方法および監視補助プログラム
WO2014050192A1 (ja) * 2012-09-27 2014-04-03 オムロン株式会社 デバイス管理装置及びデバイス検索方法
JP2017062851A (ja) * 2011-04-28 2017-03-30 キヤノンマーケティングジャパン株式会社 情報処理システム、アプリケーションサーバ、情報処理方法、プログラムおよび記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302849A (ja) * 2003-03-31 2004-10-28 Mitsubishi Electric Corp Faコントローラ
JP2005260893A (ja) * 2004-03-15 2005-09-22 Omron Corp 情報変換サーバおよびネットワークシステムならびに情報伝送方法
JP2017062851A (ja) * 2011-04-28 2017-03-30 キヤノンマーケティングジャパン株式会社 情報処理システム、アプリケーションサーバ、情報処理方法、プログラムおよび記録媒体
JP2013058818A (ja) * 2011-09-06 2013-03-28 Fujitsu Ltd 監視補助装置、監視補助方法および監視補助プログラム
WO2014050192A1 (ja) * 2012-09-27 2014-04-03 オムロン株式会社 デバイス管理装置及びデバイス検索方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022230429A1 (ja) 2021-04-28 2022-11-03 オムロン株式会社 制御システム、データ提供方法および中継処理プログラム

Also Published As

Publication number Publication date
JP7107047B2 (ja) 2022-07-27
WO2020012896A1 (ja) 2020-01-16

Similar Documents

Publication Publication Date Title
US20230262443A1 (en) System, Method and Apparatus for Building Operations Management
US11089116B2 (en) Operation triggering method and apparatus for machine-to-machine communications
JP4185060B2 (ja) プロトコル変換装置、被アクセス装置、プログラムおよび方法
US20150066979A1 (en) Device address management in an automation control system
US20200336925A1 (en) System, Method and Apparatus for Managing Disruption in a Sensor Network Application
US20240064537A1 (en) System, Method and Apparatus for Presentation of Sensor Information to a Building Control System
US11940778B2 (en) Method of commissioning a field device in an industrial system network
JP5974931B2 (ja) 通信装置
Wang et al. An interoperable and flat Industrial Internet of Things architecture for low latency data collection in manufacturing systems
WO2020012897A1 (ja) 制御システム、検索装置および検索プログラム
US20200137166A1 (en) Remote device management system, device, and communication method
CN113568925B (zh) 一种报文数据的转换方法、装置、电子设备及存储介质
WO2020012896A1 (ja) 制御システム、検索装置および検索プログラム
JP2018136745A (ja) 制御システム、制御装置および制御プログラム
JP2019506785A (ja) リソース取得方法および装置
CN111971630B (zh) 管理装置及管理系统
CN110573974A (zh) 用于监控自动化技术系统的装置、现场总线接入单元和方法
JP5217986B2 (ja) ゲートウェイ装置
JP5135422B2 (ja) ゲートウェイ装置
KR20210128096A (ko) 사물인터넷 플랫폼 간 연동 방법 및 장치
Palmeira et al. Migrating legacy production lines into an Industry 4.0 ecosystem
JP2015186164A (ja) 監視サーバ、ネットワーク監視システム、ネットワーク監視方法およびネットワーク監視プログラム
CN115589351A (zh) 一种查询方法、装置及设备
TW202242671A (zh) 控制系統、資料提供方法以及中繼處理程式
CN114826867A (zh) 处理数据的方法、装置、系统及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220318

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220627

R150 Certificate of patent or registration of utility model

Ref document number: 7107047

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150