〔システム概要〕
図2は、本実施形態に係るデータ収集システム100の概要を示す図である。データ収集システム100は、一例として、ゲートウェイ装置1と、PLC(Programmable Logic Controller)2と、設定端末3と、監視対象である産業用機器としてのFA機器4およびセンサ5と、管理サーバ6と、専用通信回線網7とを含む。
PLC2と、FA機器4およびセンサ5とは、所定のインタフェース規格(例えば、RS232、RS485)に従い、ケーブルで直接接続されている。なお、不図示のLAN(Local Area Network)を介して通信可能に接続されていてもよい。PLC2とゲートウェイ装置1とは、後述するように通信可能に有線にて接続される。ゲートウェイ装置1は、無線通信にて専用通信回線網7に接続する機能を有しており、専用通信回線網7を介して管理サーバ6と通信可能に接続される。設定端末3は、インターネットまたは移動体通信網などの広域通信網8を介して管理サーバ6と通信可能に接続されている。
PLC2は、産業用機器の制御および監視を行うものである。図示の例では、PLC2は、1以上のFA機器4、および、1以上のセンサ5などの産業用機器から、FA管理のためのデータを、上述したインタフェース規格による通信、またはLAN等、PLC2の通信規格に対応する通信により取得する。
FA管理のためのデータとは、例えば、FA機器4が内蔵するセンサ、または、FA機器4とは別体のセンサ5によって計測される計測値である。計測値は、FA機器4の動作またはFA機器4の周囲環境に係る物理量を示すものであってもよいし、FA機器4または周囲環境の状態を2値化して示すバイナリデータであってもよい。各センサによって計測される計測項目は、特に限定されないが、例えば、電流、電圧、油圧、水圧、気圧、トルク、温度、湿度、消費電力、重量、接触/非接触など多岐に亘る。
PLC2は、1以上のレジスタを備え、一例として、1つのレジスタに1つのセンサから取得した1つの計測項目に係る計測値を格納する。PLC2は、ゲートウェイ装置1から要求に応じて、自装置が備える各レジスタに格納された計測値を供給する。
本実施形態では、PLC2は、1以上の機器を収容する制御盤などの収容ボックス2Aに収容されている。
ゲートウェイ装置1は、RS232、RS485またはLANによるPLC2との通信と、専用通信回線網7による管理サーバ6との通信とを接続する中継装置である。具体的には、ゲートウェイ装置1は、PLC2がLANを介して産業用機器から取得した各種の計測値を、専用通信回線網7を介して、管理サーバ6にアップロードする。本実施形態では、ゲートウェイ装置1とPLC2とは1対1で対応している。具体的には、1台のPLC2に、1台のゲートウェイ装置1が結線され、該ゲートウェイ装置1は、取り付けられた相手方のPLC2が収集する計測値について、管理サーバ6へのアップロードを受け持つ。なお、ここでは、1台のゲートウェイ装置1に対し1台のPLC2が接続される例を説明しているが、これに限られるものではなく、1台のゲートウェイ装置1に対し複数のPLC2が接続されてもよい。
ゲートウェイ装置1は、後述するように、ボタンまたはスイッチなど、OT技術者が操作する操作部を備えていてもよい。OT技術者は、操作部を操作して、計測値の取得またはアップロードのタイミングをゲートウェイ装置1に対して指示してもよい。
設定端末3は、OT技術者が、データ収集システム100を使って製造設備全体を管理するために必要なHMI(Human Machine Interface)を提供する。具体的には、設定端末3は、製造設備に取り付けられる1以上のゲートウェイ装置1に関する、各種の設定作業を支援するためのUI(User Interface)を提供する。また、設定端末3は、管理サーバ6に集積された膨大な数の計測値について、概要をまとめて一覧表示するなど、いわゆる、ダッシュボードとしての機能を提供してもよい。
設定端末3は、例えば、PC(Personal Computer)、タブレット、スマートフォンなどで構成される。設定端末3は、データ収集システム100が出力する情報をOT技術者に提示するための一般的な表示装置と、データ収集システム100に情報を入力するための一般的な入力装置(受付部、設定送信部)とを備えている。
なお、設定端末3は、後述するサービスプロバイダ300によって提供されてもよいし、サービスプロバイダ300とは異なるパーティによって提供されてもよい。
管理サーバ6は、複数のゲートウェイ装置1から計測値を定期的に収集し、収集した膨大な数の計測値を体系的に保管するものである。管理サーバ6は、さらに、保管した計測値を、設定端末3から指定されたクエリに応答して、体系的に供給する機能を有していてもよい。
とりわけ、本実施形態では、管理サーバ6は、設定端末3と通信し、設定端末3がゲートウェイ装置1の設定に関するUIを実現できるように、必要な情報を設定端末3に供給する。
専用通信回線網7は、無線通信機能を有する1以上のゲートウェイ装置1が、管理サーバ6と通信するための通信回線を提供する。ゲートウェイ装置1は、専用通信回線網7と無線接続することにより、管理サーバ6に対して集めた計測値をアップロードすることができる。
データ収集システム100を構成する上述の各資源のうち、管理サーバ6および専用通信回線網7は、支払われた料金の対価として後述するサービスを支払元に提供するパーティに帰属する。このパーティを、以下では、サービスプロバイダ300と称する。
なお、サービスプロバイダ300は、専用通信回線網7を所有している必要はない。例えば、通信キャリアなどの別のパーティが所有する専用通信回線網7が、有料または無料でサービスプロバイダ300に貸与されることにより、専用通信回線網7がサービスプロバイダ300に帰属してもよい。
また、サービスプロバイダ300は、ゲートウェイ装置1を製造、販売する事業者であってもよい。
データ収集システム100を構成する上述の各資源のうち、ゲートウェイ装置1、PLC2、設定端末3、FA機器4、および、センサ5は、必要な料金をサービスプロバイダ300に支払って、後述するサービスを享受するパーティに帰属する。該パーティを、以下では、顧客200と称する。
一例として、サービスプロバイダ300が顧客200に対して提供するサービスには、少なくとも以下が含まれる。具体的には、(1)ゲートウェイ装置1のハードウェアを提供すること、および、(2)ゲートウェイ装置1が取得した計測値をアップロードするための専用通信回線網7を使用する権利を与えることである。すなわち、顧客200がサービスプロバイダ300に支払う料金は、ゲートウェイ装置1の装置そのものの費用、専用通信回線網7の通信に関する費用が少なくとも含まれている。そして、顧客200はサービスプロバイダ300とのみ契約し、サービスプロバイダ200のみに費用を支払うことにより、上記サービスの提供を受けることができる。
サービスプロバイダ300は、顧客200との契約の内容にしたがって、さらに、以下のサービスを顧客200に提供してもよい。具体的には、(3)ゲートウェイ装置1を製造現場で実際に稼動させるために必要な作業ツール(上述のUIなど)を提供すること、および、(4)設定端末3からのクエリに応答して、保管した計測値のデータベースから、必要な情報を抽出し提供することである。
〔ゲートウェイ装置の取り付け例〕
次に、図3および図4を参照して、ゲートウェイ装置1を、PLC2が収容された収容ボックス2Aに取り付ける例について説明する。図3および図4は、ゲートウェイ装置1
の取り付け例を示す図である。後述するようにゲートウェイ装置1は筐体がアンテナ部10および本体部20に分かれており、アンテナ部10が収容ボックス2Aの外側に、本体部20が収容ボックス2Aの内部に入るように、収容ボックス2Aの壁面に取付けられる。アンテナ部10と本体部20とは複数の固定ビスにより収容ボックス2Aの壁面に取り付けられるとともに、相互に固定される。また、アンテナ部10の本体部20側の面、本体部20のアンテナ部10側の面の中央近傍に対応する収容ボックス2Aの壁面には、アンテナ部10と本体部20とを接続するフラットケーブル18等が通るように、所定の大きさの丸穴が開けられている。
なお、収容ボックス2Aに収容されるPLC2は1つに限られるものではなく、複数であってもよい。この場合、PLC2ごとに1つのゲートウェイ装置1が取付けられてもよいし、1つのゲートウェイ装置1に複数のPLC2が取付けられてもよい。
〔適用例〕
図5は、顧客200の製造設備におけるゲートウェイ装置1の適用例を示す図である。顧客200は、一例として、製造設備として、大阪工場および京都工場の2つの工場を所有しているものとする。一例として、大阪工場には、ある製品を製造するための、3つの工程からなる製造ラインが3つ敷設されており、京都工場には、同一の製品を製造するための、同一の製造ラインが2つ敷設されているものとする。
本実施形態では、1つの製造ラインの1つの工程につき、1台のPLC2が設置されるものとする。上述したとおり、1台のPLC2に対して、1つのゲートウェイ装置1が結線される。別の例では、1つの工程につき複数台のPLC2が設置されていてもよく、これらの複数台のPLC2が1つの収容ボックス2Aに収容される場合には、1つの収容ボックス2Aの外壁に対して、PLC2ごとのゲートウェイ装置1が複数個取り付けられてもよい。
本実施形態では、ゲートウェイ装置1を用いた産業用機器の管理方法として、製造ラインの異同を問わず、同一製品を製造する同一工程には、同一の管理タイプが適用される。管理タイプとは、監視対象としてまとまりのある製造設備一式を、どのように管理するのかを指す管理様式を意味する。具体的には、1つの工程に属する製造設備一式から取得される計測項目ごとの計測値を、ゲートウェイ装置1が取得およびアップロードする様式が、管理タイプとして工程ごとに定義される。
図示の例では、顧客200は、複数の工場で複数の製造ラインを所有しているが、各製造ラインは、同一製品を製造するための同一の製造ラインであり、該製造ラインは、3つの工程で構成されている。したがって、工程ごとに、3つの管理タイプが定義されることになる。各ゲートウェイ装置1には、管轄させる工程に対応する定義済の管理タイプが適用される。各工程を管轄するように取り付けられたゲートウェイ装置1は、自装置の通信相手であるPLC2によって産業用機器から取得された計測値を、適用された管理タイプにしたがって、管理サーバ6にアップロードする。なお、管理タイプの定義(設定ファイル)は、OT技術者が設定端末3を操作して行う。管理タイプの定義方法については、後に詳述する。
〔ゲートウェイ装置の構成〕
図1は、本実施形態に係るゲートウェイ装置1の要部構成を示すブロック図である。
(ハードウェア構成)
図1に示すように、ゲートウェイ装置1は、アンテナ部10と本体部20との2つの筐体に分かれ、フラットケーブル18を介して通信可能に接続されている。これらは、ゲートウェイ装置1をPLC2が収納されている収容ボックス2Aに取り付ける際、アンテナ部10が収容ボックス2Aの外側に、本体部20が収容ボックス2Aの内側になるように取り付けられるものである。アンテナ部10が収容ボックス2Aの外部に取り付けられることにより、ゲートウェイ装置1と外部装置との間で無線通信する場合の通信状態をよりよいものとすることができる。
アンテナ部10は、通信モジュール11、LTEアンテナ12、メモリ13、GPS14、タクトスイッチ15、LED(Light Emitting Diode)16、および、コネクタ部17を含む。
通信モジュール11は、LTEアンテナ12を用いてLTE(Long Term Evolution)基地局との通信を行うものである。
LTEアンテナ12は、LTEに基づく通信を行うためのアンテナである。
メモリ13は、ゲートウェイ装置1を識別する装置IDを格納している記憶部である。装置IDとは例えば、SIM(Subscriber Identity Module)に基づいて特定されるIDである。
GPS14は、GPS(Global Positioning System)信号に基づきゲートウェイ装置1の位置を特定するものである。例えば、GPS14は、特定した位置を示す位置情報を制御部21に送信し、制御部21は、取得した位置情報をPLC2から取得した計測値とともに管理サーバ6に送信してもよい。
タクトスイッチ15は、OT技術者からの操作を受け付けるスイッチである。タクトスイッチ15は例えば、異常スイッチであってもよく、この場合、タクトスイッチ15が押下されると、その旨がフラットケーブル18を介して本体部20の制御部21に通知される。そして、制御部21は、該通知を受信すると異常があったと判断し、異常発生時の処理を行う。
LED16は、ゲートウェイ装置1の状態等を示す表示部である。LED16は単色であってもよいし、複数の色を含んでいてもよい。
コネクタ部17は、本体部20と通信接続するフラットケーブル18の接続部である。
また、本体部20は、制御部21および記憶部22に他に、コネクタ部23および通信I/F24を含む。
コネクタ部23は、アンテナ部10と通信接続するフラットケーブル18の接続部である。
通信インタフェース(I/F)24は、PLC2と通信接続するインタフェースである。より詳細には、通信I/F24は、シリアルデータバス25を介してPLC2とシリアル通信を行うためのインタフェースであり、例えばRS232C、またはRS485に対応している。
(ソフトウェア構成)
収容ボックス2Aの内側に取り付けられる本体部20の制御部21は、ゲートウェイ装置1を統括的に制御するものであり、一例として、定義取得部31、初期設定部32、計測値取得部(データ取得部)33、および、ログ送信部(データ送信部)34を含んでいる。
記憶部22は、制御部21が実行する制御プログラム、OSプログラム、および、制御部21が制御部21の各ブロックに係る処理を実行するときに読み出す各種データを記録するものである。記憶部22は、例えば、EEPROM(登録商標)(Electrically Erasable Programmable ROM)などの不揮発性の記憶装置によって構成される。
記憶部22は、一例として、管理タイプ定義テーブル41と、複数のドライバ情報42と、および、リングバッファ43とを記憶している。なお、リングバッファ43は、RAM(random access memory)などの不図示の一時記憶装置に、電源が入る度に都度展開されてもよい。
定義取得部31は、管理サーバ6から、自装置に対応する管理タイプ定義テーブルを取得するものである。管理タイプ定義テーブルとは、上述の管理タイプを示す情報であり、具体的には、計測値の取得様式およびアップロード様式を定義する情報である。管理タイプ定義テーブルのデータ構造については、後に詳述する。
具体的には、定義取得部31は、ゲートウェイ装置1に一意な装置IDを送信して、管理タイプ定義テーブル41を管理サーバ6に対して要求する。装置IDは、製造シリアル番号などのように、顧客をまたいで一意な識別情報であることが好ましい。本実施形態では、後述するように、管理サーバ6は、装置IDに基づいて、要求元のゲートウェイ装置1が、どの顧客のどの資源(図5に示す適用例においては、どの工場のどの製造ラインのどの工程)に取り付けられているのかを把握することができる。したがって、管理サーバ6は、定義取得部31から送られた装置IDに基づいて、ゲートウェイ装置1に対応する管理タイプを示す管理タイプ定義テーブル41を定義取得部31に返信することができる。定義取得部31は、管理サーバ6から取得した管理タイプ定義テーブル41を記憶部22に保存する。
初期設定部32は、複数のドライバ情報42から、自装置が接続されている通信相手のPLC2の型式に適合したドライバ情報42を選択し、選択したドライバ情報42を有効化するものである。具体的には、初期設定部32は、記憶部22に記憶された管理タイプ定義テーブル41から、PLC2の型式を読み出し、自装置が接続されている通信相手のPLC2の型式を特定する。初期設定部32は、複数のドライバ情報42から、特定したPLC2の型式に適合したドライバ情報42を有効化する。結線されたPLC2に適合するドライバ情報42が有効化されることにより、制御部21は、ドライバ情報42で定められた通信プロトコルにしたがって、通信I/F24を介して、PLC2と正常に通信を行うことが可能になる。そして、制御部21は、PLC2から計測値を取得できるようになる。
また、初期設定部32は、ドライバ情報42のアップデートデータを管理サーバ6から取得し、ドライバ情報42をアップデートしてもよい。さらに、ドライバ情報42がゲートウェイ装置1に格納されていない場合、ゲートウェイ装置1は、管理サーバ6またはドライバ情報42を有する他のサーバからドライバ情報42を取得するものであってもよい。
計測値取得部33は、PLC2と通信し、PLC2の各レジスタに保存されている計測項目ごとの計測値を取得するものである。計測値取得部33は、取得した各計測値を、リングバッファ43に保存する。
本実施形態では、一例として、計測値取得部33は、常時、PLC2の各レジスタの各計測値を取得し、リングバッファ43に順次保存していく。ここで、「常時取得する」とは、PLC2が各センサから計測値を取得する間隔(例えば、1ミリ秒間隔)と同じ間隔で、つまり、PLC2と同じ分解能で、各レジスタの計測値を連続的に取得することを含んでいてもよい。あるいは、「常時取得する」とは、PLC2が計測値を取得する間隔よりも大きく、ゲートウェイ装置1が計測値をアップロードする周期(例えば、5分間隔)よりも短い間隔(例えば、1秒間隔)で、各レジスタの計測値を離散的に取得することを含んでいてもよい。
リングバッファ43は、所定時間(例えば、10分間)分の計測値を保存できる領域で構成されている。計測値取得部33は、リングバッファ43のすべての領域が計測値で埋まった場合、つまり、稼動開始から10分が経過した場合に、リングバッファ43に保存されている最も古い計測値を消去またはこれに上書きして、最新の計測値を保存する。
以上のようにして、計測値取得部33は、ゲートウェイ装置1およびPLC2に電源が投入されて通信が確立している間、計測値を常時取得することを継続する。
ログ送信部34は、予め定められたロギング周期にしたがって、リングバッファ43に保存されている計測値を管理サーバ6にアップロードする。ロギング周期とは、計測値をゲートウェイ装置1から管理サーバ6にアップロードする周期を指定する情報である。ロギング周期は、定義取得部31によって取得された管理タイプ定義テーブル41において定義されている。
本実施形態では、ログ送信部34は、PLC2のレジスタごと、つまり、計測項目ごとの計測値に対して、アップロードの時刻を示す時刻情報と、装置IDとを付加したログ情報を生成し、該ログ情報を管理サーバ6に送信する。ログ情報のデータ構造については、後に詳述する。
本実施形態では、ログ送信部34は、PLC2が収集するすべての計測値のうち、OT技術者が選択した計測項目の計測値だけをログ情報に含めて送信することができる。OT技術者が選択した計測項目またはレジスタ名は、管理タイプ定義テーブル41に定義されている。ログ送信部34は、定義取得部31によって取得された管理タイプ定義テーブル41を参照し、アップロードする対象(以下、ロギング対象)の計測項目(データ特定情報)を特定する。ログ送信部34は、ロギング周期によって定められたアップロードのタイミングが到来すると、該タイミングでリングバッファ43に格納された最新の各計測値のうち、特定した計測項目に該当する計測値だけを読み出して、上述のログ情報を生成する。
〔管理サーバの構成〕
図6は、本実施形態に係る管理サーバ6の要部構成を示すブロック図である。
管理サーバ6は、一例として、制御部60、記憶部61および通信部62を備えている。通信部62は、広域通信網8を介して、設定端末3と通信を行うものであり、専用通信回線網7を介して、ゲートウェイ装置1と通信を行うものである。
制御部60は、管理サーバ6の各部の動作を統括的に制御するものである。一例として、制御部60は、ユーザインタフェース(UI)提供部70、生成部71、算出部72、判定部73、登録部74、供給部75、ログ管理部76、および、模擬部77を含んでいる。制御部60の各ブロックは、例えば、CPU(central processing unit)がROM(read only memory)等の記憶装置に記憶されているプログラムをRAM(random access memory)等に読み出して実行することで実現できる。なお、ROM上で実行できる構成であってもよい。
記憶部61は、制御部60が実行する制御プログラム、OSプログラム、および、制御部60が制御部60の各ブロックに係る処理を実行するときに読み出す各種データを記録するものである。記憶部61は、例えば、ハードディスクなどの不揮発性の記憶装置によって構成される。
記憶部61は、一例として、管理タイプデータベース(DB)81、装置登録データベース(DB)82、および、ログデータベース(DB)83を記憶している。
UI提供部70は、設定端末3に搭載されている一般的なWebブラウザアプリケーションによって閲覧および操作が可能なUI画面を提供する。UI提供部70は、設定端末3からUI画面を介して入力された各種の入力情報を、制御部60内で該入力情報を必要とするブロックに伝達する。また、UI提供部70は、制御部60内の各ブロックから出力された出力情報を、UI画面に反映させて、設定端末3にて確認できるようにする。
なお、UI提供部70は、設定端末3に備えられていてもよい。この場合、設定端末3は、例えば、管理サーバ6と情報をやりとりするための専用のアプリケーションをインストールして、UI提供部70を獲得することができる。
UI提供部70が提供するUI画面としては、例えば、管理タイプ定義画面、定常ロギング設定画面、および、装置登録画面などが想定される。管理タイプ定義画面とは、OT技術者が行う、管理タイプを定義する作業を支援するためのUI画面である。定常ロギング設定画面とは、OT技術者が行う、ロギング対象の計測項目を選択する作業、および、計測値のロギング周期を設定する作業を支援するためのUI画面である。装置登録画面とは、OT技術者が行う、製造設備に導入された複数のゲートウェイ装置1に、管理タイプおよび設置場所を紐付けて登録する作業を支援するためのUI画面である。これらのUI画面については、具体例を用いて後に詳述する。
生成部71は、管理タイプ定義画面および定常ロギング設定画面を介して設定端末3から入力された入力情報に基づいて、管理タイプ定義テーブルを生成するものである。管理タイプ定義テーブルとは、ゲートウェイ装置1の管理タイプを定義する情報である。
生成部71は、生成した管理タイプ定義テーブルを管理タイプDB81に登録する。1つの顧客200は、複数の管理タイプを定義することができる。したがって、管理タイプDB81において、管理タイプ定義テーブルは、顧客200に一意な顧客IDと、管理タイプに一意な管理タイプ名とに紐付けて登録される。
こうして、OT技術者が、管理タイプ定義画面および定常ロギング設定画面を操作して、管理タイプを定義すると、管理タイプ定義テーブルが生成される。生成された管理タイプ定義テーブルが、ゲートウェイ装置1に適用されると、該ゲートウェイ装置1は、管理タイプ定義テーブルにしたがって、OT技術者の意図通りに動作することができるようになる。
算出部72は、上述の入力情報に基づいて、専用通信回線網7における通信量を算出するものである。具体的には、算出部72は、顧客200がサービスプロバイダ300との契約締結に基づいて使用できる専用通信回線網7における1ヶ月の通信量の上限を算出する。本実施形態では、上述の1ヶ月の通信量の上限を通信量上限と称する。
一例として、サービスプロバイダ300は、顧客200に対して、提供するサービスの料金プランを複数種類用意している。料金プランには、専用通信回線網7の使用期間と料金とが設定されている。例えば、料金プランは、「2年間10万円コース」、「2年間20万円コース」・・・などと設定される。OT技術者は、サービスプロバイダ300との契約に基づいて定められた料金プランを、UI画面を介して入力する。
算出部72は、料金プランにおいて設定されている使用期間を月数に換算し、料金プランにおいて設定されている料金を、該月数で割って通信量上限を算出してもよい。
さらに、算出部72は、OT技術者が定義した管理タイプ定義テーブルに基づいて、専用通信回線網7における想定される1か月分の通信量を算出する。本実施形態では、上述の想定される1か月分の通信量を想定通信量と称する。例えば、管理タイプ定義テーブルには、想定通信量を算出するために必要な想定材料情報が含まれている。想定材料情報には、具体的には、アップロードする計測項目と、アップロードする計測項目ごとの計測値のデータ長と、ロギング周期と、1ヶ月あたりの稼動日数と、1日あたりの稼働時間とが含まれている。
算出部72は、例えば、アップロードする計測項目ごとの計測値のデータ長の合計を求めて、1回のアップロードで発生する1回分の通信量を求める。算出部72は、ロギング周期と1日あたりの稼働時間とに基づいて、1日あたりのアップロード回数を求める。そして、算出部72は、(1回分通信量)×(1日あたりのアップロード回数)×(1ヶ月あたりの稼動日数)により、想定通信量を算出してもよい。
さらに、算出部72は、後述の模擬部77がOT技術者の入力を模擬して設定した模擬周期と上述の想定材料情報とに基づいて、ロギング周期が、模擬周期であったと仮定した場合に想定される1か月分の通信量を、仮想通信量として算出してもよい。
判定部73は、想定通信量が通信量上限を超えるかどうかを判定するものである。判定部73は、判定結果を出力する。例えば、判定部73は、想定通信量が通信量上限を超える場合に、「上限超過」を示す判定結果を出力する。あるいは、判定部73は、想定通信量が通信量上限以下である場合に、「上限内」を示す判定結果を出力する。
なお、想定通信量が通信量上限を超えるかどうかを判定しない構成、すなわち、判定部73を含まない構成であってもよい。この場合、後述する模擬周期のリストのみをUI提供部70によって選択可能にUI画面に表示することにより、通信量上限を超えないロギング周期のみを設定可能にすることができる。
模擬部77は、ロギング周期を模した模擬周期を算出部72に入力して、仮想通信量を得ることにより、想定通信量が通信量上限を超えないようなロギング周期をシミュレーションによって導出するものである。模擬部77は、仮想通信量が通信量上限以下となった模擬周期を、すべて推奨周期として出力してもよい。あるいは、模擬部77は、仮想通信量が通信量上限以下となった模擬周期のうち、最も周期が短い模擬周期だけを推奨周期として出力してもよい。あるいは、模擬部77は、仮想通信量が通信量上限以下となった模擬周期のうち、周期が短いものから所定個の模擬周期を推奨周期として出力してもよい。
模擬部77によって出力された模擬周期のリストは、UI提供部70によって、選択可能にUI画面において反映される。これにより、OT技術者は、通信量上限を超えないようなロギング周期を容易に設定することが可能となる。
登録部74は、装置登録画面を介して設定端末3から入力された入力情報に基づいて、装置情報を生成し、装置登録DB82に登録するものである。装置情報および装置登録DB82のデータ構造については、後に詳述する。
入力情報には、ゲートウェイ装置1を一意に識別する装置IDと、顧客200において定義された管理タイプを識別する管理タイプ名と、該ゲートウェイ装置1の取り付け場所を示す設置場所とが含まれる。登録部74は、装置IDに基づいて、顧客200を特定し、上述の入力情報と、顧客IDとを紐付けた装置情報を生成し、装置登録DB82に登録する。
なお、管理サーバ6は、記憶部61において不図示の販売リストを保持する。販売リストには、少なくとも、販売したゲートウェイ装置1の装置IDと、これを購入した顧客の顧客IDとが紐付けて格納されている。そのため、登録部74は、装置IDに基づいて、該当するゲートウェイ装置1を所有している顧客を特定することができる。
制御部60の各ブロックは、装置登録DB82を参照することにより、装置IDに基づいて、どの顧客の、どの設置場所に設置されている、どの管理タイプが適用されたゲートウェイ装置1かを特定できるようになる。
供給部75は、通信が確立したゲートウェイ装置1に対して、該ゲートウェイ装置1に適用するべき管理タイプ定義テーブルを供給するものである。本実施形態では、専用通信回線網7および通信部62を介して、ゲートウェイ装置1から、装置IDを含む、管理タイプ定義テーブルを要求するリクエストが送信される。供給部75は、このリクエストに応答して、要求元のゲートウェイ装置1に適用する管理タイプ定義テーブルを管理タイプDB81から読み出し、該ゲートウェイ装置1に供給する。供給部75は、装置登録DB82を参照することにより、装置IDに基づいて、ゲートウェイ装置1を所有する顧客の顧客IDと、該ゲートウェイ装置1に適用するべき管理タイプの管理タイプ名とを特定することができる。供給部75は、特定した顧客IDおよび管理タイプ名が紐付けられた管理タイプ定義テーブルを管理タイプDB81から抽出することができる。
供給部75から管理タイプ定義テーブルを受信したゲートウェイ装置1は初期設定を完了し、通常稼動に移ることができる。
ログ管理部76は、初期設定が完了して通常稼動しているゲートウェイ装置1から、手記的に送信されるログ情報を受信して、ログDB83に集積するものである。ログDB83のデータ構造については、後に詳述する。
管理サーバ6は、ログDB83に集積された製造設備に係る集積データを、例えば、顧客200の設定端末3からの要求に応じて、広域通信網8などを介して設定端末3に提供することができる。管理サーバ6は、集積データに対して必要な分析を行い、その分析結果を設定端末3に送信してもよい。OT技術者は、設定端末3に表示された集積データまたは分析結果から得た知見を、製造設備のメンテナンスおよびトラブル時の対応等のために役立てることができる。
〔契約締結後の準備フェーズ〕
顧客200とサービスプロバイダ300との間で契約が締結され、ゲートウェイ装置1が顧客200に納品されることが決まると、データ収集システム100において、ゲートウェイ装置1を顧客200の製造設備に取り付ける前の準備フェーズが開始される。
準備フェーズでは、OT技術者は、設定端末3を操作して、ゲートウェイ装置1に適用する管理タイプを定義する作業、および、定常ロギングを設定する作業を行う。データ収集システム100は、例えば以下のようにして、OT技術者の上述の各作業を支援する。
図7は、準備フェーズにおいて、データ収集システム100の各装置が実行する処理の流れを示すフローチャートである。図8は、準備フェーズにおいて、上述の表示装置に表示される管理タイプ定義画面の一例を示す図である。図9は、準備フェーズにおいて設定端末3の表示装置に表示される定常ロギング設定画面の一例を示す図である。図10は、管理タイプ定義テーブル41および管理タイプDB81のデータ構造を示す図である。
図7に示す一連の処理は、顧客200の設定端末3が、広域通信網8を介して管理サーバ6にアクセスすることにより開始される。例えば、顧客200は、サービスプロバイダ300からURL(Uniform Resource Locator)、顧客IDおよびパスワードなどの通知を事前に受けることが想定される。OT技術者は、URLにアクセスして、顧客IDとパスワードとを入力することにより、顧客200専用のUI画面を設定端末3に表示させることが想定される。
ステップS101では、設定端末3は、管理サーバ6のUI提供部70から提供された管理タイプ定義画面を表示装置に表示させる。例えば、図8に示すとおり、管理タイプ定義画面400は、プラン入力領域401、上限表示領域402、タイプ入力領域403、型式入力領域404、日数入力領域405、時間入力領域406、定義リスト407、装置表示領域408、および、進行ボタン409の各UI部品で構成される。
ステップS102では、設定端末3は、管理タイプ定義画面400を介して受け付けた第1入力情報を、管理サーバ6へ送信する。第1入力情報は、例えば、以下のようにしてOT技術者によって入力される。OT技術者は、プラン入力領域401のドロップダウンリストから契約で定められた料金プランを選択する。OT技術者は、タイプ入力領域403に、定義したい管理タイプを識別するための管理タイプ名をテキストで入力する。OT技術者は、型式入力領域404のドロップダウンリストから、製造設備に導入しているPLC2の型式(PLC特定情報)を選択する。OT技術者は、日数入力領域405に、監視対象の製造設備について1ヶ月あたりの稼動日数を数字で入力する。OT技術者は、時間入力領域406に、上述の製造設備について1日あたり稼動時間を数字で入力する。
UI提供部70は、型式入力領域404においてPLCの型式が選択された後、定義リスト407のレジスタ名のカラムに、選択されたPLC2の仕様に合ったレジスタ名を反映させる。OT技術者は、定義リスト407の計測項目のカラムに、レジスタごとの計測項目をテキストで入力する。該カラムに入力されるテキストによって、OT技術者が、何の値を示す計測値であるのかを識別可能になればよいので、該カラムには、計測項目に代えて、FA機器4またはセンサ5の名称またはIDを入力してもよい。OT技術者は、データ長のカラムに、レジスタに格納される計測値それぞれのデータ長を数字で入力する。
なお、UI提供部70は、タイプ入力領域403にドロップダウンリストを設けて、すでに登録されている管理タイプの管理タイプ名が選択肢として表示されるようにタイプ入力領域403を構成してもよい。
タイプ入力領域403が入力された後、その入力された定義済みの該管理タイプが適用されたゲートウェイ装置1が登録済みである場合には、UI提供部70は、その登録済みのゲートウェイ装置1の装置IDを、装置表示領域408に反映させてもよい。
設定端末3は、管理タイプ定義画面400を介して受け付けた、料金プラン、管理タイプ名、PLC型式、稼動日数、稼動時間、および、レジスタごとの計測項目ならびにデータ長を、第1入力情報として、管理サーバ6に送信する。
ステップS103では、管理サーバ6の生成部71は、第1入力情報に基づいて、管理タイプ定義テーブルを生成する。例えば、図10に示すデータ構造を有する管理タイプ定義テーブル41を生成する。管理タイプ定義テーブル41は、管理タイプ名、PLC型式、レジスタ名、計測項目、データ長、ロギング周期、稼動日数/月、および、稼動時間/日の各項目を有する。生成部71は、管理タイプ名の項目に、タイプ入力領域403に入力された管理タイプ名を格納する。生成部71は、PLC型式の項目に、型式入力領域404で選択されたPLC2の型式を格納する。生成部71は、レジスタ名の項目に、定義リスト407のレジスタ名のカラムに反映されている各レジスタ名を格納する。生成部71は、計測項目の項目に、定義リスト407の計測項目のカラムに入力された各計測項目を格納する。生成部71は、データ長の項目に、定義リスト407のデータ長のカラムに入力された各データ長を格納する。ロギング周期の項目には、後述する定常ロギング設定画面を介して入力された第2入力情報に基づく値が格納される。そのため、現時点では、該項目には値は格納されない。生成部71は、稼動日数/月の項目に、日数入力領域405に入力された稼動日数を格納する。生成部71は、稼動時間/日の項目に、時間入力領域406に入力された稼動時間を格納する。生成部71は、以上のようにして生成した管理タイプ定義テーブル41を出力する。出力された管理タイプ定義テーブル41は、例えば、不図示の一時記憶部などに保存されてもよい。
ステップS104では、算出部72は、プラン入力領域401において選択された料金プランに基づいて、1ヶ月の通信量上限を算出する。UI提供部70は、設定端末3に対して算出部72が算出した通信量上限をフィードバックする。具体的には、管理タイプ定義画面400の上限表示領域402に、上述の通信量上限(例えば、10GB)を反映させる。
ステップS105では、設定端末3は、上限表示領域402に通信量上限を反映させた管理タイプ定義画面400を表示する。
ステップS106では、設定端末3は、第1入力情報に係る上述のUI部品のいずれかがOT技術者によって新たに操作されたか否かを判定する。操作されたと判定した場合、設定端末3は、S106のYESからS102に戻り、新たな操作に基づく新たな第1入力情報を管理サーバ6に送信する。上述のような新たな操作が検知されなければ、設定端末3は、S106のNOからS107に進む。
ステップS107では、設定端末3は、定常ロギング設定画面に進むことを指示するための進行ボタン409が、上述のような新たな操作がなされることなく押下されたのかどうかを判定する。進行ボタン409が押下されないうちは、設定端末3は、S107のNOからS106に戻り、新たな操作の待機状態を維持する。進行ボタン409が押下されると、設定端末3は、S107のYESからS108に進む。
ステップS108では、設定端末3は、管理サーバ6のUI提供部70から提供された定常ロギング設定画面を表示装置に表示させる。具体的には、設定端末3は、進行ボタン409が押下されたことに応じて、定常ロギング設定画面のリクエストを管理サーバ6に送信する。管理サーバ6のUI提供部70は、リクエストに応答して、定常ロギング設定画面を設定端末3に提供する。これにより、設定端末3は、定常ロギング設定画面を表示装置に表示させることができる。
例えば、図9に示すとおり、定常ロギング設定画面420は、タイプ表示領域421、型式表示領域422、上限表示領域423、想定表示領域424、装置表示領域408、選択リスト425、合計表示領域426、周期入力領域427、判定表示領域428、確定ボタン429、および、戻るボタン430の各UI部品で構成される。
UI提供部70は、S108までに既出の各種の情報を、定常ロギング設定画面420に反映させてもよい。例えば、UI提供部70は、タイプ表示領域421、型式表示領域422、上限表示領域423、および、装置表示領域408に、既出の情報を反映させることができる。また、UI提供部70は、選択リスト425のレジスタ名、計測項目、および、データ長の各カラムにも、既出の情報を反映させることができる。
ステップS109では、設定端末3は、定常ロギング設定画面420を介して受け付けた第2入力情報を、管理サーバ6へ送信する。第2入力情報は、例えば、以下のようにしてOT技術者によって入力される。
選択リスト425のロギング対象のカラムにおいて、レジスタごとに、ロギング対象としての採否を選択可能なトグルボタンが設けられる。OT技術者は、トグルボタンを操作して、ロギング対象とする計測項目を選択する。図示の例では、ロギング対象として選択されている計測項目は、トグルボタンにチェックが入っている状態で示されている。OT技術者は、トグルボタンのオンオフ操作をして、ロギングが必要な計測項目を選択する。
UI提供部70は、選択リスト425のロギング対象のカラムが操作された後、選択リスト425のデータ量/回のカラムに、アップデート1回あたりに必要な通信量を計測項目ごとに反映させる。UI提供部70は、ロギング対象として選択されている、すなわち、トグルボタンがオン状態の計測項目については、予め入力されたデータ長をそのまま反映させる。UI提供部70は、ロギング対象として選択されていない、すなわち、トグルボタンがオフ状態の計測項目については、アップデートしないので、ゼロの値を反映させる。
続いて、UI提供部70は、ロギング対象のカラムのオンオフが反映されたアップデート1回あたりの総データ量を合計表示領域426に反映させる。総データ量は、データ量/回のカラムに反映されたデータ量の合計値である。
続いて、OT技術者は、周期入力領域427に、上述の計測値を管理サーバ6にアップロードする周期(ロギング情報)を数字で入力する。UI提供部70は、周期入力領域427に、模擬部77から取得した推奨周期で構成されたドロップダウンリストを設けてもよい。これにより、OT技術者は、選択リスト425で選択した各計測値をアップロードするためのロギング周期について、1ヶ月の通信量が通信量上限を超えないようなロギング周期を容易に設定することが可能となる。
以上のように、設定端末3は、定常ロギング設定画面420を介して受け付けた、ロギング対象として選択された計測項目と、選択された計測項目の計測値をアップロードするロギング周期とを、第2入力情報として、管理サーバ6に送信する。
ステップS110では、生成部71は、S103で生成した管理タイプ定義テーブル41のロギング周期の項目に、第2入力情報に基づく値を追加する。図9に示す例では、ロギング対象として選択された計測項目は、電流、電圧、および、温度であり、ロギング周期は、5分と設定されている。したがって、図10に示す例では、生成部71は、管理タイプ定義テーブル41の電流、電圧、および、温度の行について、ロギング周期の項目に、「5分」を示す値を格納する。生成部71は、選択されなかった油圧およびトルクの行について、適用されるロギング周期がないことを示す値を格納する。
ステップS111では、算出部72は、1ヶ月の想定通信量を算出する。算出部72は、既に述べたとおり、S110にて完成した管理タイプ定義テーブル41に含まれている、想定材料情報を用いて想定通信量を算出する。
ここで、UI提供部70は、算出部72によって算出された想定通信量を、設定端末3にフィードバックしてもよい。これにより、定常ロギング設定画面420の想定表示領域424に、S111で算出された想定通信量が表示される。
ステップS112では、判定部73は、S104で算出された通信量上限とS111で算出された想定通信量とを比較し、想定通信量が通信量上限を超えるか否かを判定する。想定通信量が通信量上限を超える場合、判定部73は、S112のYESからS113に進む。想定通信量が通信量上限以下である場合、判定部73は、S112のNOからS114に進む。
ステップS113では、判定部73は、「上限超過」を示す判定結果を出力する。UI提供部70は、該判定結果を、判定表示領域428に反映させる。
ステップS114では、判定部73は、「上限内」を示す判定結果を出力する。UI提供部70は、該判定結果を、判定表示領域428に反映させる。
UI提供部70は、判定表示領域428の表示態様を、「上限超過」か「上限内」かで異ならせてもよい。例えば、UI提供部70は、「上限超過」の判定結果が、「上限内」の判定結果よりも目立つように判定表示領域428を構成してもよい。
ステップS115では、設定端末3は、UI提供部70にしたがって、上述の判定結果が反映された定常ロギング設定画面420を表示装置に表示させる。これにより、OT技術者は、自身が設定した内容で、1ヶ月の通信量が、通信量上限を超える見込みであるのかどうかを事前に判断することができる。このように、上述の方法によれば、OT技術者に、設定した内容が妥当であるのかどうかを再検討するための判断材料と機会とを与えることができる。
ステップS116では、設定端末3は、第2入力情報に係る上述のUI部品のいずれかがOT技術者によって新たに操作されたか否かを判定する。例えば、OT技術者は、周期入力領域427のドロップダウンリストから、通信量上限を超えないようにする推奨周期を改めて選択することができる。
選択リスト425または周期入力領域427が操作されたと判定した場合、設定端末3は、S116のYESからS109に戻り、新たな操作に基づく新たな第2入力情報を管理サーバ6に送信する。この場合、新たな第2入力情報に基づく新たな判定結果が判定表示領域428に反映される。上述のような新たな操作が検知されなければ、設定端末3は、S116のNOからS117に進む。以上のように、上述の方法によれば、通信量上限を超えないような定常ロギング設定を行うよう、OT技術者を誘導することができる。
ステップS117では、設定端末3は、第1入力情報および第2入力情報を確定させることを指示するための確定ボタン429が、上述のような操作がなされることなく押下されたのかどうかを判定する。確定ボタン429が押下されないうちは、設定端末3は、S117のNOからS116に戻り、新たな操作の待機状態を維持する。確定ボタン429が押下されると、設定端末3は、S117のYESからS118に進む。
なお、図示していないが、ここで、管理タイプ定義画面400に戻ることを指示する戻るボタン430が押下されてもよい。この場合には、設定端末3は、S106に戻って、表示装置の表示を管理タイプ定義画面400に戻し、第1入力情報に係る新たな操作の待機状態を維持する。ここでは、UI提供部70は、定義リスト407のロギング周期のカラムにおいて、管理タイプ定義テーブル41に示されている計測項目ごとのロギング周期を反映させることができる。
ステップS118では、設定端末3は、第1入力情報および第2入力情報を確定させるように、リクエストを管理サーバ6に送信する。
ステップS119では、生成部71は、リクエストに応答して、ロギング周期が追加されて完成した管理タイプ定義テーブル41を管理タイプDB81に登録する。このとき、生成部71は、管理タイプ定義テーブル41を顧客IDと紐付けて管理タイプDB81に登録する。
〔納品後の登録フェーズ〕
ゲートウェイ装置1が顧客200に納品されると、上述の準備フェーズが完了した後、データ収集システム100において、ゲートウェイ装置1と管理タイプとを対応付けるための、ゲートウェイ装置1の登録フェーズが開始される。
登録フェーズでは、OT技術者は、個々のゲートウェイ装置1をどの製造ラインのどの工程に設置されているPLC2に取り付けるのかを設計する。そして、OT技術者は、設計内容にしたがって、設定端末3を操作して、個々のゲートウェイ装置1に管理タイプを紐付けるという装置の登録作業を行う。データ収集システム100は、例えば以下のようにして、OT技術者の登録作業を支援する。
図11は、登録フェーズにおいて、設定端末3の表示装置に表示される装置登録画面の一例を示す図である。図12は、装置登録DB82のデータ構造を示す図である。
OT技術者は、設定端末3を使って管理サーバ6にアクセスし、ゲートウェイ装置1の登録作業を行うための装置登録画面を設定端末3に表示させる。管理サーバ6のUI提供部70は、設定端末3からリクエストに応答して、例えば、図11に示す装置登録画面440を設定端末3に提供する。
装置登録画面440は、一例として、ID入力領域441、タイプ入力領域442、場所入力領域443、登録ボタン444、装置リスト445、および、完了ボタン446の各UI部品を含んで構成される。
OT技術者は、装置登録画面440を用いて、納品されたゲートウェイ装置1の登録作業を行う。まず、OT技術者は、1台のゲートウェイ装置1の装置IDを、ID入力領域441に入力する。OT技術者は、手動で装置IDを入力してもよいし、設定端末3の適宜の情報読取手段を用いて設定端末3に装置IDを読み取らせてもよい。例えば、情報読取手段としては、Bluetooth(登録商標)、赤外線またはRFIDタグなどの近距離無線通信手段、もしくは、バーコードリーダ、2次元コードリーダまたは文字認識手段、などの光学的読取手段などが想定される。
OT技術者は、タイプ入力領域442のドロップダウンリストに示される、先の準備フェーズにて定義済みの管理タイプの中から、上述のゲートウェイ装置1に適用する管理タイプを選択する。
OT技術者は、場所入力領域443のドロップダウンリストから、上述のゲートウェイ装置1を取り付ける製造ラインを選択する。なお、顧客200の製造ラインの一覧は、事前に管理サーバ6に登録されているものとする。UI提供部70は、事前に登録された情報に基づいて、場所入力領域443のドロップダウンリストを構成することができる。
OT技術者は、ID入力領域441、タイプ入力領域442および場所入力領域443の入力が完了すると、登録ボタン444を押下する。この操作を受け付けた設定端末3は、装置ID、管理タイプ名、および、設置場所(ここでは、工場名と製造ライン名との組み合わせ)を含む第3入力情報を、管理サーバ6に送信する。
管理サーバ6の登録部74は、第3入力情報に基づいて、装置情報を生成し、生成した装置情報を装置登録DB82に登録する。具体的には、登録部74は、不図示の販売リストから、第3入力情報に含まれている装置IDに対応する顧客IDを読み出す。登録部74は、上述の装置IDに、読み出した顧客IDと、第3入力情報に含まれている管理タイプ名および設置場所とを紐付けた装置情報を生成し、装置登録DB82に登録する。図12に示すとおり、装置登録DB82は、複数の装置情報を集積して構成される。
登録部74が1台のゲートウェイ装置1の登録を完了すると、UI提供部70は、装置登録DB82の更新内容を、装置登録画面440に反映させてもよい。例えば、UI提供部70は、装置登録画面440に設けられている装置リスト445に、新たに登録されたゲートウェイ装置1のレコードを追加してもよい。図11に示す例は、装置ID「GW0001」から「GW003」までの3台のゲートウェイ装置1の管理サーバ6への登録が完了しており、これから4台目のゲートウェイ装置1が登録されてようとしている状態を示している。
OT技術者は、すべてのゲートウェイ装置1について登録作業を済ませると完了ボタン446を押下する。設定端末3は、完了ボタン446が押下されたことに伴って登録作業の完了を管理サーバ6に対して通知してもよい。登録部74は、完了の通知を受信すると、装置登録DB82に登録した内容を最終的に確定させる。
これにより、供給部75は、図12に示す装置登録DB82を参照して、装置IDに基づき、ゲートウェイ装置1を所有する顧客と、該ゲートウェイ装置1に適用されている管理タイプと、該ゲートウェイ装置1が取り付けられている設置場所とを特定できる。
〔取り付け直後の初期設定フェーズ〕
OT技術者によって、納品された各ゲートウェイ装置1の登録作業が完了し、各ゲートウェイ装置1が各PLC2と結線されると、ゲートウェイ装置1の初期設定フェーズが開始される。
初期設定フェーズでは、OT技術者は、ゲートウェイ装置1をPLC2と1対1になるように取り付ける作業を行って電源を入れるだけでよい。ゲートウェイ装置1は、OT技術者の手を煩わせることなく自動で初期設定を済ませて、通常の稼動、つまり、定常ロギングの動作を開始することができる。
図13は、初期設定フェーズにおいて、データ収集システム100の各装置が実行する処理の流れを示すフローチャートである。図13に示す一連の処理は、ステップHS1にて、OT技術者が、ゲートウェイ装置1を収容ボックス2Aに取り付け、PLC2に有線接続し、ゲートウェイ装置1およびPLC2の電源を投入したことにより開始される。
ステップS201では、ゲートウェイ装置1の制御部21は、初めて電源が入れられたか否かを判定する。初めて電源が入れられた場合、制御部21は、S201のYESからS202に進む。電源が入れられたのが初めてでない場合、制御部21は、S201のNOからS209に進み、PLC2との通信を確立して定常ロギングを実行する。
ステップS202では、制御部21の定義取得部31は、自装置に適用される管理タイプ定義テーブルを要求するリクエストを、管理サーバ6に送信する。具体的には、定義取得部31は、アンテナ部10および専用通信回線網7を介して管理サーバ6との通信を確立し、自装置の装置IDを含むリクエストを管理サーバ6に送信する。
ステップS203では、管理サーバ6の供給部75は、ゲートウェイ装置1から装置IDを含むリクエストを受信する。
ステップS204では、供給部75は、図12に示す装置登録DB82を参照し、受信した装置IDに基づいて、要求元のゲートウェイ装置1の所有者である顧客と、該ゲートウェイ装置1に適用すべき管理タイプとを特定する。すなわち、装置登録DB82において、上述の装置IDに紐付けられた顧客IDと管理タイプ名とを抽出する。
ステップS205では、供給部75は、図10に示す管理タイプDB81から、S204で抽出した顧客IDおよび管理タイプ名に紐付けられた管理タイプ定義テーブル41を読み出し、要求元のゲートウェイ装置1に供給する。
ステップS206では、ゲートウェイ装置1の定義取得部31は、供給部75から送信された管理タイプ定義テーブル41を受信し、記憶部22に保存する。
ステップS207では、初期設定部32は、保存された管理タイプ定義テーブル41を参照し、管理タイプ定義テーブル41に含まれているPLC型式の項目に基づいて、自装置の接続相手であるPLC2の型式を特定する。
ステップS208では、初期設定部32は、特定したPLCの型式に対応するドライバ情報42(通信プログラム)を選択し、これを有効化する。記憶部22には、ゲートウェイ装置1が複数の型式のPLCに対応できるように複数のドライバ情報42があらかじめ格納されている。初期設定部32は、自装置の接続相手であるPLC2に適合するドライバ情報42を1つ選択してこれを有効化するだけでよい。これにより、制御部21は、通信I/F24を介して、接続相手であるPLC2が採用している通信プロトコルに準拠した通信が行えるようになる。なお、初期設定部32は、ここで、管理サーバ6と通信し、PLC2に適合するドライバ情報を管理サーバ6からダウンロードしてもよい。
ステップS209では、計測値取得部33は、有効化されたドライバ情報42に基づいて、PLC2との通信を確立する。これ以降、計測値取得部33は、管理タイプ定義テーブル41において定義された、PLC2の各レジスタに格納されている値を、所定間隔で取得してリングバッファ43に記憶する動作を実行することができる。
〔定常ロギングフェーズ〕
PLC2に接続されたゲートウェイ装置1が初期設定を完了させると、ゲートウェイ装置1の定常ロギングフェーズが開始される。定常ロギングフェーズでは、ゲートウェイ装置1は、管理タイプ定義テーブル41にしたがって、PLC2から1以上の計測値を取得する一方、取得した計測値を、管理サーバ6にアップロードする。
図14は、定常ロギングフェーズにおいて、データ収集システム100の各装置が実行する処理の流れを示すフローチャートである。図15は、ログ情報のデータ構造を示す図である。図16は、ログDB83のデータ構造を示す図である。
図14に示す一連の処理は、上述の初期設定フェーズ以降、ゲートウェイ装置1およびPLC2の電源が入っている間、繰り返し実行される。
ステップS301では、ゲートウェイ装置1およびPLC2の電源が入ると、制御部21が通信I/F24を介してPLC2との通信を確立する。ここで、ログ送信部34は、管理タイプ定義テーブル41において定義されているロギング周期にしたがって、ログ情報のアップロードタイミングの監視を開始する。
ステップS302では、計測値取得部33は、管理タイプ定義テーブル41において定義されている各レジスタから計測値をそれぞれ取得する。
ステップS303では、計測値取得部33は、取得した各計測値をリングバッファ43に保存する。
ステップS304では、ログ送信部34は、ログ情報のアップロードタイミングが到来したか否かを判定する。アップロードタイミングが到来しない間は、計測値取得部33は、S304のNOからS302に戻り、S302およびS303の処理を繰り返す。この繰り返しの間隔は、例えば、上述のロギング周期よりも短い。アップロードタイミングが到来した場合、ログ送信部34は、S304のYESからS305に進む。
ステップS305では、ログ送信部34は、アップロードタイミングにおいて、リングバッファ43から最新の各計測値を読み出し、これらの計測値を含むログ情報を生成し、管理サーバ6にアップロードする。
具体的には、ログ送信部34は、管理タイプ定義テーブル41において、ロギング対象として指定されている計測項目の計測値をリングバッファ43から読み出す。図10に示す例では、管理タイプ定義テーブル41において、レジスタ1の電流、レジスタ2の電圧、および、レジスタ5の温度、の3つの計測項目が、ロギング対象として指定されている。ロギング対象は、一例として、ロギング周期の項目が「なし」ではなく所定周期(例えば、「5分」)と指定されていることで判別される。
ログ送信部34は、リングバッファ43に保存されている計測値のうち、アップロードタイミングにおいて最新の計測値をリングバッファ43から読み出す。一例として、ログ送信部34は、レジスタ1の電流の計測値「A1」と、レジスタ2の電圧の計測値「V1」と、レジスタ5の温度の計測値「T1」とをリングバッファ43から読み出す。
ログ送信部34は、図15に示すログ情報を生成する。図15に示すとおり、ログ情報は、読み出したレジスタごとの計測値を含む。ログ送信部34は、各計測値に、レジスタ名および計測項目の少なくとも1つを紐付けておくことが好ましい。さらに、ログ送信部34は、リングバッファ43から読み出した時刻またはアップロードする時刻を示す時刻情報と、自装置の装置IDとをログ情報に含めることが好ましい。ログ送信部34は、こうして生成した図15に示すログ情報を、専用通信回線網7を介して、管理サーバ6にアップロードする。
ステップS306では、管理サーバ6のログ管理部76は、ゲートウェイ装置1からログ情報を受信する。
ステップS307では、ログ管理部76は、図12に示す装置登録DB82を参照し、ログ情報に含まれている装置IDに基づいて、このログ情報を取得された顧客と設置場所(工場および製造ライン)とを特定する。ログ管理部76は、さらに、管理タイプを特定することができる。管理タイプを特定することで、さらに、製造ラインのどの工程のログ情報であるのかまで特定することができる。
ステップS308では、ログ管理部76は、ログ情報を図16に示すログDB83に登録する。例えば、ログ管理部76は、図16に示すように、図15に示すログ情報に、S307で特定した顧客ID、設置場所、管理タイプ名を紐付けて、ログDB83に登録する。ログ管理部76は、ログ情報内の時刻情報に基づいて、各ログ情報を時系列で登録しておく。また、ログ管理部76は、登録時に、レジスタ名に1対1で対応する計測項目のカラムを追加してもよい。
このようにして、ログ情報が、ログDB83に登録され、集積されることにより、制御部60は、顧客200の設定端末3から要求に応じて、時系列に整頓されたログ情報群を分かり易く提供することができる。
〔変形例〕
上述した実施形態では、管理サーバ6において、ゲートウェイ装置1の管理タイプ定義テーブルを生成して、ゲートウェイ装置1へ供給するとともに、ゲートウェイ装置1がPLC2からのデータを受信していた。本発明は、これに限られるものではなく、ゲートウェイ装置1の管理タイプ定義テーブルの生成およびゲートウェイ装置1への供給と、ゲートウェイ装置1がPLC2から取得したデータの受信および記憶とを、異なるサーバで行ってもよい。すなわち、サーバAが、ゲートウェイ装置1の管理タイプ定義テーブルを生成して、ゲートウェイ装置1へ供給する等の、ゲートウェイ装置1の設定に関する処理を行い、サーバAとは異なるサーバBが、ゲートウェイ装置1がPLC2から取得したデータを、ゲートウェイ装置1から受信してもよい。
以上のように、本実施形態に係るデータ収集システム100では、サービスプロバイダ300が、ゲートウェイ装置1本体、固有の識別番号が付与され、通信を行うためのSIMであって取得データの送信元の特定に利用できるSIM、通信回線を利用するためのブロバイダ契約、管理サーバ6、ダッシュボードを提供する設定端末3、設定端末3を利用した設定ツール等のユーザがIoT化することに必要なサービスを全て提供することが可能である。これにより、サービスプロバイダ300は、データ収集システム100全体を網羅することができ、これにより、ゲートウェイ装置1と管理サーバ6との通信量を最小限に抑制しつつ、必要なデータを取得、管理できるシステムを提供することができる。
〔ソフトウェアによる実現例〕
ゲートウェイ装置1の制御ブロック(特に、定義取得部31、初期設定部32、計測値取得部33、および、ログ送信部34)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
管理サーバ6の制御ブロック(特に、UI提供部70、生成部71、算出部72、判定部73、登録部74、供給部75、ログ管理部76、および、模擬部77)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
後者の場合、ゲートウェイ装置1および管理サーバ6のそれぞれは、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば少なくとも1つのプロセッサ(制御装置)を備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な少なくとも1つの記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。