IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 横河電機株式会社の特許一覧

特開2024-127095プロトコル変換装置、方法、プログラム、及びシステム
<>
  • 特開-プロトコル変換装置、方法、プログラム、及びシステム 図1
  • 特開-プロトコル変換装置、方法、プログラム、及びシステム 図2
  • 特開-プロトコル変換装置、方法、プログラム、及びシステム 図3
  • 特開-プロトコル変換装置、方法、プログラム、及びシステム 図4
  • 特開-プロトコル変換装置、方法、プログラム、及びシステム 図5
  • 特開-プロトコル変換装置、方法、プログラム、及びシステム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024127095
(43)【公開日】2024-09-20
(54)【発明の名称】プロトコル変換装置、方法、プログラム、及びシステム
(51)【国際特許分類】
   H04L 69/08 20220101AFI20240912BHJP
【FI】
H04L69/08
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2023035982
(22)【出願日】2023-03-08
(71)【出願人】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】勝島 壮一郎
(72)【発明者】
【氏名】石川 郁光
(57)【要約】      (修正有)
【課題】データを効率的に変換し、新たな通信機器が追加された場合でも、パラメータの対応関係を精度良く特定するプロトコル変換装置、方法、プログラム及びシステムを提供する。
【解決手段】少なくとも1つの第1通信機器と、プロトコル変換装置と、第2通信機器とを備えるシステム10において、プロトコル変換装置30は、第1通信プロトコルを用いて通信する第1通信機器から第1パラメータを受信する第1通信部と、第2通信プロトコルの複数の第2パラメータを含む第2通信プロトコル辞書を記憶する記憶部と、複数の第2パラメータのうち、第1パラメータと第2パラメータと対応付けたテーブルに基づいて、第1パラメータに対応する対応第2パラメータを特定する特定部と、対応第2パラメータに対応付けられた第1パラメータについての第1データに応じた第2データを、第2通信プロトコルを用いて第2通信機器に送信する第2通信部と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
第1通信プロトコルを用いて通信する第1通信機器から第1パラメータについての第1データを受信する第1通信部と、
第2通信プロトコルの複数の第2パラメータを含む第2通信プロトコル辞書を記憶する記憶部と、
前記複数の第2パラメータのうち、前記第1パラメータと前記第2パラメータと対応付けたテーブルに基づいて、前記第1パラメータに対応する対応第2パラメータを特定する特定部と、
前記対応第2パラメータに対応付けられた前記第1パラメータについての第1データに応じた第2データを、前記第2通信プロトコルを用いて第2通信機器に送信する第2通信部と、
を備えるプロトコル変換装置。
【請求項2】
前記記憶部は、前記第1通信機器の種類に対応付けられた第1通信プロトコル辞書に対して、複数の前記第2通信プロトコル辞書を記憶し、
前記プロトコル変換装置は、複数の前記第2通信プロトコル辞書のうち、前記第1通信部によって通信する前記第1通信機器の前記第1通信プロトコル辞書に対応する前記第2通信プロトコル辞書を選択する辞書選択部を更に備え、
前記特定部は、前記選択された第2通信プロトコル辞書に含まれる前記第2パラメータと前記第1パラメータとを対応付けた前記テーブルに基づいて、前記対応第2パラメータを特定する、
請求項1に記載のプロトコル変換装置。
【請求項3】
前記特定部は、前記テーブルに基づいて前記第2パラメータを特定できない場合、前記第1通信プロトコルにおける第1パラメータ又は前記第2通信プロトコルにおける第2パラメータの一方の指定を入力したことに応じて、前記指定されたパラメータに対応する前記第1通信プロトコルにおける第1パラメータ又は前記第2通信プロトコルにおける第2パラメータの他方を特定するモデルを用いて、前記複数の第2パラメータ又は前記複数の第1パラメータのうち、前記対応第2パラメータ又は対応第1パラメータを特定する
請求項1に記載のプロトコル変換装置。
【請求項4】
前記特定部により特定した対応第2パラメータに対するユーザ指定に応じて、前記モデルを更新する学習処理部を更に備える
請求項3に記載のプロトコル変換装置。
【請求項5】
前記特定部により前記モデルを用いて特定した前記対応第2パラメータの前記第2データに対応付けて、フラグを登録する登録部を更に備える、
請求項4に記載のプロトコル変換装置。
【請求項6】
前記登録部は、前記第2通信プロトコル辞書中の前記対応第2パラメータに対応付けて、前記第1データに応じた第2データを登録する
請求項5に記載のプロトコル変換装置。
【請求項7】
前記第1データの値を、前記第1パラメータと前記対応第2パラメータとの関係に応じた係数で乗算すること、又は前記関係に応じた関数で演算することのうちの少なくとも1つにより、前記第2データに変換する変換部を更に備える
請求項1に記載のプロトコル変換装置。
【請求項8】
前記第2通信プロトコルは、前記第1通信プロトコルより高速の通信を行うためのプロトコルである
請求項1に記載のプロトコル変換装置。
【請求項9】
前記第2通信プロトコル辞書は、前記複数の第2パラメータのうちの少なくとも1つとして、前記第1通信機器に関する、発注コード、メーカの受注条件、トレーサビリティ情報、又は稼働状態の情報のうちの少なくとも1つについてのパラメータを含む
請求項1に記載のプロトコル変換装置。
【請求項10】
前記記憶部は、前記第1通信プロトコルの複数の第1パラメータを含む第1通信プロトコル辞書を記憶し、
前記第2通信部は、前記第2通信プロトコル辞書に含まれる第2パラメータについての第2データを前記第2通信機器から受信し、
前記特定部は、前記テーブルに基づいて、前記第2パラメータに対応する対応第1パラメータを特定し、
前記第1通信部は、前記対応第1パラメータに対応付けられた前記第2パラメータについての第2データに応じた第1データを前記第1通信機器に送信する、
請求項1に記載のプロトコル変換装置。
【請求項11】
前記第1通信プロトコル辞書又は前記第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータを更新する更新部を備える
請求項10に記載のプロトコル変換装置。
【請求項12】
前記更新部は、前記記憶部に格納された前記第1通信プロトコル辞書又は前記第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータを、前記第1通信機器に格納された第1通信プロトコル辞書における少なくとも一つのパラメータとともに更新する
請求項11に記載のプロトコル変換装置。
【請求項13】
前記記憶部に格納された前記第1通信プロトコル辞書又は前記第2通信プロトコル辞書の少なくとも一つにおけるパラメータについて、前記特定部により特定された特定回数又は前記更新部により更新された更新回数のうちの少なくとも1つをカウントするカウント部を更に備え、
前記更新部は、前記カウントされた特定回数又は更新回数のうちの少なくとも1つが閾値未満である前記パラメータを対応する前記第1又は第2通信プロトコル辞書から削除することにより、前記記憶部に格納された前記第1通信プロトコル辞書又は前記第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータを更新する
請求項11に記載のプロトコル変換装置。
【請求項14】
第2通信プロトコルの複数の第2パラメータを含む第2通信プロトコル辞書を記憶する段階と、
第1通信プロトコルを用いて通信する第1通信機器から第1パラメータについての第1データを受信する段階と、
前記複数の第2パラメータのうち、前記第1パラメータと前記第2パラメータと対応付けたテーブルに基づいて、前記第1パラメータに対応する対応第2パラメータを特定する段階と、
前記対応第2パラメータに対応付けられた前記第1パラメータについての第1データに応じた第2データを、前記第2通信プロトコルを用いて第2通信機器に送信する段階と
を備える方法。
【請求項15】
コンピュータを、
第1通信プロトコルを用いて通信する第1通信機器から第1パラメータについての第1データを受信する第1通信部と、
第2通信プロトコルの複数の第2パラメータを含む第2通信プロトコル辞書を記憶する記憶部と、
前記複数の第2パラメータのうち、前記第1パラメータと前記第2パラメータと対応付けたテーブルに基づいて、前記第1パラメータに対応する対応第2パラメータを特定する特定部と、
前記対応第2パラメータに対応付けられた前記第1パラメータについての第1データに応じた第2データを、前記第2通信プロトコルを用いて第2通信機器に送信する第2通信部
として機能させるためのプログラム。
【請求項16】
第1通信機器と、
前記第1通信機器と第1通信プロトコルを用いて通信する請求項1から13のいずれか一項に記載のプロトコル変換装置と、
前記プロトコル変換装置と第2通信プロトコルを用いて通信する第2通信機器と、
を備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プロトコル変換装置、方法、プログラム、及びシステムに関する。
【背景技術】
【0002】
特許文献1には、フィールド機器を有するオートメーションプラントからデータを集めるシステムが記載されている(要約)。特許文献2には、イベントベースのデータ通信をサイクリックデータ通信に変換する変換装置が記載されている(要約、請求項1)。
[先行技術文献]
[特許文献]
特許文献1 米国特許出願公開第2021/271228号明細書
特許文献2 国際公開第2020/078716号
【発明の概要】
【0003】
本発明の第1態様においては、第1通信プロトコルを用いて通信する第1通信機器から第1パラメータについての第1データを受信する第1通信部と、第2通信プロトコルの複数の第2パラメータを含む第2通信プロトコル辞書を記憶する記憶部と、複数の第2パラメータのうち、第1パラメータと第2パラメータと対応付けたテーブルに基づいて、第1パラメータに対応する対応第2パラメータを特定する特定部と、対応第2パラメータに対応付けられた第1パラメータについての第1データに応じた第2データを、第2通信プロトコルを用いて第2通信機器に送信する第2通信部と、を備えるプロトコル変換装置を提供する。
【0004】
上記のプロトコル変換装置において、記憶部は、第1通信機器の種類に対応付けられた第1通信プロトコル辞書に対して、複数の第2通信プロトコル辞書を記憶し、プロトコル変換装置は、複数の第2通信プロトコル辞書のうち、第1通信部によって通信する第1通信機器の第1通信プロトコル辞書に対応する第2通信プロトコル辞書を選択する辞書選択部を更に備え、特定部は、選択された第2通信プロトコル辞書に含まれる第2パラメータと第1パラメータとを対応付けたテーブルに基づいて、対応第2パラメータを特定してよい。
【0005】
上記のいずれかのプロトコル変換装置において、特定部は、テーブルに基づいて第2パラメータを特定できない場合、第1通信プロトコルにおける第1パラメータ又は第2通信プロトコルにおける第2パラメータの一方の指定を入力したことに応じて、指定されたパラメータに対応する第1通信プロトコルにおける第1パラメータ又は第2通信プロトコルにおける第2パラメータの他方を特定するモデルを用いて、複数の第2パラメータ又は複数の第1パラメータのうち、対応第2パラメータ又は対応第1パラメータを特定してよい。
【0006】
上記のプロトコル変換装置において、特定部により特定した対応第2パラメータに対するユーザ指定に応じて、モデルを更新する学習処理部を更に備えてよい。
【0007】
上記のプロトコル変換装置において、特定部によりモデルを用いて特定した対応第2パラメータの第2データに対応付けて、フラグを登録する登録部を更に備えてよい。
【0008】
上記のプロトコル変換装置において、登録部は、第2通信プロトコル辞書中の対応第2パラメータに対応付けて、第1データに応じた第2データを登録してよい。
【0009】
上記のいずれかのプロトコル変換装置において、第1データの値を、第1パラメータと対応第2パラメータとの関係に応じた係数で乗算すること、又は関係に応じた関数で演算することのうちの少なくとも1つにより、第2データに変換する変換部を更に備えてよい。
【0010】
上記のいずれかのプロトコル変換装置において、第2通信プロトコルは、第1通信プロトコルより高速の通信を行うためのプロトコルであってよい。
【0011】
上記のいずれかのプロトコル変換装置において、第2通信プロトコル辞書は、複数の第2パラメータのうちの少なくとも1つとして、第1通信機器に関する、発注コード、メーカの受注条件、トレーサビリティ情報、又は稼働状態の情報のうちの少なくとも1つについてのパラメータを含んでよい。
【0012】
上記のいずれかのプロトコル変換装置において、記憶部は、第1通信プロトコルの複数の第1パラメータを含む第1通信プロトコル辞書を記憶し、第2通信部は、第2通信プロトコル辞書に含まれる第2パラメータについての第2データを第2通信機器から受信し、特定部は、テーブルに基づいて、第2パラメータに対応する対応第1パラメータを特定し、第1通信部は、対応第1パラメータに対応付けられた第2パラメータについての第2データに応じた第1データを第1通信機器に送信してよい。
【0013】
上記のプロトコル変換装置において、第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータを更新する更新部を備えてよい。
【0014】
更新部は、記憶部に格納された第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータを、第1通信機器に格納された第1通信プロトコル辞書における少なくとも一つのパラメータとともに更新してよい。
【0015】
上記のいずれかのプロトコル変換装置において、記憶部に格納された第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つにおけるパラメータについて、特定部により特定された特定回数又は更新部により更新された更新回数のうちの少なくとも1つをカウントするカウント部を更に備え、更新部は、カウントされた特定回数又は更新回数のうちの少なくとも1つが閾値未満であるパラメータを対応する第1又は第2通信プロトコル辞書から削除することにより、記憶部に格納された第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータを更新してよい。
【0016】
本発明の第2の態様においては、第1通信プロトコルを用いて通信する第1通信機器から第1パラメータについての第1データを受信する段階と、第2通信プロトコルの複数の第2パラメータを含む第2通信プロトコル辞書を記憶する段階と、複数の第2パラメータのうち、第1パラメータと第2パラメータと対応付けたテーブルに基づいて、第1パラメータに対応する対応第2パラメータを特定する段階と、対応第2パラメータに対応付けられた第1パラメータについての第1データに応じた第2データを、第2通信プロトコルを用いて第2通信機器に送信する段階とを備える方法を提供する。
【0017】
本発明の第3の態様においては、コンピュータを、第1通信プロトコルを用いて通信する第1通信機器から第1パラメータについての第1データを受信する第1通信部と、第2通信プロトコルの複数の第2パラメータを含む第2通信プロトコル辞書を記憶する記憶部と、複数の第2パラメータのうち、第1パラメータと第2パラメータと対応付けたテーブルに基づいて、第1パラメータに対応する対応第2パラメータを特定する特定部と、対応第2パラメータに対応付けられた第1パラメータについての第1データに応じた第2データを、第2通信プロトコルを用いて第2通信機器に送信する第2通信部として機能させるためのプログラムを提供する。
【0018】
本発明の第4の態様においては、第1通信機器と、第1通信機器と第1通信プロトコルを用いて通信する上記のいずれかのプロトコル変換装置と、プロトコル変換装置と第2通信プロトコルを用いて通信する第2通信機器と、を備えるシステムを提供する。
【0019】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0020】
図1】本実施形態のシステムを示すブロック図の一例である。
図2】第1通信プロトコル辞書の一例を示す。
図3】プロトコル変換装置30におけるプロトコル変換動作を示すフロー図である。
図4】プロトコル変換装置30におけるパラメータ特定動作を説明するための説明図である。
図5】パラメータ特定モデルを説明するための説明図である。
図6】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。
【発明を実施するための形態】
【0021】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0022】
図1は、本実施形態のシステム10を示すブロック図の一例である。なお、これらブロックは、それぞれ機能的に分離された機能ブロックであって、実際の装置構成とは必ずしも一致していなくてもよい。すなわち、本図において、1つのブロックとして示されているからといって、それが必ずしも1つの装置により構成されていなくてもよい。また、本図において、別々のブロックとして示されているからといって、それらが必ずしも別々の装置により構成されていなくてもよい。これより先のブロック図についても同様である。
【0023】
システム10は、プラント等の設備に設置されたセンサ等の機器からデータを収集する。プラントとしては、化学やバイオ等の工業プラントの他、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、上下水やダム等を管理制御するプラント等が挙げられる。
【0024】
システム10は、少なくとも1つの第1通信機器20と、プロトコル変換装置30と、第2通信機器40とを備える。
【0025】
少なくとも1つの第1通信機器20-1~N(Nは2以上)は、それぞれプロトコル変換装置30に通信可能に接続される。なお、以下、第1通信機器20-1~Nは、総称して第1通信機器20と記載する場合がある。第1通信機器20は、フィールド機器であってよい。ここで、フィールド機器は、例えば圧力計、流量計、温度センサ等のセンサ機器、流量制御弁や開閉弁等のバルブ機器、ファンやモータ等のアクチュエータ機器、プラント内の状況や対象物を撮影するカメラやビデオ等の撮像機器、プラント内の異音等を収集したり警報音等を発したりするマイクやスピーカ等の音響機器、各機器の位置情報を出力する位置検出機器、その他の機器である。
【0026】
第1通信機器20は、第1通信プロトコルを用いて、測定値又は制御値等のデータをプロトコル変換装置30との間で送受信する。第1通信プロトコルは、HART(登録商標)、BRAIN、PROFINET、Profibus PA、EtherNet/IP(登録商標)、OPC UA(登録商標)、ファウンデーションフィールドバス(登録商標)、又はISA100.11a等で規定される通信プロトコルであってよい。第1通信プロトコルは、比較的低速(数kbps~数十kbps)の通信プロトコルであってよい。
【0027】
第2通信機器40は、プロトコル変換装置30に通信可能に接続される。第2通信機器40は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、又は汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよく、分散制御システム(DCS: distributed control system)や機械を自動的に制御する装置(PLC: Programmable Logic Controller)やネットワークを利用し情報を集めて監視すると共に、制御するシステム(SCADA: Supervisory Control And Data Acquisition)であってもよい。このようなコンピュータシステムもまた広義のコンピュータである。また、第2通信機器40は、コンピュータ内で1または複数実行可能な仮想コンピュータ環境によって実装されてもよい。
【0028】
第2通信機器40は、第2通信プロトコルを用いてプロトコル変換装置30と通信し、プロトコル変換装置30を介して第1通信機器20の測定値又は設定値等のデータを収集及び第1通信機器20に制御値等のデータを設定する。第2通信プロトコルは、HART(登録商標)、BRAIN、PROFINET、Profibus PA、EtherNet(登録商標)/IP、OPC UAファウンデーションフィールドバス(登録商標)、又はISA100.11a等で規定される通信プロトコルであってよい。第2通信プロトコルは、第1通信プロトコルと異なる通信プロトコルであり、第1通信プロトコルより高速の通信を行うための通信プロトコルであってよい。
【0029】
プロトコル変換装置30は、PC、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、コンピュータシステムが組み込まれた計測器や記録計、エッジコンピューティング、または汎用コンピュータ等のコンピュータであってよい。プロトコル変換装置30は、第1通信機器20と第2通信機器40との間で異なる通信プロトコルの変換を行い、データの送受信を行う。プロトコル変換装置30は、第1通信部100と、記憶部105と、辞書選択部107と、特定部110と、変換部115と、登録部117と、学習処理部120と、カウント部125と、更新部130と、第2通信部135とを有する。
【0030】
第1通信部100は、記憶部105に接続され、第1通信プロトコルを用いて通信する第1通信機器20から第1パラメータについての第1データを受信する。第1通信部100は、受信した第1データを記憶部105に格納する。ここで、第1パラメータは、第1通信プロトコルで規定される、第1データの名称、定義、種類(例えば、測定値、制御値、設定値、上限値、又は下限値)、属性、意味、又は単位のうちの少なくとも1つを含んでよい。
【0031】
記憶部105は、プロトコル変換装置30の各構成に接続され、第1通信プロトコル辞書及び第2通信プロトコル辞書を記憶する。記憶部105は、第1通信機器20の種類に対応付けられた第1通信プロトコル辞書に対して、複数の第2通信プロトコル辞書を記憶してよい。
【0032】
ここで、第1通信プロトコル辞書は、第1通信プロトコルの複数の第1パラメータのそれぞれと、各第1パラメータについてのデータ(第1パラメータの値等)とを対応付けたデータ辞書である。第2通信プロトコル辞書は、IEC 61987 CDD(Common Data Dictionary)の標準フォーマット又はecl@ssの少なくとも1つにより規定された、第2通信プロトコルの複数の第2パラメータのそれぞれと、各第2パラメータについての第2データ(第2パラメータの値等)とを対応付けたデータ辞書である。ここで、第2パラメータは、第2通信プロトコルで規定される、第2データの名称、定義、種類(例えば、測定値、制御値、設定値、上限値、又は下限値)、属性、意味、又は単位のうちの少なくとも1つを含んでよい。第1通信プロトコル辞書、第2通信プロトコル辞書は、IEC 61987 CDD(Common Data Dictionary)の標準フォーマット及びecl@ssに規定されていなくてもよい、例えばメーカ固有のパラメータを少なくても1つを更に含んでもよい。第2通信プロトコル辞書は、複数の第2パラメータのうちの少なくとも1つとして、第1通信機器20に関する、発注コード、メーカの受注条件、トレーサビリティ情報、有害物質情報、又は稼働状態の情報のうちの少なくとも1つについてのパラメータを更に含んでよい。第2通信プロトコルの複数の第2パラメータは、第1通信プロトコルの複数の第1パラメータとは異なる規定であってよい。
【0033】
辞書選択部107は、記憶部105及び特定部110に接続され、記憶部105に格納された複数の第2通信プロトコル辞書のうち、第1通信機器20の種類に対応する第2通信プロトコル辞書を選択する。辞書選択部107は、第1通信機器20に対応する又は第2通信機器40の指示に対応する第2通信プロトコル辞書を選択してよい。
【0034】
特定部110は、学習処理部120、カウント部125、及び変換部115に接続される。特定部110は、第2通信プロトコル辞書における複数の第2パラメータのうち、第1パラメータと第2パラメータと対応付けたテーブル(以下、パラメータテーブルとも呼ぶ)に基づいて、第1パラメータに対応する対応第2パラメータを特定する。特定部110は、辞書選択部107が選択した第2通信プロトコル辞書に含まれる第2パラメータと第1パラメータとを対応付けたパラメータテーブルに基づいて、対応第2パラメータを特定してよい。特定部110は、パラメータテーブルに基づいて第2パラメータを特定できない場合、第1通信プロトコルにおける第1パラメータ又は第2通信プロトコルにおける第2パラメータの一方の指定を入力したことに応じて、指定されたパラメータに対応する第1通信プロトコルにおける第1パラメータ又は前記第2通信プロトコルにおける第2パラメータの他方を特定するモデル(以下、パラメータ特定モデルとも呼ぶ)を用いて、複数の第2パラメータのうち、対応第2パラメータを特定してよい。
【0035】
変換部115は、登録部117に接続される。変換部115は、第1データの値を、特定部110により特定された対応第2パラメータに応じた値に変換することにより、第1データを第2データに変換する。例えば、変換部115は、第1パラメータと第2パラメータとの関係に応じて変換を行う。
【0036】
登録部117は、記憶部105に接続される。登録部117は、第2通信プロトコル辞書中の対応第2パラメータに対応付けて、第1データに応じた第2データを登録する。登録部117は、第2データを、第2通信プロトコル辞書中の対応第2パラメータに対応付けて記憶部105に格納してよい。
【0037】
学習処理部120は、特定部110に接続される。学習処理部120は、特定部110により特定した対応第2パラメータに対するユーザ指定に応じて、パラメータ特定モデルを更新する。学習処理部120は、特定部110により用いられるパラメータ特定モデルを学習処理して更新してよい。学習処理部120は、パラメータ特定モデルを、例えば教師有り学習により更新してよい。
【0038】
カウント部125は、更新部130に接続される。カウント部125は、記憶部105に格納された第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つにおけるパラメータについて、特定部110により特定された特定回数又は更新部130により更新された更新回数のうちの少なくとも1つをカウントする。尚、カウント部125は単純な特定回数又は更新回数だけではなく、特定若しくは更新の履歴の日付/時間又は特定若しくは更新の内容等の少なくとも1つを記録してもよい。
【0039】
更新部130は、記憶部105に接続される。更新部130は、記憶部105に格納された第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータを更新する。更新部130は、カウント部125におけるカウントに応じて第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータを更新してよい。更新部130は、第1通信機器20又は第2通信機器40から受信した更新データに応じて、第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータを更新してよい。更新部130は、記憶部105に格納された第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つと、第1通信機器20又は第2通信機器40に格納された第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つとを同期させるように、第1通信機器20又は第2通信機器40に格納された第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータを更新してよい。
【0040】
第2通信部135は、記憶部105及び第2通信機器40に接続される。第2通信部135は、対応第2パラメータに対応付けられた第1パラメータについての第1データに応じた第2データを、第2通信プロトコルを用いて第2通信機器40に送信する。第2通信部135は、記憶部105に格納されている第2データを読み出して、送信してよい。
【0041】
図2は、第1通信プロトコル辞書の一例を示す。第1通信プロトコル辞書は、各第1通信機器20について規定され、第1パラメータを示すコードと、各第1パラメータとを対応付けたテーブルであってよい。図2における第1通信プロトコル辞書は、電磁流量計を含む第1通信機器20について規定され、コードA10が電磁流量計の設定値Damping(単位はsec)を示すこと、コードA20が電磁流量計の測定値の単位を示すこと、コードA30が電磁流量計の測定値の上限値を示すこと、コードA40が電磁流量計の測定値の下限値を示すこと等を規定する。ここで、図2におけるコードのAは、第1通信機器20の種類毎の識別子又は第1通信機器20毎の識別子であってよく、コードの10,20・・・は、それぞれ第1パラメータに割り当てられた識別子であってよい。第1通信プロトコル辞書は、さらに、各コードに対応付けて第1パラメータの第1データを含んでよい。なお、本実施形態における第2通信プロトコル辞書についても、第1通信プロトコル辞書と同様の構成であってよい。
【0042】
図3は、プロトコル変換装置30におけるプロトコル変換動作を示すフロー図である。ステップS300において、プロトコル変換装置30の第1通信部100は、第1通信機器20から、第1パラメータについての第1データを受信する。第1通信部100は、第1通信機器20及び第1パラメータを示すコードとともに、第1データを受信してよい。第1通信部100は、一例として、BRAIN通信プロトコルを用いて、第1通信機器20から第1データを受信してよい。プロトコル変換装置30は、定期的に又は第1通信機器20における第1パラメータの第1データが変更されることに応じて、第1通信機器20から第1パラメータについての第1データを受信してよい。また、プロトコル変換装置30は、第1通信機器20に第1パラメータの読み込みを要求するコマンドを送信して、第1通信機器20から当該コマンドの識別子に対応付けた第1データを受信してよい。プロトコル変換装置30は、受信した第1データを、記憶部105内の対応する第1通信プロトコル辞書に格納してよく、又は記憶部105内に第1パラメータに対応付けて格納してよい。
【0043】
ステップS305において、辞書選択部107は、記憶部105において、第1データを送信した第1通信機器20の識別子に対応する複数の第2通信プロトコル辞書から1つの辞書を特定して選択する。辞書選択部107は、第1データを送信した第1通信機器20の種類毎の識別子又は第1通信機器20毎の識別子に対応する第2通信プロトコル辞書を選択してよい。辞書選択部107は、第1通信機器20の種類毎の識別子又は第1通信機器20毎の識別子と第2通信プロトコル辞書の対応関係を示す辞書テーブルを有してよく、当該辞書テーブルから、第1通信機器20に対応する第2通信プロトコル辞書を特定してよい。辞書選択部107が第1通信機器20に対応する第2通信プロトコル辞書を選択した場合(Yesの場合)、プロトコル変換装置30は処理をステップS310に進める。辞書選択部107が、第1通信機器20に対応する第2通信プロトコル辞書を記憶部105内で特定できなかった場合(Noの場合)、プロトコル変換装置30は処理をステップS315に進める。例えば、辞書選択部107は、辞書テーブルに第1通信機器20の識別子に対応する第2通信プロトコル辞書が規定されていない場合は、対応する第2通信プロトコル辞書を特定できない。なお、辞書テーブルは、ユーザにより入力されてよく、また、パラメータ特定モデルにより特定された第1通信機器と第2通信プロトコル辞書との対応関係を追加して、特定部110により予め作成されたものであってよい。
【0044】
ステップS310において、特定部110は、辞書選択部107により選択した第2通信プロトコル辞書内で、複数の第2パラメータのうち、第1パラメータに対応する対応第2パラメータを特定する。特定部110は、第1パラメータと第2パラメータの対応関係を示すパラメータテーブルを有してよく、当該パラメータテーブルで第1パラメータに対応する対応第2パラメータを特定してよい。特定部110が対応第2パラメータを特定した場合(Yesの場合)、プロトコル変換装置30は処理をステップS320に進める。特定部110が、選択した第2通信プロトコル辞書内で対応第2パラメータを特定できなかった場合(Noの場合)、プロトコル変換装置30は処理をステップS315に進める。例えば、特定部110は、パラメータテーブルに対応第2パラメータが規定されていない場合は、対応第2パラメータを特定できない。なお、パラメータテーブルは、ユーザにより入力されてよく、また、パラメータ特定モデルにより特定された第1パラメータと第2パラメータとの対応関係を追加して、特定部110により予め作成されたものであってよい。
【0045】
ステップS315において、特定部110は、パラメータ特定モデルを用いて、第1パラメータに対応する対応第2パラメータを特定する。特定部110は、第1パラメータの指定をモデルに入力して、パラメータ特定モデルの出力であるパラメータを対応第2パラメータとして特定してよい。この場合、特定部110は、第1パラメータと、パラメータ特定モデルで特定した対応第2パラメータとの対応関係を示すように、辞書テーブル及びパラメータテーブルを更新して、特定部110内に格納してよい。
【0046】
ステップS320において、変換部115は、第1データの値を特定部110により特定した対応第2パラメータに応じて変換する。変換部115は、第1データの値を、第1パラメータと対応第2パラメータとの関係に応じた係数で乗算すること、又は対応第2パラメータに応じた関数で演算することのうちの少なくとも1つにより、第2データに変換してよい。
【0047】
例えば、第1パラメータである測定値の単位がcm(センチメートル)で、対応第2パラメータの単位がm(メートル)のように、単位が異なる場合に、変換部115は、第1データの値に係数(1/100)を乗算することにより、第1データを対応第2パラメータに適合させることができる。また、第1パラメータである設定値(一例としてDamping)が値(一例として100sec)を示し、対応第2パラメータが割合(一例として設定値の上限200と下限0との間の割合%)を示す場合に、変換部115は、関数(一例として、100×100sec/(200sec-0sec)=50%)で割合に変換することにより、第1データを対応第2パラメータに適合させることができる。
【0048】
変換部115において用いられる係数及び関数は、ユーザにより入力され、第1パラメータと対応第2パラメータの対応関係に関連付けてパラメータテーブルに格納されてよい。
【0049】
ステップS325において、登録部117は、対応第2パラメータに対応付けて、第2データを登録する。登録部117は、対応第2パラメータに対応付けて、第2データを第2通信プロトコル辞書内に格納してよく、又は記憶部105内での第2データの位置(アドレス等)を第2通信プロトコル辞書内に格納してよい。登録部117は、第1通信機器20から第1データとして測定値を受信した場合には、第1データの測定時刻又は受信時刻を示すタイムスタンプを第2データに対応付けて登録してよい。
【0050】
登録部117は、特定部110によりパラメータ特定モデルを用いて特定した対応第2パラメータの第2データに対応付けて、フラグを登録してよい。例えば、登録部117は、ステップS315においてパラメータ特定モデルを用いて特定した対応第2パラメータの第2データにはフラグ値1を対応付けて登録し、S310においてパラメータテーブルを用いて特定した対応第2パラメータの第2データにはフラグ値0を対応付けて登録してよい。ユーザは、当該フラグが登録されたデータについて、パラメータ特定モデル又はパラメータテーブルのいずれを用いてパラメータが対応しているか否かを判断でき、メータ特定モデルの学習のためのデータ(例えば、教師データ)を作成できる。
【0051】
ステップS330において、第2通信部135は、第2通信プロトコルを用いて対応第2パラメータについての第2データを送信する。第2通信部135は、一例として、HART(登録商標)プロトコルを用いて、第2通信機器40に第2データを送信してよい。第2通信部135は、対応第2パラメータを要求するコマンドを第2通信機器40から受信することに応じて、又は、定期的に、記憶部105内の第2データを第2通信機器40に送信してよい。例えば、第2通信部135は、対応第2パラメータを示すコードをコマンドとともに受信すると、第2通信プロトコル辞書内の当該コードに対応する第2パラメータを特定し、当該第2パラメータに対応付けられている第2データを記憶部105から読み出して送信してよい。第2通信部135は、対応第2パラメータの代わりに、読み取りコマンドとともに第1通信機器20の識別子を受信すると、第1通信機器20から受信した第1データに対応する対応第2パラメータの第2データを第2通信機器40に送信してもよい。
【0052】
第2通信部135は、パラメータ特定にパラメータ特定モデルを用いたか否かを示すフラグを、第2データとともに第2通信機器40に送信してよい。第2通信部135は、第2データとともに対応するタイムスタンプを第2通信機器40に送信してもよい。また、第2通信部135は、第2データと、前回送信した対応第2パラメータのデータとの間の差分を送信することで、通信の高速化、負荷分散を図ることができる。
【0053】
第2通信部135は、巡回冗長検査(Cyclic Redundancy Check、CRC)等のデータチェック機能を用いて、第2通信機器40に第2データを送信してよい。第2通信部135は、送信する第2データから予め定められた式で算出した検査データを第2データとともに送信し、第2通信機器40は、受信した第2データから同じ予め定められた式で算出した値と受信した検査データとを比較して、データの誤り等を検出できる。これにより、データの信頼性を高めることができる。予め定められた式は、ユーザにより規定されたものであってよい。
【0054】
ステップS335において、更新部130は、第2通信機器40からの更新データ又はカウント部125のカウントに応じて、第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータを更新する。更新部130は、第2通信機器40から第1パラメータ又は第2パラメータのコードとともに、対応するパラメータを変更又は削除することを示す更新データを第2通信部135が受信すると、記憶部105に格納されている第1通信プロトコル辞書又は第2通信プロトコル辞書における対応するパラメータを、変更又は削除することにより更新してよい。また、更新部130は、第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つに新たなパラメータを追加することを示す更新データを第2通信部135が受信すると、記憶部105に格納されている第1通信プロトコル辞書又は第2通信プロトコル辞書について、当該新たなパラメータを追加することにより更新してよい。
【0055】
カウント部125は、記憶部105に格納されている複数の第1通信プロトコル辞書及び複数の第2通信プロトコル辞書について、パラメータ毎に特定部110により特定された特定回数(又は登録部117によりデータが登録された回数)をカウントしてよい。さらに、カウント部125は、第2通信機器40から受信した更新データにより第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つを更新した更新回数をカウントしてよい。更新部130は、予め定められた期間内で、カウントされた特定回数又は更新回数のうちの少なくとも1つが閾値未満(例えば0回)であるパラメータを、対応する辞書から削除することにより、記憶部105に格納された第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つを更新してよい。当該閾値は、ユーザにより設定されてよい。更新部130は、不要なパラメータを削除して、情報伝送量の頻度を減らし、データベース量(メモリ量)や情報量(通信電力)を減じることが可能となり、パラメータの特定が効率的になる。
【0056】
第1通信機器20が第1通信プロトコル辞書を有し、第2通信機器40が第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つを有する場合、更新部130は、記憶部105に格納された第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータを、第1通信機器20又は第2通信機器40の少なくとも一つに格納された第1通信プロトコル辞書における少なくとも一つのパラメータとともに更新してよい。更新部130は、記憶部105内の第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つと同じ更新を行うための更新データを第1通信機器20又は第2通信機器40の少なくとも一つに送信してよい。例えば、第2通信部135は、第2通信機器40から第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータの更新データを受信し、記憶部105の第1通信プロトコル辞書又は第2通信プロトコル辞書の少なくとも一つにおける少なくとも一つのパラメータを更新する。第1通信部100は、第1通信プロトコル辞書における少なくとも一つのパラメータの更新データを第1通信機器20に送信する。第1通信機器20は、受信した第1通信プロトコル辞書における少なくとも一つのパラメータの更新データを格納する。これにより、更新部130は、システム10内の全ての辞書を同期させてよい。これにより、第1通信機器20の製品ライフサイクルにおけるおいて更新される新しい管理項目にシステム全体で追従することが可能となる。この際、プロトコル変換装置30は、ステップS330と同様に、巡回冗長検査(Cyclic Redundancy Check、CRC)などのデータチェック機能を用いて、更新データを送信してよい。
【0057】
なお、プロトコル変換装置30は、第2通信機器40から、第2通信プロトコルを用いて、第1パラメータを読み取る又は書き込むためのコマンドを受信したことに応じて、第2データを第2通信機器40に送信してもよい。この場合、第2通信機器40は、プロトコル変換装置30と同じ、第1通信プロトコル辞書、第2通信プロトコル辞書、辞書テーブル、特定部、登録部、辞書選択部及びパラメータテーブルを有してよい。
【0058】
例えば、第2通信機器40は、第1通信機器20からの第1パラメータを読み取る場合、プロトコル変換装置30と同様に、当該第1パラメータに対応する第2パラメータを特定してよい。第2通信機器40は、第2パラメータを示すコードとともに、第2パラメータに対応する対応第1パラメータについての第2データに応じた第1データを要求するコマンドをプロトコル変換装置30に送信する。ここで、第2パラメータは、第1通信機器20から読み取る測定値であってよい。
【0059】
辞書選択部107は、辞書テーブルから、要求された第2パラメータの第2通信プロトコル辞書に対応する第1通信プロトコル辞書を選択してよい。特定部110は、選択された第1通信プロトコル辞書における複数の第1パラメータのうち、第2パラメータに対応する対応第1パラメータを、パラメータテーブルを用いて特定してよい。辞書テーブルに、対応する第1通信プロトコル辞書が規定されていない場合又はパラメータテーブルに対応第1パラメータが規定されていない場合、特定部110は、第2通信プロトコルにおける第2パラメータの指定を入力したことに応じて、指定された第2パラメータに対応する対応第1パラメータを特定するパラメータ特定モデルを用いて、第2パラメータに対応する対応第1パラメータを特定してもよい。
【0060】
第1通信部100は、対応第1パラメータの読み込み要求を第1通信機器20に送信してよい。第1通信機器20は、読み込み要求に応じて、測定した測定値(対応第1パラメータについての第1データ)をプロトコル変換装置30に送信できる。
【0061】
第1通信部100は、要求された対応第1パラメータについての第1データを受信し、登録部117は、受信した第1データを対応する第1通信プロトコル辞書に登録する。変換部115は、第1通信プロトコル辞書中の対応第1パラメータについての第1データを、変換関数等を用いて、第1データに応じた第2データに変換することにより、第2パラメータに適合させてよい。登録部117は、第2通信プロトコル辞書におけるコマンドで要求された第2パラメータに対応付けて、第2データを登録してよい。第2通信部135は、変換した第2データを第2通信機器40に送信してよい。この際、第2通信部135は、第2パラメータを読み込み要求したコマンドに対応する識別子(トランザクション識別子等)とともに、第2データを送信してよい。
【0062】
また、第2通信機器40は、第1通信機器20を制御するための制御値等の第1パラメータを第1通信機器20の第1通信プロトコル辞書に書き込む場合、第1パラメータを書き込むためのコマンドを送信してよい。第2通信機器40は、プロトコル変換装置30と同様に、第1パラメータに対応する第2パラメータを特定し、第2パラメータを示すコードとともに、第2パラメータについての第2データ及び書き込みを要求するコマンドをプロトコル変換装置30に送信してよい。これにより、第1通信機器20は、書き込まれた制御値に応じて、制御対象を制御することができる。
【0063】
プロトコル変換装置30において、特定部110は、第2パラメータに対応する対応第1パラメータを、辞書テーブル、パラメータテーブル、又はパラメータ特定モデルの少なくとも1つを用いて特定し、変換部114は、第2データを、対応する第1データに変換して、対応第1パラメータに適合させてよい。第1通信部100は、特定した対応第1パラメータのコードともに第1データを第1通信機器20に送信して、第1通信機器20内の第1通信プロトコル辞書に第1データを登録させてよい。この場合、プロトコル変換装置30は、第1データ及び第2データを、記憶部105内の対応する第1通信プロトコル辞書及び第2通信プロトコル辞書に登録して、第1通信機器20内の第1通信プロトコル辞書と同期させてよい。
【0064】
第1通信機器20は、第1パラメータのコードともに、登録した第1データをプロトコル変換装置30に送信してよい。プロトコル変換装置30は、読み込み要求の場合と同様に、第1パラメータの対応第2パラメータを特定し、第1データを第2データに変換してよい。プロトコル変換装置30は、対応第2パラメータを示すコード及び第2データを第2通信機器40に送信してよい。これにより、第2通信機器40は、書き込み要求した第2データが第1通信機器20の第1通信プロトコル辞書に登録されたことを確認することができる。
【0065】
また、プロトコル変換装置30は、第2通信機器40から、記憶部105内の情報(第2パラメータ)を要求するコマンドを受信したことに応じて第2通信機器40と通信してもよい。プロトコル変換装置30は、第1通信機器20に関する、発注コード、メーカの受注条件、トレーサビリティ情報、有害物質情報、又は稼働状態の情報の少なくとも1つのコードとともに読み取りコマンドを第2通信機器40から受信すると、記憶部105における第2通信プロトコル辞書内の対応する情報を当該コードとともに、第2通信機器40に送信してよい。
【0066】
ここで、第1通信機器20に関する発注コードは、第1通信機器20を購入する場合に購買システムに関連付けられたコードである。第1通信機器20に関するメーカの受注条件は、第1通信機器20の購入におけるリードタイム、価格、又は部品番号のうちの少なくとも1つである。第1通信機器20に関するトレーサビリティ情報は、第1通信機器20の計測精度に関する情報である。第1通信機器20に関する有害物質情報は、第1通信機器20の測定対象である化学物質のリスクに関する情報である。第1通信機器20に関する稼働状態の情報は、第1通信機器20の稼働に関するCO排出量、メンテナンス情報、稼働時間、又は消費電力の少なくとも1つである。
【0067】
プロトコル変換装置30は、発注コード、メーカの受注条件、トレーサビリティ情報、有害物質情報、又は稼働状態の情報の少なくとも1つを、第1通信機器20又は第2通信機器40から取得してよい。また、プロトコル変換装置30は、稼働状態の情報を、第1通信機器20から取得した情報から算出してもよい。例えば、プロトコル変換装置30は、第1通信機器20の稼働時間(一例として、24時間×300日)を第1通信機器20から取得して、第2通信プロトコル辞書に格納された情報(一例として、第1通信機器20の単位時間当たりの消費電力4mW)から稼働時間に応じた値を算出してよい(一例として、合計消費電力=24×300×4)。
【0068】
プロトコル変換装置30は、このような情報を格納することで、第1通信機器20について、不具合発生時や新品調達等の際に部品選定が容易になり、また、メンテナンス時期に対する計画立案を容易にすることができる。
【0069】
図4は、プロトコル変換装置30におけるパラメータ特定動作を説明するための説明図である。図4において、プロトコル変換装置30は、第1通信プロトコル辞書における1つのパラメータについてのデータを受信し、2つの第2通信プロトコル辞書2a、2bにおける対応パラメータをそれぞれ特定する。
【0070】
辞書選択部107は、第1通信部100が第1通信機器20からコードA10とともにDampingの値を示すデータを受信すると、辞書テーブルを参照して、第1通信機器20(AXF)の識別子Aに対応する機器AXFを特定し、特定された機器に用いられる第2通信プロトコル辞書2aを選択する。特定部110は、パラメータテーブル(AXF-AXF)を参照して、第2通信プロトコル辞書2aにおいて、コードA10に対応する対応第2パラメータB10を特定する。変換部115は、受信した値をパラメータテーブル(AXF-AXF)に格納された変換関数により変換する。登録部117は、変換部115が変換した値を第2パラメータB10に対応付けて登録する。
【0071】
また、辞書選択部107は、第1通信部100が第1通信機器20からコードA10とともにDampingの値を示すデータを受信すると、辞書テーブルを参照して、第1通信機器20(AXF)の識別子Aに対応する機器AXGを特定し、特定された機器に用いられる第2通信プロトコル辞書2bを選択する。特定部110は、パラメータテーブル(AXF-AXG)を参照して、第2通信プロトコル辞書2bにおいて、コードA10に対応する対応第2パラメータC10を特定する。パラメータテーブル(AXF-AXG)には変換関数が格納されていないため、登録部117は、変換されていない値(第1通信部100が受信したデータの値)を、第2パラメータC10に対応付けて登録する。
【0072】
図5は、パラメータ特定モデルを説明するための説明図である。パラメータ特定モデルは、ニューラルネットワーク、決定木等の機械学習モデルであってよい。パラメータ特定モデルは、第1パラメータの指定が入力されると、対応第2パラメータを出力する。パラメータ特定モデルは、第1パラメータの指定として、第1通信機器20から受信した第1データ、第1パラメータに対応する第1通信プロトコル辞書の内容(第1パラメータの定義等)、又は第1通信機器20についての取扱説明書の文書の少なくとも1つを含むテキストデータが入力されてよい。パラメータ特定モデルは、対応第2パラメータとして、複数の第2通信プロトコル辞書の複数の第2パラメータのうち、最も確率の高い第2パラメータを出力してよい。
【0073】
図5の例のパラメータ特定モデルは、「Damping(パラメータ名:A社)」、「Damp (取扱説明書のパラメータ名:B社)」、「Ftime (パラメータ名:C社)」、「PV damping (パラメータ名:D社)」、「Flow damping (取扱説明書のパラメータ名:E社)」のいずれが入力された場合でも、第2通信プロトコル辞書の第2パラメータ「Damping」を出力する。例えば、第2通信プロトコル辞書が「No Damp filter」及び「Damping enable」といった、他にもDampingに関連するパラメータを持っていても、入力層で情報を集めることで、対応第2パラメータを正しく特定することができる。ここで、「Damping(パラメータ名:A社)」は、Dampingというパラメータ名と、第1通信機器20のメーカ名とを入力したことを示し、「Damp (取扱説明書のパラメータ名:B社)」は、Dampという取扱説明書に記載されたパラメータ名と、第1通信機器20のメーカ名とを入力したことを示し、「Ftime (パラメータ名:C社)」は、Ftimeというパラメータ名と、第1通信機器20のメーカ名とを入力したことを示し、「PV damping (パラメータ名:D社)」は、PV dampingというパラメータ名と、第1通信機器20のメーカ名とを入力したことを示し、「Flow damping (取扱説明書のパラメータ名:E社)」は、Flow dampingというパラメータ名と、第1通信機器20のメーカ名とを入力したことを示す。
【0074】
学習処理部120は、パラメータ特定モデルを生成及び更新してよい。学習処理部120は、学習データとして、記憶部105内の複数の第1通信プロトコル辞書及び複数の第2通信プロトコル辞書の内容(メーカ名、名称、定義等)を取得してよい。学習処理部120は、学習データとして、第1通信プロトコル辞書に対応する第1通信機器20の取扱説明のデータ(文書のテキストデータ等)を、ユーザ、第1通信機器20、又は第2通信機器40からさらに取得してもよい。学習処理部120は、教師データとして、予めユーザ等が指定して対応関係が分かっている第1パラメータと第2パラメータのセットを取得してよい。
【0075】
学習処理部120は、第1通信プロトコル辞書、第2通信プロトコル辞書、及び対応する第1通信機器20の取扱説明書を含む学習データ(パラメータの名称または説明等のテキストデータ)を、文字列分析して特徴ベクトル化し、特徴ベクトル同士の対応関係を出力するようにパラメータ特定モデルを学習してよい。
【0076】
例えば、学習処理部120は、各パラメータについて、学習データであるテキストデータから複数の予め定めたキーワードを抽出し、特徴ベクトルを得る。学習処理部120は、第1パラメータの特徴ベクトルと、対応関係が分かっている対応第2パラメータの特徴ベクトルとの間の一致度をより高く算出し、第1パラメータの特徴ベクトルと、対応しないことが分かっている第2パラメータの特徴ベクトルとの間の一致度をより低く算出するようにパラメータ特定モデルを学習してよい。特定部110は、入力された第1パラメータの指定からパラメータ特定モデルを用いて算出した特徴ベクトルとの間の一致度が閾値以上である又は最も高い特徴ベクトルを有する第2パラメータを、対応する第2パラメータとして特定してよい。ここで、学習処理部120は、複数の予め定めたキーワード及び閾値を、ユーザから入力されてよく、又は学習により決定してよい。
【0077】
学習処理部120は、特定部110によりパラメータ特定モデルを用いて出力された対応第2パラメータが間違っているというユーザ指定に応じて、パラメータ特定モデルを更新してよい。学習処理部120は、オペレータ又は機器ベンダーが、パラメータ特定モデルを用いて特定されたことを示すフラグが登録された第2データについて訂正した対応第2パラメータを示すユーザ指定を学習処理部120に入力すると、入力された第1パラメータに対して訂正した対応第2パラメータをラベリングした教師データを用いて学習処理を行い、パラメータ特定モデルを更新してよい。なお、学習処理部120は、第2パラメータの指定が入力されると、対応第1パラメータを出力するパラメータ特定モデルについても同様に学習してよい。
【0078】
本実施形態のプロトコル変換装置30により、機器固有パラメータの通信プロトコルを用いる第1通信機器20と、最新の通信プロトコルを用いる第2通信機器40との間で、異なる規定の複数の辞書データを用いてデータを効率的に変換することができる。また、新たな第1通信機器20又は第2通信機器40が追加された場合でも、辞書データや取扱説明書等を用いて、学習モデルでパラメータの対応関係を精度良く特定できる。
【0079】
なお、本実施形態のプロトコル変換装置30は、サーバ等の第2通信機器40内に配置されてもよい。この場合、プロトコル変換装置30は、図3のステップS300-S325と同様に、第1通信機器20からの第1データを第2データに変換して登録してよい。ただし、プロトコル変換装置30は、第2通信部135を含まなくてよく、ステップS330における第2データの送信動作は実行しなくてもよい。また、本実施形態のプロトコル変換装置30は、第1通信機器20が含まれるセンサモジュール内に配置されてもよい。
【0080】
また、本実施形態のプロトコル変換装置30は、辞書テーブル又はパラメータテーブルにおいて対応するパラメータが規定されていない場合には、パラメータ特定モデルを用いて特定を行ったが、代わりに、辞書テーブル又はパラメータテーブルにおいて対応するパラメータが規定されていないことを示すエラーメッセージを第2通信機器40に送信してもよい。また、本実施形態において、プロトコル変換装置30が、2つの通信プロトコルの間の変換を行う実施態様を説明したが、本実施形態のプロトコル変換装置30は、3つ以上の通信プロトコルの間の変換を同様に行ってもよい。
【0081】
また、本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【0082】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0083】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【0084】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能な処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0085】
図6は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。コンピュータ2200にインストールされたプログラムは、コンピュータ2200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ2200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU2212によって実行されてよい。
【0086】
本実施形態によるコンピュータ2200は、CPU2212、RAM2214、グラフィックコントローラ2216、およびディスプレイデバイス2218を含み、それらはホストコントローラ2210によって相互に接続されている。コンピュータ2200はまた、通信インタフェース2222、ハードディスクドライブ2224、DVD-ROMドライブ2226、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ2220を介してホストコントローラ2210に接続されている。コンピュータはまた、ROM2230およびキーボード2242のようなレガシの入/出力ユニットを含み、それらは入/出力チップ2240を介して入/出力コントローラ2220に接続されている。
【0087】
CPU2212は、ROM2230およびRAM2214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ2216は、RAM2214内に提供されるフレームバッファ等またはそれ自体の中にCPU2212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス2218上に表示されるようにする。
【0088】
通信インタフェース2222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ2224は、コンピュータ2200内のCPU2212によって使用されるプログラムおよびデータを格納する。DVD-ROMドライブ2226は、プログラムまたはデータをDVD-ROM2201から読み取り、ハードディスクドライブ2224にRAM2214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
【0089】
ROM2230はその中に、アクティブ化時にコンピュータ2200によって実行されるブートプログラム等、および/またはコンピュータ2200のハードウェアに依存するプログラムを格納する。入/出力チップ2240はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ2220に接続してよい。
【0090】
プログラムが、DVD-ROM2201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ2224、RAM2214、またはROM2230にインストールされ、CPU2212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ2200の使用に従い情報の操作または処理を実現することによって構成されてよい。
【0091】
例えば、通信がコンピュータ2200および外部デバイス間で実行される場合、CPU2212は、RAM2214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース2222に対し、通信処理を命令してよい。通信インタフェース2222は、CPU2212の制御下、RAM2214、ハードディスクドライブ2224、DVD-ROM2201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0092】
また、CPU2212は、ハードディスクドライブ2224、DVD-ROMドライブ2226(DVD-ROM2201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM2214に読み取られるようにし、RAM2214上のデータに対し様々なタイプの処理を実行してよい。CPU2212は次に、処理されたデータを外部記録媒体にライトバックする。
【0093】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU2212は、RAM2214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM2214に対しライトバックする。また、CPU2212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0094】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ2200上またはコンピュータ2200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ2200に提供する。
【0095】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0096】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0097】
10 システム
20 第1通信機器
30 プロトコル変換装置
40 第2通信機器
100 第1通信部
105 記憶部
107 辞書選択部
110 特定部
115 変換部
117 登録部
120 学習処理部
125 カウント部
130 更新部
135 第2通信部
2200 コンピュータ
2201 DVD-ROM
2210 ホストコントローラ
2212 CPU
2214 RAM
2216 グラフィックコントローラ
2218 ディスプレイデバイス
2220 入/出力コントローラ
2222 通信インタフェース
2224 ハードディスクドライブ
2226 DVD-ROMドライブ
2230 ROM
2240 入/出力チップ
2242 キーボード
図1
図2
図3
図4
図5
図6