(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-02
(45)【発行日】2024-08-13
(54)【発明の名称】数値データに対する識別子を用いた数値管理システム
(51)【国際特許分類】
G06F 16/28 20190101AFI20240805BHJP
【FI】
G06F16/28
(21)【出願番号】P 2023553149
(86)(22)【出願日】2023-03-16
(86)【国際出願番号】 JP2023010235
(87)【国際公開番号】W WO2023176916
(87)【国際公開日】2023-09-21
【審査請求日】2023-08-31
(31)【優先権主張番号】P 2022041086
(32)【優先日】2022-03-16
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】300023899
【氏名又は名称】株式会社ラプラス・システム
(74)【代理人】
【識別番号】110002295
【氏名又は名称】弁理士法人M&Partners
(72)【発明者】
【氏名】堀井 雅行
【審査官】早川 学
(56)【参考文献】
【文献】特開2008-146119(JP,A)
【文献】特開2017-167889(JP,A)
【文献】特開2013-152557(JP,A)
【文献】国際公開第2020/065925(WO,A1)
【文献】特開2008-217612(JP,A)
【文献】特開2018-157708(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
タイムスタンプと関連づけられた複数の数値列で構成された数値データが記録されたデータベースサーバー上に構築されるデータベースと、
前記データベースと物理的又は論理的に分離したID管理サーバーに記録されたデータ識別IDであって、前記数値データを構成する数値の属性を一意に特定するデータ識別IDと、ミドルウェアと、前記ミドルウェアを介して前記データベースに対して前記数値データを要求するアプリケーションと、
によって構成される一対の論理的なデータ構造を用いた数値管理システムであって、
前記データ識別IDは、
前記数値データの単位を規定する少なくとも2バイトの文字列からなる単位IDと、
前記数値データの種別を規定する少なくとも2バイトの種別IDを定義した上で前記種別IDを一意に特定するための少なくとも2バイトの整数値からなる項目番号と前記種別IDとで構成される少なくとも4バイトの項目IDと、
を含み、
前記単位IDは、名称及び単位文字列と関連付けられており、
前記種別IDは、少なくとも各種別IDに対応する文字列と、前記単位IDとを含み、
前記ミドルウェアを介して前記データ識別IDを前記ID管理サーバーに送信すると共に前記タイムスタンプ及び前記タイムスタンプに対応する前記数値データを前記データベースサーバーに送信することにより前記データ構造が構築され、
前記数値データは、計測機器により取得された計測値データと前記計測値データに基づき計算された計算値データとを含むと共に、
前記数値データを構成する前記計測値データ及び前記計算値データにはいずれも前記データ識別IDが付与され、
前記アプリケーションが前記ミドルウェアに前記データ識別IDを付与して前記数値データを要求することにより、前記アプリケーションが前記ミドルウェアを介して前記データベースから前記数値データに含まれる前記計測値データ及び/又は前記計算値データを取得することを特徴とする、数値管理システム。
【請求項2】
前記ミドルウェアは、前記数値データを取得する計測
端末内で実行されることを特徴とする、請求項1記載の数値管理システム。
【請求項3】
前記ミドルウェアは、前記計測
端末とは物理的又は論理的に独立したミドルウェアサーバーにおいて実行されることを特徴とする、請求項
2記載の数値管理システム。
【請求項4】
前記ミドルウェアがウェブサーバー上で実行され、WebAPIを利用して前記ウェブサーバーのURLに対してデータ識別IDを含む付加情報を付与された読出要求を受け取ることにより、対象となる前記ウェブサーバーから必要な情報を返すことを特徴とする請求項1記載の数値管理システム。
【請求項5】
パワーコンディショナと前記パワーコンディショナに接続される機器とを含む発電システムに適用され、
前記データ識別IDを用いることにより、
前記パワーコンディショナの通信プロトコルに依存することなく前記数値データの物理的意味を特定することを特徴とする、請求項1乃至請求項4のいずれか1項記載の数値管理システム。
【請求項6】
前記数値データは、複数の前記発電システムに設置された前記機器から取得した計測データを含むことを特徴とする請求項5記載の数値管理システム。
【請求項7】
前記数値列の1つは前記複数の発電システムのうち特に日射計を有する前記発電システムが取得した日射量を表すデータであり、前記データ識別IDを用いて、前記発電システム外の発電システムにおける発電量の予測及び/又は前記発電システム外の発電システムの保守に前記日射量を表すデータを活用することを特徴とする請求項6記載の数値管理システム。
【請求項8】
前記アプリケーションを実行するアプリケーション・サーバーが、前記数値データに基づいて、前記発電システム内の機器の異常、故障又は経年劣化を検知する請求項7記載の数値管理システム。
【請求項9】
前記アプリケーションを実行するアプリケーション・サーバーが、前記複数の発電システム内で取得した前記数値データのうち特定のデータを要求しその合算値を取得する請求項7記載の数値管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数値データに対する識別子を含むデータ構造及び当該データ構造を用いた数値管理システムに関する。
【背景技術】
【0002】
計測機器から取得された数値データなど、デジタル化されたあらゆる数値データは、データ表(計測の場合はチャンネル表とよぶ)を用いて数値データに意味づけが行われる。例えば、
図5(A)は、簡単なチャンネル表の一例である。この例では、チャンネル1が発電電力で単位はkW、チャンネル2は温度で単位は℃、チャンネル3は日射強度であり単位はkW/m
2であることを示している。
【0003】
複数の経路で通信する場合とは異なり、1つの経路を用いて複数種類の数値データをデータ通信装置によって送受信する場合、受信側では、送られてくるデータの値だけでなく、順番にも重要な意味がある。プロトコル仕様書は、受信側において、何番目に受け取ったデータが何を意味するかを示すテーブルであり、送信元で事前に設定される。
【0004】
特許文献1には、センサー信号をエンコードする際に、測定の単位や制度や誤差等の情報をメッセージヘッダを付加してセンサーからのデータを転送する方法が開示されている。特許文献2には、太陽光発電システム用無線通信の制御方法に関して、送信機と受信器との間に送られる通信データの一部に太陽光発電システムの識別情報を付加することで、積算発電量データなどを認識する方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2011-520309号公報
【文献】特開2006-277383号公報
【文献】特表2017-530671号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
デジタルデータに対するデータ表や通信データに対する通信プロトコルには、いずれも様々な種類が存在し、統一した規格は存在していないのが実情である。計測機器を例にとると、プロトコル仕様書に含まれるチャンネル表は計測機器ごとに異なっている。太陽光発電システムにおけるPCS(パワーコンディショナ)とPCSに接続される制御端末間の通信プロトコルも、各社各型式ごとに異なっている。
【0007】
例えば、
図5(B)は、あるPCSのチャンネル表の例を示している。チャンネル表には、チャンネル毎にデータが意味する物理量の内容(例えば入力電圧、入力電流)、データサイズ(4バイト、6バイト)、データフォーマット(小数点の位置等)、データ範囲、備考などが示される。このようなチャンネル表にはさらに詳細な注釈が設けられている。例えば、符号はセットするが小数点はセットしないこと、PCS停止時のデータNo.4[出力電圧(V)]は系統電圧とする、PCS自立運転時データNo.4[出力電圧(V)]は自立出力電圧とする(自立運転機能タイプのみ)、といった注釈である。
【0008】
しかも、このようなチャンネル表に記載される仕様は頻繁に更新される。そのため、計測機器の設置現場でのトラブルを防止するため、プロトコル仕様書は、常にバージョン管理を行う必要がある。
【0009】
さらに、計測端末のチャンネル番号は、それぞれの計測端末内部でしか一意ではない。仮に、1つの発電システム内に複数の計測端末がある場合、チャンネル番号に重複が生じうる。すなわち、この問題は、ローカル内でのみ使用され、かつ仕様が頻繁に更新されるプロトコル仕様書を用いることによって引き起こされている問題であり、長年にわたり抜本的な対応がとられていなかった本質的な問題であるといえる。
【0010】
本発明は、上記に鑑みてなされたものであり、ローカル内でのみ使用可能であったプロトコル仕様書を、グローバルで一意に使用可能にすることで、ローカル側にプロトコル仕様書がなくても、数値と数値データの意味をグローバルに特定することを可能にする、新規なデータ構造を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明に係るデータ構造は、
タイムスタンプと関連づけられた複数の数値を含む数値データが記録されたデータベースサーバー上に構築される論理的なデータベースと、
前記数値データを構成する数値の属性を一意に特定するデータ識別IDと、
によって構成される一対の論理的なデータ構造であって、
前記データ識別IDは、
前記数値データの単位を規定する少なくとも2バイトの文字列からなる単位IDと、
前記数値データの種別を規定する少なくとも2バイトの種別IDを定義した上で前記種別IDを一意に特定するための少なくとも2バイトの整数値からなる項目番号と前記種別IDとで構成される少なくとも4バイトの項目IDと、
を含み、
前記単位IDは、名称及び単位文字列と関連付けられており、
前記種別IDは、少なくとも各種別IDに対応する文字列と、前記単位IDとを含むことを特徴とする。
【0012】
上記構成において、前記単位IDは、単位の前につく接頭語がさらに関連付けられていてもよい。
【0013】
上記構成において、前記データ識別IDは、
前記データベースと物理的又は論理的に分離したID管理サーバーに記録されていると共に、
更新されたタイムスタンプと関連づけられた複数の数値の新規登録又は前記データベースに記録されている任意の数値の読み出しは、ミドルウェアを介して実施されることにより、
前記データ識別IDと、前記データ識別IDと関連付けられた前記複数の数値データに含まれるそれぞれの数値とが、常に一対のデータとして取り扱われるように構成されていてもよい。
【0014】
上記構成において、前記ミドルウェアは、前記数値データを取得する計測端末内で実行されてもよい。
【0015】
上記構成において、前記ミドルウェアは、前記計測端末とは物理的又は論理的に独立したミドルウェアサーバーにおいて実行されてもよい。
ここで、「ミドルウェアサーバー」とは、プログラムであるデータアクセスミドルウェア(以下、「ミドルウェア」という場合がある。)を実装するための他のサーバーとは物理的又は論理的に独立した構成のサーバーである。
【0016】
本発明に係る数値管理システムは、少なくとも、
前記ID管理サーバーと、前記データベースサーバーと、前記ID管理サーバーと前記データベースサーバーとの間に介在する前記ミドルウェアと、を含む、請求項3乃至5のいずれか1項記載のデータ構造を用いたことを特徴とする。
【0017】
上記構成において、前記ミドルウェアは、前記データベースに対する要求と返答を代理するように構成してもよい。
【発明の効果】
【0018】
本発明によれば、データの意味づけをするためのデータ表やプロトコル仕様書をローカル側で準備する必要がなくなることで、プロトコルのバージョン管理から解放され、現場での混乱がなくなるほか、データの一層活用を促すことに貢献する。
【図面の簡単な説明】
【0019】
【
図1】
図1は、第1の実施形態の発電システムの構成例を示す図である。
【
図2】
図2は、物理単位IDの一覧を例示する表である。
【
図3】
図3は、物理種別IDの一覧を例示する表である。
【
図4】
図4は、項目IDのフォーマットを示している。
【
図5】(A)簡単なチャンネル表の一例である。(B)あるPCSのチャンネル表の例を示している。
【
図6】(A)データアクセスミドルウェア102を配置せず、ユーザーが複数の遠隔監視サイト1~3を介して計測データサーバ4に直接アクセスする場合の構成図、(B)データアクセスミドルウェアを介して計測データサーバ4にアクセスする場合の構成図である。
【発明を実施するための形態】
【0020】
本発明の基本的な考え方は、同一のシステム内で扱われるあらゆるデータ(数値)或いはその数値に対して付随する単位等を一意に特定するための識別子(これを、本明細書では「データ識別ID」と定義する。)を割り当てたテーブル(データベース)を、計測データベースとは別に用意し、それによりデータ等を一元的に管理するというものである。以下、データ識別IDの詳細については各実施形態を通じて説明する。なお、物理量を表す数値は、それぞれの物理量の単位を伴うが、さらにm(ミリ)、μ(マイクロ)、p(ピコ)などの小数、k(キロ)、M(メガ)といった大数の単位接頭語を伴う。これらについても一意に特定される必要があるため、数値データの一種として扱い、本明細書では「データ等」という。
【0021】
(第1の実施形態)-物理量に適用されるデータ識別ID-
【0022】
第1の実施形態では、主に計測機器を通じて取得され、デジタル通信によってやりとりされる物理量に適用されるデータ識別ID(物理量データ識別ID)について説明する。
【0023】
[データ識別ID]
ここで、データ識別IDについてより詳細に説明する。
例えば、物理量についてのデータ識別ID(以下、「物理量データ識別ID」という。)は、a.物理単位IDとb.物理種別IDとで構成され、その両者を全てのソフトウェアがファイルとして持ち、必要に応じて参照する。物理単位IDと物理種別IDの一覧表はサーバー上に保存し、インターネット等の電気通信回線を通じていつでも参照したりダウンロードできるようにしておくことが好ましい。
【0024】
a.物理単位ID
図2は、物理単位IDの一覧を例示する表である。物理単位IDとは、物理単位を規定する値であり、全てのソフトウェアで共通である。項目として、ID、名称、単位文字列を持つ。同じ単位でも単位接頭語(m,k,G,M 等)毎に物理単位IDを持つ。例えば、電力を表す場合、200Wなのか200kWなのか、単位だけでなく接頭語も重要となる。物理単位IDの種類はそれほど多くないため、例えば2バイト(65536通り)で十分に表現可能である。
【0025】
b.物理種別ID
物理種別IDとは、日射量、気温、直流電力、パワーコンディショナ(PCS)出力電力などデータの物理的或いは役割的な種別を識別するための値であり、あらゆる物理量に対して物理種別IDを割り当てる。更に、指標、効率などの計算値も同様である。物理種別IDも2バイトで表現する。
【0026】
図3は、物理種別IDの一覧を例示する表である。太陽光発電という大分類に対して、太陽光発電システムにおいて扱うであろう物理量に対して物理種別IDを付与する。各物理種別IDには、項目名称とTAG名を割り当てる。
【0027】
物理種別IDには、名称・TAG名・変数名・単位ID、(単位文字列)、等を紐付け、物理種別ID(ID)は整数値、物理種別名称(name)は文字列と定義する。
【0028】
図3には分類・項目名称・ID・TAG名のみ記載されているが、単位IDは物理種別IDごとに、セットされる。例えば直流電圧であれば「V」が割り当てられ、その「V」に対して単位IDが割り当てられる。
【0029】
<物理種別IDのクラス定義例>
class Tphysic ID {
int ID; //物理種別ID
string name; //物理種別名称
int unit_ID //物理単位ID
string unit_name //単位名称
void set() //物理単位IDより、物理種別名称、単位ID、単位名称をセットする。
};
【0030】
図3に示すとおり、例えば、太陽光発電システムにおける直流電圧に対してID=2000とTAG名:PV_DC_Vを付与する。同様に、直流電流に対してID=2001とTAG名:PV_DC_1を付与する。このように、予め決められた物理種別IDによってあらゆる物理種別を定義することを可能にする。
ID=2000 TAG名:PV_DC_V (意味:太陽光発電の直流電圧)
ID=2001 TAG名:PV_DC_1 (意味:太陽光発電の直流電流)
【0031】
なお、1つの計測拠点(サイト)において複数系統の計測機器が存在する場合など、一意の物理種別IDが複数系統存在する場合を考慮し、2バイトの物理種別IDに1からはじまる2バイトの自然数を「項目番号」として付加することで「項目ID」を定義する。例えば、複数系統があり、それぞれにPCSが複数台つながっていたとしても、系統毎に1から割り振るのではなく、全体で番号を割り振る。その他、日射計やモジュール温度など、同じ物理種別IDが割り当てあられた複数の物理種別IDが存在する場合、項目IDによって区別できるようにする。
【0032】
<クラス設計例>
クラスとはプログラムにおけるオブジェクトであり、先ずそれらを全体的に統括する「計算式全体のクラス」を定義した上で、この計算式全体のクラスのもとで、さらに計算方法の違いによって「各計算式のクラス」を定義する。こうすることで、チャンネルと同様に、「計算式全体のクラス」と、「各計算式のクラス」とに分ける。
【0033】
計算式とは、計測データ(生データ)に対する演算処理のための計算式を意味する。この計算式によるデータを計算式データと定義して、計測データとは区別されて取り扱う。
【0034】
class Tkeisanki {
int siki_su;
vevtor<Tsiki> siki;
void<Tsiki> siki;
void addEmptyVectorSiki (int siki_su);
};
class Tsiki {
Tkomoku_ID komoku_ID; //項目IDクラス
【0035】
計測データだけでなく、それを元に特定の計算式を使って計算されたデータついても識別IDの概念を適用する。
【0036】
c.項目ID
項目IDとは、物理種別IDと、それが複数ある場合の項目番号を合体させた値と定義する。項目IDは、1つのサイトのデータ群(計測チャンネル、計算式、入力式等)において決して重複せず一意の値として特定できるものとする。
【0037】
図4は、項目IDのフォーマットを示している。この図のように、項目IDは、項目番号(2バイト)+物理種別ID(2バイト)を結合させた形式とする。
【0038】
項目番号は1からはじまる整数値の連番とする。同じ物理種別IDが複数ない場合でも1とする。一つのサイトにおいて、番号が重複することはない。例えば、複数系統があり、それぞれにPCSが複数つながっていたとしても、系統毎に1から割り振るのではなく、全体で番号を割り振る。更に、計測端末が複数あり、複数の計測システムがあったとしても、同様に番号が重複しないように割り振る。その他、複数の日射計、複数のモジュール温度など、物理種別IDが同じものが複数ある場合に用いる。
※ 項目IDを下記のように全てクラスで処理することも考えられるが、一応定義しておく。
【0039】
d.統合データ処理(データアクセスミドルウェア)クラス
データへのアクセスを統合的に行うクラス。計測データだけでなく他の種類のデータ(例えば、計算式データ、入力データ、診断データ、統計データ等)も汎用的に処理できるものとする。計測データ及び3.4.1で示す各種データにアクセスする場合、必ず本クラスを用いる。データファイルへの直接アクセスはもちろん、チャンネルクラス内のdata変数なども直接参照しない。
<データの種類>
(1)計測データ
(2)計算式データ
(3)入力データ
(4)診断データ
(5)統計データ
それぞれのデータ種別において、データの番号と項目IDが設定されているものとする。
【0040】
各アプリケーション・サーバー5上で実行されるアプリケーションが直接データベースにアクセスするのではなく、本ミドルウェアで共通化されたインターフェースを介してアクセスできるようにすることにより、データの破壊や不正アクセスを防ぐことができるだけでなく、全てのアプリケーションが共通の方法でデータにアクセスできることになる。
【0041】
<クラス設計>
・データ取得関数は、従来Tchannelの中にあったが、これを外部に出し、新たなクラスとして独立させる。
・様々なパラメータでデータを取得できるようにした。
・項目IDのみで、全データ種別のデータを意識せず取得できる。
・時刻を指定しなかった場合、Tchannel.timeが示している時刻のデータ(Tch_.dataに格納されているデータ)を得る(通常は最新値の時刻、データが格納されている。)
・項目ID2を用いれば、前菜とのデータを取得できる。
【0042】
<クラス設計>
//統合データ処理(データアクセスミドルウェア)クラス定義
class Tdata {
enum data_type {DATATYPE_CH, DATATYPE_CAL, DATATYPE_INPUT, DATATYPE_DIAG, DATATYPE_TOKEI}};
//データの種類:計測データ、計算式、入力値、診断値、統計値
double get_data (Tkomoku_ID komoku_ID) //項目IDクラスよりデータを取得
double get_data (Tkomoku_ID komoku_ID, Ttime time) //項目IDクラス、時刻よりデータを取得
bool get_data (Tkomoku_ID komoku_ID, Ttime time_s, Ttime time_e, double *data)
//項目IDクラス、時刻範囲よりその間のデータを取得
bool get_data (Tkomoku_ID komoku_ID, Ttime time, int kosu, double *data)
//項目IDクラス、時刻より、指定個数のデータを取得
double get_data (int data_type, int no) //データ種別とデータ番号より取得
};;
・時刻の指定が無い場合は、最新値とする。
・その他多数のデータ取り込み関数が考えられる。
【0043】
(第2の実施形態)[システム構成例]
図1は、第1の実施形態において説明したデータ識別IDの具体的な適用事例の1つとして、発電システムに適用した構成例を示す図である。
このシステムは、発電システム1と計測データサーバー4とがネットワークを通じて接続され、さらに、各種アプリケーション
・サーバー5(5a~5c)と計測データサーバー4とは、データアクセスミドルウェア102を介して接続された構成を有する。さらに、データ識別IDを管理するID管理サーバー101が設けられ、データアクセスミドルウェア102と通信して必要なID管理データのやりとりを行うことができる。
【0044】
計測端末2(2a、2b)は、PCSから各種の計測データを取得すると共に、インターネット等の電気通信回線を通じて計測データサーバー4に接続されている。各地の計測データは計測データサーバー4に集められる。データサーバー4は計測データ等のデータベースを管理するサーバーであり、データベース自体は、発電システム(発電所)を特定する識別子に紐付けられたタイムスタンプと、タイムスタンプに紐付けられた複数の数値列で構成された従来のデータ構造と変わらないものであってもよい。
【0045】
ここで、発電システム1(1A、1B)は、各地に点在する発電所を構成する単位であり、発電所の規模によって様々な場合がある。例えば、発電システム1Aは複数の計測端末2(2a、2b、・・・)を有するが、発電システム1Bは1つ乃至複数の計測端末2(2a、2b、・・・)に加えて、日射計3を備えているとする。計測端末2には図示しないPCSとよばれる発電制御装置やPCSを制御するための発電制御装置などに接続されており、PCSの先には発電装置(例えば太陽光発電用のパネル)が接続されている。
【0046】
但し、発電装置の種類は特に限定されず、発電量の制御が必要な発電装置であればよい。例えば、太陽光の他には、風力や地熱、水力その他様々な自然エネルギーを用いた発電装置が想定される。これらは発電量が気象条件等によって変動しうる要素が大きいため、遠隔地にある計測データサーバー4に集約される計測データを通じて、各システム内の機器の状態を監視したり、機器の故障やその兆候を検知することへのニーズが高いためである。
【0047】
各種アプリケーション・サーバー5(5a~5c)は、計測データサーバー4に保存された様々な計測データを活用して種々のサービスを提供する。例えば、遠隔地にある発電システムの運転状況等を診断するための遠隔監視システム5a、運転状況の確認とメンテナンスを行うためのO&M(オペレーション&メンテナンス)システム5b、発電システム内の機器の異常や故障或いは経年劣化等を診断する発電診断システム5c、などがある。
【0048】
従来の発電システムは、アプリケーション・サーバー5が計測データサーバー4に直接アクセスし、データの要求や返答を行う構成が採用されていた。しかし、それぞれのアプリケーション・サーバー5が直接データベースにアクセスする構成の場合、データベースサーバーへのアクセス集中、各アプリケーション・サーバー5の上で実行されるプログラムのエラー、その他不測の事態によって、計測データサーバー4に記録されているデータベースが破壊される恐れがある。或いは、アプリケーション・サーバー5を踏み台として計測データベースサーバー4に対する不正アクセスの原因となる危険性も高まる。
【0049】
このような問題を回避するため、本実施形態では、計測データサーバー4とアプリケーション・サーバー5との間に、データアクセスミドルウェア102を介在させる構成を採用すると共に、各地に散在する発電システムの計測データや計測データに付随する様々なデータを一意に特定するためのID管理サーバー101によってデータアクセスミドルウェア102に対する管理データ要求及び返答を管理させる構成とする。
【0050】
ID管理サーバー101は、データ識別IDを管理するためのサーバーであり、計測端末が複数台あっても、計測端末に依存することなく一意にデータ等を特定することができることを可能にする。データアクセスミドルウェア102は、いずれかのサーバー上で動作させることも可能であるし、計測端末2a上で動作させてもよい。
【0051】
このような構成によると、各アプリケーション・サーバー5は、データアクセスミドルウェア102によって共通化されたインターフェースを介して計測データベース4にアクセスすることにより、計測データサーバー4内のデータの破壊や計測データサーバー4に対する不正アクセスのリスクを低減することができる。
【0052】
データアクセスミドルウェア102は、アプリケーション・サーバー5からの要求(リクエスト)を受けて必要なデータを返答する機能を持つ。そのため、ID管理サーバー101に予めデータ識別のID管理情報と計測データとの関係を登録しておくことが必要となる。これは必ずしもデータアクセスミドルウェア102自身が行う必要はなく、事前にID管理サーバー101に必要な情報を入力しておくことで実現される。
ID管理サーバー101はデータ識別IDのデータベースを管理しており、計測データサーバー4に記録されているデータベース(テーブル)に含まれる数値列に対しての意味付けを行うテーブルを保存している。そのため、データアクセスミドルウェア102からの要求に応じて必要なデータに対応する特定のID管理データを返答する機能を有する。
【0053】
データアクセスミドルウェア102の実装方法に制限はなく、ネットワークに接続された単体の専用サーバー上で動作する構成を採用してもよい。例えば、必須ではないが、ウェブサーバー上にデータアクセスミドルウェアを実装し、Webアプリケーションとして実装することもできる。この場合、サーバーのドメイン等に特定のコマンドやデータを含めたURLとしてアプリケーション・サーバー5からデータ要求を行うように構成してもよい。或いは、より簡単なシステムでは、発電システム1内の1つ又は複数の計測端末2の内部に同様の機能が搭載される実装であってもよい。
【0054】
計測データサーバー4に記録されている計測データは、タイムスタンプとその時刻における複数の数値データとで構成されるテーブルとして表現可能な数値データの集まりであり、通常は発電システム(発電所)ごとにこれらの数値が記録されている。計測データがどの発電システムや計測サイトの計測端末からアップロードされたものかは事前に設定しておくことで判別可能である。また、数値データの何番目のデータがどの識別IDに対応するかを予め設定しておく。数値データの順番は、計測端末の設定変更が行われない限りは変わらない。逆に、計測端末の設定変更が行われる場合は、ID管理サーバー101の設定変更も必ず行われるようにすることが必要である。
【0055】
次に、データアクセスミドルウェア102の動作について説明する。データを必要とするアプリケーション・サーバー5は、要求する計測データに識別IDを付与してデータアクセスミドルウェア102に要求する。データアクセスミドルウェア102は、要求に応じて計測データサーバー4にアクセスして必要なデータを読み出し、アプリケーション・サーバー5に返答する。アプリケーション・サーバー5からデータアクセスミドルウェア102に送信するデータ要求としては、以下のような形式が考えられる。
発電所ID:123456(ラプラス発電所)
計測システムID:789(計測システム1)
項目ID:10(PCS1の交流電力)
要求期間:2022年2月1日
【0056】
上記のような識別IDを与えてデータアクセスミドルウェア102にアクセスすると、ID管理サーバへの問い合わせを行うことで、ラプラス発電所の計測システム1のPCS1台目の交流電力のうち、2022年2月1日のデータを要求することができる。そして、予めID管理サーバー101に登録された情報から、計測データサーバー4に記録されているデータの対象レコード及び対象位置が分かるので、データアクセスミドルウェア102から計測データサーバー4にアクセスして必要な計測データを取得し、アプリケーション・サーバー5に返答する。
アプリケーション・サーバー5は、複数のデータ識別IDを与えてデータを要求することが可能である。例えば、複数の発電所から複数の計測項目を要求できるほか、期間についても複数期間分のデータを要求できる。指定期間の集計処理(例えば、平均値や積算値)の算出をデータアクセスミドルウェア102側で行ってその結果を返答するように構成してもよい。
【0057】
<データアクセスミドルウェアの活用事例>
データアクセスミドルウェアを用いる利点について、事例を参照して説明する。
図6(A)は、データアクセスミドルウェア102を配置せず、ユーザーが複数の遠隔監視サイト1~3を介して計測データサーバ4に直接アクセスする場合の構成図を示している。これに対して、
図6(B)は、データアクセスミドルウェアを介して計測データサーバ4にアクセスする場合の構成図を示している。両者の比較を通じてデータアクセスミドルウェアの活用事例を説明する。
【0058】
はじめに、前提として、データアクセスミドルウェア102は、複数の数値を含む数値データが記録されたデータベースサーバー上に構築される論理的なデータベースに対して特定のデータの読出しを要求し、その要求に対する返答を行うシステムを前提とする。
【0059】
従来のミドルウェアを用いない構成(
図6(A))では、データの読出し要求は複数の遠隔監視サイト5a~5cを介して計測データベースサーバー4に要求され、各遠隔監視サイトを介して読出し要求に対応する数値データの返答を受ける仕組みであった。計測データサーバー4から取得した数値データの意味づけは、遠隔監視サイト側で行われるか、或いはデータを要求した側で、数値データの意味を解釈する必要があった。
【0060】
これに対して、
図6(B)の構成では、数値データの要求は全てデータアクセスミドルウェア102を介して行われる。データアクセスミドルウェア102は、
図1に示すとおり、ID管理サーバー101と通信し、計測データベースサーバー4に記録された数値データの属性等を紐付けることで、数値データに「意味づけ」を行うことができることが前提である。すなわち、データアクセスミドルウェアは、計測データベースサーバー4に対して前記数値データを要求するために実行されるプログラムであって、数値データに含まれる特定のデータの読出し要求を受けて、計測データベースサーバー4から特定のデータを読み出す。そして、数値データを構成する数値の属性を一意に特定するデータ識別IDが記録されたID管理サーバーからデータ識別IDを含むID管理データを取得して、特定のデータに含まれる数値の属性を紐付けした状態で、読み出し要求に対する応答を行う。
【0061】
以上のような基本的な構成を、太陽光発電システムの計測データを解析する仕組みに適用した事例を説明する。ここで太陽光発電システム(発電所)は、
図1に示すように、太陽光発電システム(発電所)毎に設置された計測端末或いは計測機器から取得した計測データを計測データベースサーバー4にアップロードする仕組みを有しているものとする。
【0062】
[事例1]
複数の発電所から同種のデータ(例えば発電電力量)を取得する際に、
図6(A)に示すように、各々の遠隔監視サイトにアクセスするのではなく、
図6(B)に示すように、ミドルウェアを介することで一度の要求で処理が可能となる。複数の発電所のデータを横断的に取得できることは、複数発電所を同時に監視するような顧客やO&M会社(オペレーション&メンテナンス)において有用である。例えば保有する発電所の各データを一覧で表示する機能を実現するにあたり、ウェブサイト、スマートフォン上で動作するアプリケーションソフトウェアなど、異なる通信媒体を介してアクセスされる場合でも、すべてはミドルウェアを介してデータを取得することが可能になる。
【0063】
[事例2]
機器の異常や故障或いは経年劣化等の診断する現在の発電診断機能は、各発電所ごとに個別に実施されている。そのため、各発電所毎に蓄積された過去の発電データ等との比較に基づく診断しかすることができなかった。しかし、データアクセスミドルウェアを活用すれば、異なる複数の発電所から必要なデータを取得することが可能となる。これにより、取得したデータを解析することが可能となる。
例えば、地理的に近い発電所、定格容量が同じ発電所、機器の構成が近い発電所、といった、複数の観点から、似たような構成の別々のデータを発電所を超えて横断的に比較等することにより、機器の故障又は異常を検知する発電診断を行うことが可能となる。
【0064】
[事例3]
すでに述べたとおり、一般的にデータには様々な種類が存在するが、「データ識別IDとデータのセット」として管理されたデータを扱うミドルウェアは、データの種類に関わらず、扱いを統一することができる利点がある。つまり、もとになるデータは自社データだけでなく、他社データであっても、ミドルウェアがその違いを吸収することで、顧客や上位のアプリケーションがデータを要求する時には、元データの違いは意識する必要がないことになり、データを要求する側はシンプルで分かりやすくなる。
【0065】
なお、
図6(A)及び
図6(B)を用いて説明した上記[事例1]~[事例3]は、いずれも、太陽光発電システムにおける発電データ解析を念頭に、ユーザー或いは特定の機器が、「計測データ」を記録する計測データサーバー4に対する計測データを要求し、求める計測データ(数値データ)の返答を受けるために、「ミドルウェア」を介する例を示したが、数値データとデータ識別IDとを紐付けることにより数値データに対する意味づけを行ったうえで、要求された数値データを返答するという点が重要である。数値データは計測データに限られず、文字列及びコンピュータ上で扱うことが可能な全てのデータを全て含むことは言うまでも無い。このような仕組みは機器の故障又は異常を検知する診断システムに適用することができる。
【0066】
(第2の実施形態)-データの通信方法-
データを扱うためのアプリケーション・サーバー5が計測データサーバー4へのアクセス要求をミドルウェア102に対して行う際に、データ識別IDを用いて必要なデータを特定できる。よって、ミドルウェア102は、計測データサーバー4が管理するデータベースから速やかに必要なデータを取得して、アクセス要求を受けたアプリケーションサーバー5にデータを送り返すことが可能となる。
【0067】
この具体的な実現手段は1つとは限らないが、一例として、いわゆるWebAPIを利用する方法が想定される。一般に、WebAPIは、対象となるサーバーのURLに対して、URLに追加でオプション(付加情報)を付与して通信することで、サーバから必要なデータが返答されるウェブアプリケーションプログラムである。上記の場合、対象となるミドルウェアサーバー101をWebサーバーとして起動し、そのURLがミドルウェアの入り口となり、そのオプションとして、データ識別ID、データ期間、データ形式などの情報を加えてアクセス要求を行う。また、返答されるデータは、事前の設定により、バイナリ形式のほか、JSON形式、CSV形式など複数の出力形式からアプリケーション毎に扱い易い出力形式を任意に選択できる態様が想定される。
【0068】
ここで、再び太陽光発電システムを例に説明する。従来、太陽光発電システムにおけるパワーコンディショナ(PCS)に接続された計測端末において、PCSから発電電力を受信し表示させる場合、チャンネル表を参照して該当するチャンネル番号を設定する必要がある。これは、PCSから取得したデータは、取得直後は単なる数値の羅列にすぎないためである。順番に並べられた数値の何番目が何のデータであるか(例えば、1番目の数値は1台目のPCSの交流電力である)という情報がチャンネル表により定義されている。
【0069】
PCSの設置現場では、PCSの増設や通信仕様の変更が行われる際に順番が変わり、その度毎にチャンネル表は更新されることも少なくない。これが、トラブルの原因となっている。一般に、順番はPCSの通信プロトコルに依存することが多いようである。
【0070】
そこで、チャンネル表の代わりに発電電力の識別ID(物理量識別ID)を設定し、識別IDとそれに対応するデータとを常にペアとして扱うことで、データを保存する順序が変わってもデータの意味が失われないようにすることが可能となる。例えば、発電電力を表すデータがチャンネル表の何番目であるとしても、識別IDを目印に特定できるようになる。データの保存順序の指定も不要となる。
【0071】
同様に通信でデータを送出する際にも、データと識別IDを常にペアで持つルールさえ守れば送信の順序にも意味がなくなり、任意のタイミングでデータを送信できるようになる。すなわち、プロトコルの指定は不要となる。
【0072】
さらに、チャンネル番号はそれぞれの計測端末内部でしか一意ではない。もし、1つの発電システム内に複数の計測端末があれば、チャンネル番号に重複が生じうる。その点、データ識別IDは、同一の発電システム内では一意の値に割り当てることができるため、計測端末が複数台あっても計測端末に依存することなく一意データを特定し、取得することができる。
【0073】
本実施形態のように、順番に依存しない形で必要なデータのみを取り出せることは、処理の汎用性を飛躍的に向上させることに寄与する。
【0074】
データ識別IDは、計算式や、入力値、演算値などにも応用することができ、計算値と計測値を同等に扱うことができる。そして、全てのサイトが同様のルールに則っていれば、サイト毎の固有のシステム形式に左右されることなく、一律の処理が可能となる。仮に、全世界の計測システムにこの方式が取り入れられたならば、全世界の全てのデータが汎用的に扱えるようになる。
【0075】
<実施例1>
アプリケーション・サーバー5が、複数の発電システム1(1A、1B、・・・)に対してそれぞれの発電電力を要求しその合算値を取得するシステムを構築することが可能となる。これは、複数の発電システムを管理するユーザーにとって大きなメリットとなりうる。
この点、従来のシステムでは、アプリケーション側が各発電システムの情報それぞれ要求・取得し、さらにそれらを合算する必要があり、処理に時間がかかっていた。また、通信も各発電システムに対しての要求毎に必要となるため、無駄が大きかった点を考えると、その利点は大きい。
【0076】
<実施例2>
比較的距離の近い場所に2つの発電システム1A、1Bがあり、かつどちらか一方のみ(例えば発電システム1B)に日射計3が取り付けられている状況を想定する。日射計3は高額なため、全ての発電所に取り付けることは現実的でない場合が多い。しかし、日射計3は、発電量の予測や保守には有用なため、日射計を取り付けていない発電システムに対しても同様に発電量の予測や保守に日射計のデータを活用できれば好ましい。従前であれば、発電システム外のデータを別の発電システムのデータとして活用することは容易ではなかったが、識別IDによりデータを要求することで、発電システムの単位を超えたデータの取得が可能となり、データ活用の幅を広げることができる。
【0077】
図1を参照して説明される第1及び第2実施態様では、計測システムに特化したデータ識別IDの例について説明してきた。しかし、もっとも本質的な点は、データサーバーによって管理される「データベース」上のデータの1つ1つが、「データ識別ID」によって一意に特定され、それにより意味付けされる点にある。データ識別IDを管理するために「データサーバー」とは別に「ID管理サーバー」を用いる点、及び「データサーバー」へのアクセスに「データアクセスミドルウェア」を介して行う点については、具体的な構成例としてもっとも合理的な態様の1つであるものの、他の構成、例えば、ID管理サーバーの機能を計測データサーバーの一部に含めたり、ミドルウェアサーバーを省略したり、取り扱うデータの規模により、複数のサーバーを集約して簡素化することも考えられる。
【0078】
(第3の実施形態)
本発明の本質は、扱うデータの種別を問わない。データベースとデータ識別IDを管理するID管理サーバーとを分離しつつ、データアクセスミドルウェアを介してデータベースにアクセスする点が重要である。そのため、扱う数値データは物理量以外の数値、たとえば売上、利益などの金銭にまつわるデータ等も対象とすることができる。
例えば、売上や利益などの経理情報は、従来は財経管理システムなどの特定のシステムの中だけで参照される構成が一般的であった。しかし、データ識別IDを管理するID管理サーバーをデータベースサーバーから分離して設ける一方、データベースへのアクセスはデータアクセスミドルウェアを介することで、特定のシステムに縛られないデータ参照が可能となり、システム連携がしやすくなる。例えば、売上、利益等の数値データは、現状の営業分析、将来の利益計画にも利用することができるため、財経システム以外でも必要とされることがあるが、必要なデータのみを別途ファイルなどで出力して使用しなければならず、利便性に欠けていたが、あらかじめデータ識別IDが付与されたデータとして管理されることで、それを必要とするシステムが要求すれば即座に参照することができるため、極めて高い利便性を提供することができる。
【産業上の利用可能性】
【0079】
IoT機器が普及する中、IoT機器が取得した数値データを各社毎の独自仕様で、或いは各拠点(サイト)毎に定義しているのでは数値データの汎用的な取り扱いが不可能であるが、本発明のデータ構造を前提に各社が同様の通信ルールで数値データのやりとりを行うことになれば、IPアドレスやQRコード(登録商標)のように、異なる機器で同等に数値データを扱えるようになり、産業性の利用可能性は極めて大きい。