(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-21
(45)【発行日】2023-08-29
(54)【発明の名称】データ変換装置
(51)【国際特許分類】
H04L 69/08 20220101AFI20230822BHJP
【FI】
H04L69/08
(21)【出願番号】P 2019185489
(22)【出願日】2019-10-08
【審査請求日】2022-09-06
(73)【特許権者】
【識別番号】000133526
【氏名又は名称】株式会社チノー
(74)【代理人】
【識別番号】100109553
【氏名又は名称】工藤 一郎
(72)【発明者】
【氏名】坂口 雄一
【審査官】安藤 一道
(56)【参考文献】
【文献】特開2018-019283(JP,A)
【文献】特開2018-074301(JP,A)
【文献】特開2019-169945(JP,A)
【文献】特表2002-537706(JP,A)
【文献】米国特許出願公開第2012/0102240(US,A1)
【文献】国際公開第2017/030186(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 69/08
(57)【特許請求の範囲】
【請求項1】
通信線の共通プロトコルで構成され、自身のシステムで利用する共通に使用される制御情報である共通制御情報を含みかつ共通制御情報のペイロード内でのデータ保持形式が異なる共通パケットを取得する共通パケット取得部と、
取得した共通パケットのヘッダに記載されているポート番号を取得する往路用ポート番号取得部と、
後記特定ポート番号判断部での判断に利用する特定のポート番号である特定ポート番号を保持する特定ポート番号保持部と、
取得したポート番号が保持されている特定ポート番号か特定のポート番号以外のポート番号であるその他ポート番号であるか判断する特定ポート番号判断部と、
特定ポート番号判断部での判断結果が特定ポート番号であるとの判断結果である場合には、共通プロトコルに従って構成されるパケットのペイロードから他のプロトコルで構成されるヘッダを含むローカルパケットを取得し、そのローカルパケットのヘッダを除去する処理をした結果、残った前記共通制御情報を自身の下流側のシステムで利用するプロトコルである下流プロトコルのデータ形式である往路整形済データに整形する往路特定ポート番号対応処理手段と、
取得したポート番号がその他ポート番号である場合には、共通プロトコルに従って構成されるパケットのペイロードから前記共通制御情報を、自身の下流側のシステムで利用する下流プロトコルのデータ形式である往路整形済データに
直接的に整形する往路その他ポート番号対応処理手段と、
を有する往路データ整形部と、
往路データ整形部にて整形された往路整形済データを出力する往路データ出力部と、
を有するデータ変換装置。
【請求項2】
前記共通パケット又は/及び共通パケットに含まれていた情報をバッファする共通パケットバッファ部と、
直近で往路データ出力部から出力された往路整形済データである直近往路整形済データが構成する共通制御情報を含んでいた共通パケットのポート番号を保持するポート番号保持部と、
前記往路データ出力部からの往路成形済データの出力に対する応答情報を含む下流プロトコルのデータ形式で構成される下流プロトコルパケットを取得する下流プロトコルパケット取得部と、
取得した下流プロトコルパケットに含まれる応答情報の起因となった共通制御情報を含んでいた共通パケットのポート番号を取得する復路用ポート番号取得部と、
取得したポート番号が前記特定のポート番号である場合には、取得した下流プロトコルパケットに含まれる応答情報のデータに他のプロトコルに従ったヘッダを付加しローカルパケットを構成してからそのローカルパケットをペイロードに含む共通プロトコルに従って構成される共通パケットのデータ形式である復路整形済データに整形する復路特定ポート番号対応処理手段と、
取得したポート番号がその他ポート番号である場合には、取得した下流プロトコルパケットに含まれる応答情報のデータをペイロードに含む共通プロトコルに従って構成される共通パケットのデータ形式である復路整形済データに整形する復路その他ポート番号対応処理手段と、
を有する復路データ整形部と、
復路データ整形部で整形された復路整形済データを出力する復路データ出力部と、
下流プロトコルパケット取得部が、下流プロトコルパケットが出力された直近往路整形済データに対する下流プロトコルパケットを取得したか判断する判断部と、
判断部での判断結果が直近往路整形済データに対する下流プロトコルパケットを取得したと判断されるまでは、所定時間内バッファされている共通パケット又は/及び共通パケットに含まれていた情報に基づいて往路データ出力部から往路データを出力しないように制御する往路データ出力制御部と、
をさらに有する請求項1に記載のデータ変換装置。
【請求項3】
通信線の共通プロトコルで構成され、自身のシステムで利用する共通に使用される制御情報である共通制御情報を含みかつ共通制御情報のペイロード内でのデータ保持形式が異なる共通パケットを取得する共通パケット取得ステップと、
取得した共通パケットのヘッダに記載されているポート番号を取得する往路用ポート番号取得ステップと、
後記特定ポート番号判断ステップでの判断に利用する特定のポート番号である特定ポート番号を保持する特定ポート番号保持ステップと、
取得したポート番号が保持されている特定ポート番号か特定のポート番号以外のポート番号であるその他ポート番号であるか判断する特定ポート番号判断ステップと、
特定ポート番号判断ステップでの判断結果が特定ポート番号であるとの判断結果である場合には、共通プロトコルに従って構成されるパケットのペイロードから他のプロトコルで構成されるヘッダを含むローカルパケットを取得し、そのローカルパケットのヘッダを除去する処理をした結果、残った前記共通制御情報を自身の下流側のシステムで利用するプロトコルである下流プロトコルのデータ形式である往路整形済データに整形する往路特定ポート番号対応処理サブステップと、
取得したポート番号がその他ポート番号である場合には、共通プロトコルに従って構成されるパケットのペイロードから前記共通制御情報を、自身の下流側のシステムで利用する下流プロトコルのデータ形式である往路整形済データに
直接的に整形する往路その他ポート番号対応処理サブステップと、
を有する往路データ整形ステップと、
往路データ整形ステップにて整形された往路整形済データを出力する往路データ出力ステップと、を計算機に実行させるデータ変換装置の動作方法。
【請求項4】
前記共通パケット又は/及び共通パケットに含まれていた情報をバッファする共通パケットバッファステップと、
直近で往路データ出力部から出力された往路整形済データである直近往路整形済データが構成する共通制御情報を含んでいた共通パケットのポート番号を保持するポート番号保持ステップと、
前記往路データ出力ステップによる往路成形済データの出力に対する応答情報を含む下流プロトコルのデータ形式で構成される下流プロトコルパケットを取得する下流プロトコルパケット取得ステップと、
取得した下流プロトコルパケットに含まれる応答情報の起因となった共通制御情報を含んでいた共通パケットのポート番号を取得する復路用ポート番号取得ステップと、
取得したポート番号が前記特定のポート番号である場合には、取得した下流プロトコルパケットに含まれる応答情報のデータに他のプロトコルに従ったヘッダを付加しローカルパケットを構成してからそのローカルパケットをペイロードに含む共通プロトコルに従って構成される共通パケットのデータ形式である復路整形済データに整形する復路特定ポート番号対応処理サブステップと、
取得したポート番号がその他ポート番号である場合には、取得した下流プロトコルパケットに含まれる応答情報のデータをペイロードに含む共通プロトコルに従って構成される共通パケットのデータ形式である復路整形済データに整形する復路その他ポート番号対応処理サブステップと、
を有する復路データ整形ステップと、
復路データ整形ステップにて整形された復路整形済データを出力する復路データ出力ステップと、
下流プロトコルパケット取得ステップにて下流プロトコルパケットが出力された直近往路整形済データに対する下流プロトコルパケットを取得したか判断する判断ステップと、
判断ステップでの判断結果が直近往路整形済データに対する下流プロトコルパケットを取得したと判断されるまでは、所定時間内バッファされている共通パケット又は/及び共通パケットに含まれていた情報に基づいて往路データ出力ステップにより往路データを出力しないように制御する往路データ出力制御ステップと、
をさらに有する請求項3に記載のデータ変換装置の動作方法。
【請求項5】
請求項1又は請求項2に記載のデータ変換装置と、
前記往路データ出力部から出力された往路データを取得する往路データ取得部と、
取得した往路データに基づいて制御情報を出力する制御情報出力部と、
制御情報に応じた応答情報を取得する応答情報取得部と、
取得した応答情報に基づいて復路データを取得する復路データ取得部と、
取得した復路データを出力する復路データ出力部と、
を有するマスター制御モジュールと、
マスター制御モジュールから制御情報を取得する制御情報取得部と、
取得した制御情報に基づいて制御信号を取得する制御信号取得部と、
取得した制御信号に基づいて自身の管理する機械装置に制御信号を送信する制御信号送信部と、
自身の管理する機械装置の制御ステータス情報を保持する制御ステータス情報保持部と、
取得した制御信号に基づいて自身の制御ステータス情報を更新する制御ステータス情報更新部と、
制御結果、更新結果、制御ステータス情報のいずれか一以上である制御結果を取得する制御結果取得部と、
取得した制御結果を送信する制御結果送信部と、
を有するスレーブ制御モジュールと、
からなる制御システム。
【請求項6】
前記スレーブ制御モジュールはマスター制御モジュール配下に複数あり、
前記マスター制御モジュールと、複数のスレーブ制御モジュールとは、内部バスにて通信路が形成されている請求項5に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
共通の通信プロトコル(例えばイーサネット(登録商標)・TCP/IP)であるが、ペイロードに積載されているデータの形式が異なる異種の通信パケットをデータの形式ごとに適切に取り扱って同じく共通のシリアル通信などの形式のデータに変換し、あるいはその逆変換を行う技術に関する。
【背景技術】
【0002】
例えば、溶錬炉などの温度制御では、一のマスター制御モジュールと複数のスレーブ制御モジュールとを連結し多数の対象の熱源制御を行っている。マスター制御モジュールと複数のスレーブ制御モジュール間での信号の伝送は、RS-485などの種々の共通するシリアル通信によって行われる。マスター制御モジュールに対してイーサネットやインターネットを介して制御や操作などを行う場合には、TCP/IPプロトコルなどの通信形式のデータをシリアル通信形式のデータに変換するように構成すると便利である。LANを利用できるからである。逆にスレーブ制御モジュールが収集したデータをマスター制御モジュールからイーサネットやインターネットにて接続される記録計や表示器に伝送するためには、シリアル通信形式のデータをTCP/IPプロトコルなど通信形式のデータに変換する。このようなデータの変換を行う装置として、データ変換装置やプロトコル変換装置と呼ばれるものがある(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、近年ではTCP/IPプロトコルに準拠しつつ特定の用途に応じて策定された通信プロトコルが種々存在する。例えば、PLC(プログラマブルロジックコントローラ)向けに策定されたシリアル通信プロトコルであるModbusプロトコルをTCP/IPに従って通信可能に拡張したModbus/TCPがある。このようなプロトコルは、他にも、EtherNet/IP(登録商標)、FL-netなどがある。
【0005】
このような状況下、上述したデータ変換装置やプロトコル変換装置は、種々のTCP/IPプロトコルに準拠するプロトコルに対してもデータの変換が行えることが要請されることとなった。この要請に対する手段としては、例えば、データ変換装置に備えたディップスイッチによる設定やソフトウェアによる設定を行うことでプロトコルに応じたデータ変換を行えるように構成している(例えば、理化工業株式会社 SRZ Z-COM)。
【0006】
しかしながら、変換するプロトコルに応じた設定をディップスイッチやソフトウェアにより手動で行うとすると、変換するプロトコルが変わる度に設定しなおさなければならず煩雑である。また、複数種のプロトコルにて通信する装置が混在してデータ変換装置に接続されている場合には、上記のようにプロトコル毎の設定では対応できず、データ変換を行うことができないという問題が生じる
【課題を解決するための手段】
【0007】
上記課題を解決するために本発明において、通信線の共通プロトコルで構成され、自身のシステムで利用する共通に使用される制御情報である共通制御情報を含みかつ共通制御情報のペイロード内でのデータ保持形式が異なる共通パケットを取得する共通パケット取得部と、取得した共通パケットのヘッダに記載されているポート番号を取得する往路用ポート番号取得部と、後記特定ポート番号判断部での判断に利用する特定のポート番号である特定ポート番号を保持する特定ポート番号保持部と、取得したポート番号が保持されている特定ポート番号か特定のポート番号以外のポート番号であるその他ポート番号であるか判断する特定ポート番号判断部と、特定ポート番号判断部での判断結果が特定ポート番号であるとの判断結果である場合には、共通プロトコルに従って構成されるパケットのペイロードから他のプロトコルで構成されるヘッダを含むローカルパケットを取得し、そのローカルパケットのヘッダを除去する処理をした結果、残った前記共通制御情報を自身の下流側のシステムで利用するプロトコルである下流プロトコルのデータ形式である往路整形済データに整形する往路特定ポート番号対応処理手段と、取得したポート番号がその他ポート番号である場合には、共通プロトコルに従って構成されるパケットのペイロードから前記共通制御情報を直接的に自身の下流側のシステムで利用する下流プロトコルのデータ形式である往路整形済データに整形する往路その他ポート番号対応処理手段と、を有する往路データ整形部と、往路データ整形部にて整形された往路整形済データを出力する往路データ出力部と、を有するデータ変換装置を提供する。
【0008】
また、上記構成を備えるデータ変換装置であって、前記共通パケット又は/及び共通パケットに含まれていた情報をバッファする共通パケットバッファ部と、直近で往路データ出力部から出力された往路整形済データである直近往路整形済データが構成する共通制御情報を含んでいた共通パケットのポート番号を保持するポート番号保持部と、前記往路データ出力部からの往路成形済データの出力に対する応答情報を含む下流プロトコルのデータ形式で構成される下流プロトコルパケットを取得する下流プロトコルパケット取得部と、取得した下流プロトコルパケットに含まれる応答情報の起因となった共通制御情報を含んでいた共通パケットのポート番号を取得する復路用ポート番号取得部と、取得したポート番号が前記特定のポート番号である場合には、取得した下流プロトコルパケットに含まれる応答情報のデータに他のプロトコルに従ったヘッダを付加しローカルパケットを構成してからそのローカルパケットをペイロードに含む共通プロトコルに従って構成される共通パケットのデータ形式である復路整形済データに整形する復路特定ポート番号対応処理手段と、取得したポート番号がその他ポート番号である場合には、取得した下流プロトコルパケットに含まれる応答情報のデータをペイロードに含む共通プロトコルに従って構成される共通パケットのデータ形式である復路整形済データに整形する復路その他ポート番号対応処理手段と、を有する復路データ整形部と、復路データ整形部で整形された復路整形済データを出力する復路データ出力部と、下流プロトコルパケット取得部が、下流プロトコルパケットが出力された直近往路整形済データに対する下流プロトコルパケットを取得したか判断する判断部と、判断部での判断結果が直近往路整形済データに対する下流プロトコルパケットを取得したと判断されるまでは、所定時間内バッファされている共通パケット又は/及び共通パケットに含まれていた情報に基づいて往路データ出力部から往路データを出力しないように制御する往路データ出力制御部と、をさらに有するデータ変換装置を提供する。
【0009】
また、通信線の共通プロトコルで構成され、自身のシステムで利用する共通に使用される制御情報である共通制御情報を含みかつ共通制御情報のペイロード内でのデータ保持形式が異なる共通パケットを取得する共通パケット取得ステップと、取得した共通パケットのヘッダに記載されているポート番号を取得する往路用ポート番号取得ステップと、後記特定ポート番号判断ステップでの判断に利用する特定のポート番号である特定ポート番号を保持する特定ポート番号保持ステップと、取得したポート番号が保持されている特定ポート番号か特定のポート番号以外のポート番号であるその他ポート番号であるか判断する特定ポート番号判断ステップと、特定ポート番号判断ステップでの判断結果が特定ポート番号であるとの判断結果である場合には、共通プロトコルに従って構成されるパケットのペイロードから他のプロトコルで構成されるヘッダを含むローカルパケットを取得し、そのローカルパケットのヘッダを除去する処理をした結果、残った前記共通制御情報を自身の下流側のシステムで利用するプロトコルである下流プロトコルのデータ形式である往路整形済データに整形する往路特定ポート番号対応処理サブステップと、取得したポート番号がその他ポート番号である場合には、共通プロトコルに従って構成されるパケットのペイロードから前記共通制御情報を直接的に自身の下流側のシステムで利用する下流プロトコルのデータ形式である往路整形済データに整形する往路その他ポート番号対応処理サブステップと、を有する往路データ整形ステップと、往路データ整形ステップにて整形された往路整形済データを出力する往路データ出力ステップと、を計算機に実行させるデータ変換装置の動作方法を提供する。
【0010】
また、上記構成を備えるデータ変換装置の動作方法であって、前記共通パケット又は/及び共通パケットに含まれていた情報をバッファする共通パケットバッファステップと、直近で往路データ出力ステップにて出力された往路整形済データである直近往路整形済データが構成する共通制御情報を含んでいた共通パケットのポート番号を保持するポート番号保持ステップと、前記往路データ出力ステップによる往路成形済データの出力に対する応答情報を含む下流プロトコルのデータ形式で構成される下流プロトコルパケットを取得する下流プロトコルパケット取得ステップと、取得した下流プロトコルパケットに含まれる応答情報の起因となった共通制御情報を含んでいた共通パケットのポート番号を取得する復路用ポート番号取得ステップと、取得したポート番号が前記特定のポート番号である場合には、取得した下流プロトコルパケットに含まれる応答情報のデータに他のプロトコルに従ったヘッダを付加しローカルパケットを構成してからそのローカルパケットをペイロードに含む共通プロトコルに従って構成される共通パケットのデータ形式である復路整形済データに整形する復路特定ポート番号対応処理サブステップと、取得したポート番号がその他ポート番号である場合には、取得した下流プロトコルパケットに含まれる応答情報のデータをペイロードに含む共通プロトコルに従って構成される共通パケットのデータ形式である復路整形済データに整形する復路その他ポート番号対応処理サブステップと、を有する復路データ整形ステップと、復路データ整形ステップにて整形された復路整形済データを出力する復路データ出力ステップと、下流プロトコルパケット取得ステップにて下流プロトコルパケットが出力された直近往路整形済データに対する下流プロトコルパケットを取得したか判断する判断ステップと、判断ステップでの判断結果が直近往路整形済データに対する下流プロトコルパケットを取得したと判断されるまでは、所定時間内バッファされている共通パケット又は/及び共通パケットに含まれていた情報に基づいて往路データ出力ステップにより往路データを出力しないように制御する往路データ出力制御ステップと、をさらに有するデータ変換装置の動作方法を提供する。
【発明の効果】
【0011】
本発明により、共通パケットのペイロード内でのデータの保持形式が異なるデータを混在して受信するような場合にも、それらの形式に応じて適切にデータ変換を行うことができる。
【図面の簡単な説明】
【0012】
【
図1】実施形態1のデータ変換装置の機能的構成一例を示すブロック図
【
図2】本データ変換装置を含む制御システムの一例を示す概念図
【
図4】往路特定ポート番号対応処理手段におけるデータ整形の一例を示す図
【
図5】実施形態1のデータ変換装置のハードウェア構成の一例を示す概念図
【
図6】実施形態1のデータ変換装置の処理の流れの一例を示すフロー図
【
図7】実施形態2のデータ変換装置の機能的構成一例を示すブロック図
【
図8】実施形態2のデータ変換装置の処理の流れの一例を示すフロー図
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について、添付図面を用いて説明する。なお、本発明は、これら実施形態に何ら限定されるべきものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施し得る。
【0014】
なお、実施形態1では、主に請求項1、3、5、6について説明する。実施形態2では、主に請求項2、4-6について説明する。
<実施形態1>
<実施形態1 概要>
【0015】
TCPヘッダにはポート番号が書き込まれており、そのポート番号によってTCPパケットのペイロードに積載されている情報の解読方法が対応付けられている。つまりペイロードの情報の記述形式が特定可能である。そこで、パケットのポート番号を取得し、取得したポート番号と対応付けられているペイロードの情報の記述軽視を特定することで、その特定された記述形式に応じて保持されたデータを適宜シリアル通信規格のデータに変換する。
<実施形態1 機能的構成>
【0016】
図1は、本実施形態のデータ変換装置の機能的構成一例を示すブロック図である。図示するように、「データ変換装置」0100は、「共通パケット取得部」0101と、「往路用ポート番号取得部」0102と、「特定ポート番号保持部」0103と、「特定ポート番号判断部」0104と、「往路特定ポート番号対応処理手段」0106及び「往路その他ポート番号対応処理手段」0107を有する「往路データ整形部」0105と、「往路データ出力部」0108と、を有する。
【0017】
なお、以下に記載する各ステップは、ハードウェア及びソフトウェアの組み合わせによる動作として実現され得る。具体的には、コンピュータを利用するものであれば、CPUや主メモリ、バス、あるいは二次記憶装置(フラッシュメモリやSSDなどの不揮発性メモリ、CDやDVDなどの記憶メディアとそれらメディアの読取ドライブなど)、情報入力に利用される入力デバイス、PLC、記録計、印刷機器や表示装置、その他の外部周辺装置などのハードウェア構成部、またその外部周辺装置用のインターフェース、通信用インターフェース、それらのハードウェアを制御するためのドライバプログラムやその他アプリケーションプログラム、ユーザーインターフェイス用アプリケーションなどが挙げられる。そして主メモリ上に展開したプログラムに従ったCPUの演算処理によって、入力デバイスやその他インターフェースなどから入力され、メモリやハードディスク上に保持されているデータなどが加工、蓄積されたり、上記各ハードウェアやソフトウェアを制御するための命令が生成されたりする。あるいは本装置の機能ブロックは専用ハードウェアによって実現されてもよい。
【0018】
また、本明細書に記載の各実施形態は動作方法として実現できるのみでなく、その一部または全部を装置としても実現可能である。また、このような装置の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品、及び同製品を固定した記録媒体も、当然に本明細書に記載の各実施形態の技術的な範囲に含まれる(本明細書の全体を通じて同様である)。
<実施形態1 データ変換装置>
【0019】
図2は、本データ変換装置を含む制御システムの一例を示す概念図である。図示するように、「データ変換装置」0201は、「ハブ」0202を介して「記録計」0203、「制御用PC」0204、「PLC」0205とイーサネット(図中、太実線で示す)により接続されている。データ変換装置は、制御用PCやPLCから制御命令などを受信し、記録計に対して温度情報などの制御対象に関する情報等を送信する。なお、イーサネットで接続される制御用PCなどの各装置を上流側の装置といい、各装置間を接続する通信プロトコル(本例ではイーサネットあるいはそれを含むTCP/IP)を共通プロトコルという。
【0020】
また、データ変換装置は、溶錬炉に備わるヒータなどの「制御対象」0208を制御するための「マスター制御モジュール」0206とシリアル通信回線(図中、太点線で示す)により接続され、上流の制御用PCなどから受信した制御命令をシリアル通信形式のデータに変換してマスター制御モジュールに出力する。マスター制御モジュールには、さらに複数の「スレーブ制御モジュール」0207がシリアル通信回線により接続されデータ変換装置から受信した信号に基づき所定のスレーブ制御モジュールに対して所定の信号を送出する。また、データ変換装置は、マスター制御モジュール(場合によってはスレーブ制御モジュール)から取得した信号(温度情報や制御に関する情報など)を取得し、取得したデータをイーサネットで送信可能な形式にデータ変換して記録計や制御用PCに送信する。また、マスター制御モジュールに対して複数のスレーブ制御モジュールが接続される態様には限られず、マスター制御モジュール(マスターと呼ばなくてもよい)のみがデータ変換装置と接続される態様もある。なお、シリアル通信で接続される制御モジュールなどを下流側装置といい、各装置間を接続するシリアル通信プロトコルを下流プロトコルという。
<実施形態1 共通パケット取得部>
【0021】
「共通パケット取得部」0101と、通信線の共通プロトコルで構成され、自身のシステムで利用する共通に使用される制御情報である共通制御情報を含みかつ共通制御情報のペイロード内でのデータ保持形式が異なる共通パケットを取得する。
【0022】
「共通プロトコル」は、TCP/IPプロトコルが代表的であるが、工場や研究所などのLANに用いられているプロトコルであると効果的である。また、TCP/IPプロトコルに準拠しつつ特定の用途に応じて策定された通信プロトコルのパケットは、いずれもペイロード内でのデータ保持形式においてそれぞれの形式を有するものの、データフレームはTCP/IPプロトコルのデータフレームと同じであり、それらのパケットを共通パケットという。
【0023】
また、自身のシステムとは、
図2で例示したように、自身が構成として含まれるシステムをいう。そして、自身のシステムで共通に使用される制御情報とは、例えば、制御対象の現在の温度や湿度などの制御対象の現状を示す情報や、制御対象に対して設定される目標値や、接続されている各制御モジュールの状態(正常、異常など)を示す情報などの種々の情報である。そして、共通制御情報とは、前述した制御情報であって、自身のシステムで共通に使用される、すなわち、例えばTCP/IPプロトコル通信回線で接続される装置においても、シリアル通信回線で接続される装置においても読取などに供される情報をいう。
【0024】
図3は、共通パケットの一例を示す概念図である。本例では、
図3(a)に「TCP/IPパケット」を示し、
図3(b)に共通パケットの一例として「Modbus/TCPパケット」を示す。
【0025】
図3(a)に示すようにTCP/IPパケットは、TCPヘッダとペイロードからなり、TCPヘッダには、送信元ポート番号、宛先ポート番号、シーケンス番号、確認応答番号などの伝送に関する「管理情報」が格納されている。ペイロードには「データ本体」が格納されている。
【0026】
図3(b)に示すようにModbus/TCPパケットも、TCP/IPパケットのデータフレームのペイロード内に、Modbusプロトコルのヘッダである「Modbusアプリケーションヘッダ」が付加された「データ本体」が保持されている。そして、データ本体が共通制御情報である。
<実施形態1 往路用ポート番号取得部>
【0027】
「往路用ポート番号取得部」0102と、取得した共通パケットのヘッダに記載されているポート番号を取得する。上述したように共通パケットのヘッダには、管理情報として宛先ポート番号が記載されている。この宛先ポート番号を取得する。
<実施形態1 特定ポート番号保持部>
【0028】
「特定ポート番号保持部」0103と、後記特定ポート番号判断部での判断に利用する特定のポート番号である特定ポート番号を保持する。上述のように、特定のポート番号にはそのパケットのペイロードに格納されている情報が特定の記述形式で記述されていることを示す。そこで、特定ポート番号判断部で判断する特定の記述形式と対応付けられているポート番号を特定ポート番号として保持することで、当該記述形式で記述されている情報がそのパケットのペイロードに格納されているか否かの判断を行うことができる。
【0029】
例えば、ポート番号「502」はそのパケットのペイロードにModbusプロトコルに則って記述されたパケットが格納されていることがわかる。つまり格納されている情報がModbusプロトコルによる通信を目的に生成された情報であるか否かを判断しようとする場合には、ポート番号「502」を特定ポート番号として保持し合致するか判断する。他の例として、ペイロードに格納されている情報がEtherNet/IP(登録商標)の場合にはポート番号「2222」を特定ポート番号とし、FL-netの場合にはポート番号「55000~55002」を特定ポート番号として保持するといった具合である。
<実施形態1 特定ポート番号判断部>
【0030】
「特定ポート番号判断部」0104は、取得したポート番号が保持されている特定ポート番号か特定のポート番号以外のポート番号であるその他ポート番号であるか判断する。例えば、特定ポート番号が「502」である場合には、共通パケットのヘッダから取得したポート番号が「502」であるか否かの判断を行う。なお、その他ポート番号は任意に定めればよいが、何らかのプロトコルと対応付けられていないポート番号を選択することが好ましい。
<実施形態1 往路データ整形部>
【0031】
「往路データ整形部」0105は、「往路特定ポート番号対応処理手段」0106と「往路その他ポート番号対応処理手段」0107とを有し、特定ポート番号判断部の判断結果に応じて前述のいずれかの手段によりデータを整形する処理を行う。
<実施形態1 往路特定ポート番号対応処理手段>
【0032】
「往路特定ポート番号対応処理手段」0106は、特定ポート番号判断部での判断結果が特定ポート番号であるとの判断結果である場合には、共通プロトコルに従って構成されるパケットのペイロードから他のプロトコルで構成されるヘッダを含むローカルパケットを取得し、そのローカルパケットのヘッダを除去する処理をした結果、残った前記共通制御情報を自身の下流側のシステムで利用するプロトコルである下流プロトコルのデータ形式である往路整形済データに整形する。
【0033】
図4は、往路特定ポート番号対応処理手段におけるデータ整形の一例を示す図である。
図4(a)は、共通パケットを示しており、
図4(b)に示すように共通パケットから「Modbusアプリケーションヘッダ」と「データ本体」とで構成されるローカルパケットを取得する。そして、
図4(c)に示すように、ローカルパケットのヘッダである「Modbusアプリケーションヘッダ」を除去する。下流プロトコルがModbusRTU(Remote Terminal Unit)モードの場合はCRCを付加し、ModbusASCII(American Standard Code Information Interchange)モードの場合はASCIIコードに変換し、LRCを付加する。
【0034】
さらに、
図4(d)に示すように、下流プロトコルパケットである例えば、Modbusプロトコルのメッセージ・フレームに整形する。なお、「アドレス」は、Modbusアプリケーションヘッダに含まれる「ユニットID」に応じたものでなる。また、ファンクションコードはマスター制御モジュールがスレーブ制御モジュールに対して実行させる機能を設定する。「データ」にはファンクションコードに関連するデータを格納する。このように整形されたデータが往路整形済データとなる。なお、本例ではModbusプロトコルの場合を示したが、他のプロトコルの場合でも、そのプロトコルに応じてヘッダの除去を行い、下流プロトコルのデータ形式に整形すればよい。
<実施形態1 往路その他ポート番号対応処理手段>
【0035】
「往路その他ポート番号対応処理手段」0107は、取得したポート番号がその他ポート番号である場合には、共通プロトコルに従って構成されるパケットのペイロードから前記共通制御情報を直接的に自身の下流側のシステムで利用する下流プロトコルのデータ形式である往路整形済データに整形する。
【0036】
「直接的に整形する」とは、他のプロトコルのヘッダを除去するといった加工を行わず、基本的には共通パケットのペイロードに格納されている共通制御情報をそのまま往路整形済データとすることをいう。
【0037】
例えば、ModbusプロトコルのメッセージをTCP/IPプロトコルにて通信する場合、
図4(d)で示したModbusプロトコルのメッセージ・フレームを分割や加工をせずにTCP/IPプロトコルの1データフレームとしたものを上流側の装置から取得する。したがって、その他ポート番号であると判断された共通パケットが、Modbusプロトコルのメッセージ・フレームを1データフレームとするTCP/IPプロトコル形式のパケットである場合には、その共通パケットのペイロードからModbusメッセージ・フレームを取得して往路整形済データとする。
【0038】
「往路データ出力部」0108は、往路データ整形部にて整形された往路整形済データを出力する。往路整形済データは、基本的には自身の下流側のシステムに出力されるが、これに限定されず他のシステムや他の装置に出力されてもよい。
<実施形態1 ハードウェア>
【0039】
図5は、本実施形態のデータ変換装置のハードウェア構成の一例を示す概念図である。図示するように、データ変換装置は、CPU0501と、不揮発性メモリ(例えば、ROM、SSDなど)0502と、主メモリ0503と、制御用PCや記録計などとの接続のための上流側通信インターフェース0504と、制御モジュールなどとの接続のための下流側通信インターフェースI/F0505と、ユーザーインターフェイスI/F0506とを備え、それらの間で信号の授受等を行うためのシステムバス0507を備える。
【0040】
不揮発性メモリには、通信線の共通プロトコルで構成され、自身のシステムで利用する共通に使用される制御情報である共通制御情報を含みかつ共通制御情報のペイロード内でのデータ保持形式が異なる共通パケットを取得する共通パケット取得プログラムと、取得した共通パケットのヘッダに記載されているポート番号を取得する往路用ポート番号取得プログラムと、後記特定ポート番号判断プログラムによる判断に利用する特定のポート番号である特定ポート番号を保持する特定ポート番号保持プログラムと、取得したポート番号が保持されている特定ポート番号か特定のポート番号以外のポート番号であるその他ポート番号であるか判断する特定ポート番号判断プログラムと、特定ポート番号判断プログラムによる判断結果が特定ポート番号であるとの判断結果である場合には、共通プロトコルに従って構成されるパケットのペイロードから他のプロトコルで構成されるヘッダを含むローカルパケットを取得し、そのローカルパケットのヘッダを除去する処理をした結果、残った前記共通制御情報を自身の下流側のシステムで利用するプロトコルである下流プロトコルのデータ形式である往路整形済データに整形する往路特定ポート番号対応処理サブプログラムと取得したポート番号がその他ポート番号である場合には、共通プロトコルに従って構成されるパケットのペイロードから前記共通制御情報を直接的に自身の下流側のシステムで利用する下流プロトコルのデータ形式である往路整形済データに整形する往路その他ポート番号対応処理サブプログラムとを有する往路データ整形プログラムと、往路データ整形プログラムにより整形された往路整形済データを出力する往路データ出力プログラムなどの各種プログラムや特定ポート番号が記録されている。そして、各プログラムを展開及び実行しインターフェースを介して取得した情報やデータを不揮発性メモリに格納し、格納された情報やデータを主メモリのワーク領域にてプログラムの実行による加工などを行い、往路整形済データの生成し、不揮発性メモリに保持し、又は下流側インターフェースを介してプログラムの実行により出力する。
<実施形態1 処理の流れ>
【0041】
図6は、本実施形態のデータ変換装置の処理の流れの一例を示すフロー図である。図示するように、まず、共通パケットを取得する(S0601)。そして、取得したパケットのポート番号を取得する(S0602)。そして、取得したポート番号が保持されている特定ポート番号であるかその他ポート番号であるかを判断する(S0603)。そして、判断結果が特定ポート番号であるとの場合には、往路特定ポート番号対応処理を行い往路整形済データに整形する(S0604)。また、判断結果がその他ポート番号であるとの場合には、往路その他ポート番号対応処理を行い往路整形済データに整形する(S0605)。そして、いずれかの対応処理により整形された往路整形済データを出力する(S0606)。
<実施形態1 制御システム>
【0042】
上述したデータ変換装置と、マスター制御モジュールと、スレーブ制御モジュールと、からなる制御システムを提供することもできる。
【0043】
この制御システムを構成するマスター制御モジュールは、前記往路データ出力部から出力された往路データを取得する往路データ取得部と、取得した往路データに基づいて制御情報を出力する制御情報出力部と、制御情報に応じた応答情報を取得する応答情報取得部と、取得した応答情報に基づいて復路データを取得する復路データ取得部と、取得した復路データを出力する復路データ出力部と、を有する。
【0044】
また、この制御システムを構成するスレーブ制御モジュールは、マスター制御モジュールから制御情報を取得する制御情報取得部と、取得した制御情報に基づいて制御信号を取得する制御信号取得部と、取得した制御信号に基づいて自身の管理する機械装置に制御信号を送信する制御信号送信部と、自身の管理する機械装置の制御ステータス情報を保持する制御ステータス情報保持部と、取得した制御信号に基づいて自身の制御ステータス情報を更新する制御ステータス情報更新部と、制御結果、更新結果、制御ステータス情報のいずれか一以上である制御結果を取得する制御結果取得部と、取得した制御結果を送信する制御結果送信部と、を有する。
【0045】
また、上記の制御システムにおいて、スレーブ制御モジュールはマスター制御モジュール配下に複数あり、マスター制御モジュールと、複数のスレーブ制御モジュールとは、内部バスにて通信路が形成されている制御システムとしてもよい。
<実施形態1 効果>
【0046】
本実施形態のデータ変換装置によれば、共通パケットのペイロード内でのデータの保持形式が異なるデータを混在して受信するような場合にも、それらの形式に応じて適切にデータ変換を行うことができる。
<実施形態2>
<実施形態2 概要>
【0047】
本実施形態のデータ変換装置は、取得した共通パケットをバッファする構成を有するとともに、直近で出力した往路整形済データに応答する下流側からのデータを取得するまでは、バッファした共通パケットに基づく往路データを出力しないように制御する。
<実施形態2 機能的構成>
【0048】
図7は、本実施形態のデータ変換装置の機能的構成一例を示すブロック図である。図示するように、「データ変換装置」0700は、「共通パケット取得部」0701と、「往路用ポート番号取得部」0702と、「特定ポート番号保持部」0703と、「特定ポート番号判断部」0704と、「往路特定ポート番号対応処理手段」0706及び「往路その他ポート番号対応処理手段」0707を有する「往路データ整形部」0705と、「往路データ出力部」0708と、を有する実施形態1の構成に加え、さらに、「共通パケットバッファ部」0709と、「ポート番号保持部」0710と、「下流プロトコルパケット取得部」0711と、「復路用ポート番号取得部」0712と、「復路特定ポート番号対応処理手段」0714と、「復路その他ポート番号対応処理手段」0715と、「復路データ整形部」0713と、「復路データ出力部」0716と、「判断部」0717と、「往路データ出力制御部」0718と、を有する。実施形態1の構成は説明済みであるので、本実施形態においてさらに加えられた構成について説明する。
<実施形態2 共通パケットバッファ部>
【0049】
「共通パケットバッファ部」0709と、前記共通パケット又は/及び共通パケットに含まれていた情報をバッファする。バッファは、共通パケットを取得したときに行ってもよいし、共通パケットのポート番号を取得したときに行ってもよいし、取得したポート番号が特定番号かその他ポート番号であるかの判断をしたときに行ってもよいし、ポート番号に応じてデータを整形したときに行ってもよい。
図7においては、取得したポート番号の判断を行った後に、共通パケットから取得したローカルパケットをバッファする態様にて共通パケットバッファ部を示した(往路特定ポート番号対応処理手段の機能と一部重複する)。
<実施形態2 ポート番号保持部>
【0050】
「ポート番号保持部」0710と、直近で往路データ出力部から出力された往路整形済データである直近往路整形済データが構成する共通制御情報を含んでいた共通パケットのポート番号を保持する。保持するポート番号は、前述の往路用ポート番号取得部により取得されたポート番号を保持するポート番号とすることができる。
<実施形態2 下流プロトコルパケット取得部>
【0051】
「下流プロトコルパケット取得部」0711と、前記往路データ出力部からの往路整形済データの出力に対する応答情報を含む下流プロトコルのデータ形式で構成される下流プロトコルパケットを取得する。例えば、出力された往路整形済データの内容が、制御対象であるヒータの現在温度を返せという命令だった場合、下流の制御モジュールが取得したヒータの現在温度を示す情報などが応答情報となる。そして、その応答情報を含む下流プロトコルパケットを取得する。
<実施形態2 復路用ポート番号取得部>
【0052】
「復路用ポート番号取得部」0712と、取得した下流プロトコルパケットに含まれる応答情報の起因となった共通制御情報を含んでいた共通パケットのポート番号を取得する。例えば、上述したポート番号保持部が保持しているポート番号を復路用ポート番号として取得する。
<実施形態2 復路データ整形部>
【0053】
「復路データ整形部」0713は、「復路特定ポート番号対応処理手段」0714と、「復路その他ポート番号対応処理手段」0715と、を有する。
<実施形態2 復路特定ポート番号対応処理手段>
【0054】
「復路特定ポート番号対応処理手段」0714と、取得したポート番号が前記特定のポート番号である場合には、取得した下流プロトコルパケットに含まれる応答情報のデータに他のプロトコルに従うヘッダを付加しローカルパケットを構成してからそのローカルパケットをペイロードに含む共通プロトコルに従って構成される共通パケットのデータ形式である復路整形済データに整形する。
【0055】
この手段での整形は、実施形態1の往路特定ポート番号対応処理手段における整形を逆向きに行うものである。例えば、
図4(d)で示したようなメッセージ・フレームからファンクションコードとデータとで構成されるデータ本体(応答情報などが含まれている)を抜き出し、Modbusアプリケーションヘッダなどのような取得したポート番号と対応するプロトコルに応じたヘッダを付加してローカルパケットを構成し、そのローカルパケットをペイロードに格納し、TCPヘッダなどを付加して共通パケットのデータ形式に整形する。
<実施形態2 復路その他ポート番号対応処理手段>
【0056】
「復路その他ポート番号対応処理手段」0715と、取得したポート番号がその他ポート番号である場合には、取得した下流プロトコルパケットに含まれる応答情報のデータをペイロードに含む共通プロトコルに従って構成される共通パケットのデータ形式である復路整形済データに整形する。
【0057】
この手段での整形は、実施形態1の往路その他ポート番号対応処理手段における整形を逆向きに行うものである。例えば、上述した下流プロトコルパケットのデータ本体とアドレスに書き込まれていた情報に基づくユニットIDとをTCP/IPプロトコルのペイロードに1データフレームとして格納するなどの処理を行い復路整形済データに整形する。
<実施形態2 復路データ出力部>
【0058】
「復路データ出力部」0716は、復路データ整形部で整形された復路整形済データを出力する。基本的には自身の上流側のシステムに出力されるが、これに限定されず他のシステムや他の装置に出力されてもよい。
<実施形態2 応答情報判断部>
【0059】
「判断部」0717は、下流プロトコルパケット取得部が下流プロトコルパケットが出力された直近往路整形済データに対する下流プロトコルパケットを取得したか判断する。直近往路整形済データに対する応答情報を含む下流プロトコルパケットを取得したかの判断は、例えば、直近往路整形済データが出力されたときから所定時間内に下流プロトコルパケットを取得したか否かによって行う。所定時間内に取得した場合には取得した下流プロトコルパケットが直近往路整形済データに対する下流プロトコルパケットであると判断する。所定時間内に取得しなかった場合には、タイムアウトとして直近往路整形済データに対する下流プロトコルパケットを取得しなかったと判断する。なお、判断部による判断は、取得した下流プロトコルパケットの内容(形式、格納されている情報など)に基づきなされるものではない。
<実施形態2 往路データ出力制御部>
【0060】
「往路データ出力制御部」0718と、判断部での判断結果が直近往路整形済データに対する下流プロトコルパケットを取得したと判断されるまでは、所定時間内バッファされている共通パケット又は/及び共通パケットに含まれていた情報に基づいて往路データ出力部から往路データを出力しないように制御する。なお、この制御の態様は、整形済みの往路データを往路データ出力部が出力しないように往路データ出力部を制御する態様であってもよいし、共通パケットバッファ部での共通パケット又は共通パケットに基づくローカルパケットのバッファを維持することによって制御する態様であってもよい。また、往路データ出力部における「所定時間」とは、少なくとも判断部による判断がなされるまでの時間(例えば上述したタイムアウトと判断するまでの時間)をいう。
【0061】
このような制御を行うのは、直近往路整形済データに対する下流プロトコルパケットを取得する前に次の共通パケットを整形して下流側に出力してしまうと、応答先の異なる下流プロトコルパケットを混同して取得して、応答すべき先に出力することができなくなるという事態が生じるおそれがあるからである。
<実施形態2 ハードウェア>
【0062】
本実施形態のハードウェア構成は、実施形態1のハードウェア構成に準じて構成することができ、不揮発性メモリに、さらに前記共通パケット又は/及び共通パケットに含まれていた情報をバッファする共通パケットバッファプログラムと、直近で往路データ出力プログラムにより出力された往路整形済データである直近往路整形済データが構成する共通制御情報を含んでいた共通パケットのポート番号を保持するポート番号保持プログラムと、前記往路データ出力プログラムによる往路成形済データの出力に対する応答情報を含む下流プロトコルのデータ形式で構成される下流プロトコルパケットを取得する下流プロトコルパケット取得プログラムと、取得した下流プロトコルパケットに含まれる応答情報の起因となった共通制御情報を含んでいた共通パケットのポート番号を取得する復路用ポート番号取得プログラムと、取得したポート番号が前記特定のポート番号である場合には、取得した下流プロトコルパケットに含まれる応答情報のデータにヘッダを付加しローカルパケットを構成してからそのローカルパケットをペイロードに含む共通プロトコルに従って構成される共通パケットのデータ形式である復路整形済データに整形する復路特定ポート番号対応処理サブプログラムと、取得したポート番号がその他ポート番号である場合には、取得した下流プロトコルパケットに含まれる応答情報のデータをペイロードに含む共通プロトコルに従って構成される共通パケットのデータ形式である復路整形済データに整形する復路その他ポート番号対応処理サブプログラムとを有する復路データ整形プログラムと、復路データ整形プログラムにより整形された復路整形済データを出力する復路データ出力プログラムと、下流プロトコルパケット取得プログラムにより下流プロトコルパケットが出力された直近往路整形済データに対する下流プロトコルパケットを取得したか判断する判断プログラムと、判断プログラムによる判断結果が直近往路整形済データに対する下流プロトコルパケットを取得したと判断されるまでは、所定時間内バッファされている共通パケット又は/及び共通パケットに含まれていた情報に基づいて往路データ出力プログラムにより往路データを出力しないように制御する往路データ出力制御プログラムを保持し、適宜実行することで実現することができる。
<実施形態2 処理の流れ>
【0063】
図8は、実施形態2の処理の流れを示すフロー図である。ここでは、主に実施形態2に特有の処理の流れについて説明する。図示するように、まず、下流プロトコルパケットを取得したか判断する(S0801)。下流プロトコルパケットを取得した場合には、応答情報の起因となった共通制御情報を含んでいた共通パケットのポート番号が特定ポート番号であるかその他ポート番号であるかを判断する(S0802)。そして、判断結果が特定ポート番号であるとの場合には、復路特定ポート番号対応処理を行い復路整形済データに整形する(S0803)。また、判断結果がその他ポート番号であるとの場合には、復路その他ポート番号対応処理を行い復路整形済データに整形する(S0804)。そして、いずれかの対応処理により整形された復路整形済データを出力する(S0805)。
【0064】
一方、S0801での判断結果が下流プロトコルパケットを取得していないとの場合には、直近往路整形済データが出力されたときから所定時間が経過したかを判断する(S0806)。そして、所定時間を経過していないとの判断結果の場合は、バッファされている共通パケットなどに基づく往路データを出力しないように制御し(S0807)、所定時間を経過したとの判断結果の場合は、バッファされている共通パケットなどに基づく往路データを出力する(S0808)。なお、本図では便宜上各処理を一連の流れとして示したが、下流プロトコルパケットの取得から復路用整形済データの出力へ至る処理と、直近往路整形済データを取得したかの判断に基づく往路データ出力の制御とはそれぞれでの処理の流れとなり、図示と異なり往路データの出力が行われた後に復路整形済データの出力が行われる場合もある。
<実施形態2 制御システム>
【0065】
実施形態1又は実施形態2のデータ変換装置と、マスター制御モジュールと、スレーブ制御モジュールと、からなる制御システムを提供することもできる。
【0066】
この制御システムを構成するマスター制御モジュールは、前記往路データ出力部から出力された往路データを取得する往路データ取得部と、取得した往路データに基づいて制御情報を出力する制御情報出力部と、制御情報に応じた応答情報を取得する応答情報取得部と、取得した応答情報に基づいて復路データを取得する復路データ取得部と、取得した復路データを出力する復路データ出力部と、を有する。
【0067】
また、この制御システムを構成するスレーブ制御モジュールは、マスター制御モジュールから制御情報を取得する制御情報取得部と、取得した制御情報に基づいて制御信号を取得する制御信号取得部と、取得した制御信号に基づいて自身の管理する機械装置に制御信号を送信する制御信号送信部と、自身の管理する機械装置の制御ステータス情報を保持する制御ステータス情報保持部と、取得した制御信号に基づいて自身の制御ステータス情報を更新する制御ステータス情報更新部と、制御結果、更新結果、制御ステータス情報のいずれか一以上である制御結果を取得する制御結果取得部と、取得した制御結果を送信する制御結果送信部と、を有する。
【0068】
また、上記の制御システムにおいて、スレーブ制御モジュールはマスター制御モジュール配下に複数あり、マスター制御モジュールと、複数のスレーブ制御モジュールとは、内部バスにて通信路が形成されている制御システムとしてもよい。
【0069】
内部バスにてマスター制御モジュールと複数の制御モジュールとの通信路が形成され、またその通信にシリアル通信規格を用いているという技術的条件があることから、直近往路整形済データに対する下流プロトコルパケットを取得するまではバッファされている共通パケットなどに基づいて往路データを出力しないように制御するという構成をデータ変換装置が有することが適切なデータ伝送においてとくに有益である。
<実施形態2 効果>
【0070】
本実施形態によれば、応答先の異なる下流プロトコルパケットを混同して取得して、応答すべき先に出力することができなくなるとった不都合が生じるおそれがなくなる。
【符号の説明】
【0071】
0100 データ変換装置
0101 共通パケット取得部
0102 往路用ポート番号取得部
0103 特定ポート番号保持部
0104 特定ポート番号判断部
0105 往路データ整形部
0106 往路特定番号対応処理手段
0107 往路その他ポート番号対応処理手段
0108 往路データ出力部