JP2017046250A - マスタ装置、スレーブ装置及び通信システム - Google Patents
マスタ装置、スレーブ装置及び通信システム Download PDFInfo
- Publication number
- JP2017046250A JP2017046250A JP2015168433A JP2015168433A JP2017046250A JP 2017046250 A JP2017046250 A JP 2017046250A JP 2015168433 A JP2015168433 A JP 2015168433A JP 2015168433 A JP2015168433 A JP 2015168433A JP 2017046250 A JP2017046250 A JP 2017046250A
- Authority
- JP
- Japan
- Prior art keywords
- message
- master
- slave
- slave device
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
- Selective Calling Equipment (AREA)
Abstract
【課題】マスタ・スレーブ型の通信プロトコルに従って、マスタ機器とスレーブ機器との間で双方向通信を実現すると共に、無線通信期間の制約に拘らず無線通信を実現することができる。【解決手段】本発明に係るスレーブ装置は、マスタ・スレーブ型の通信プロトコルに従って、マスタ装置に対して自律的に書込要求又は読取要求を行うスレーブ装置であって、マスタ装置に対して書込要求又は読取要求のメッセージを作成する際に、書込みデータに読取応答ヘッダ部を付与し、又は、読取データに書込応答ヘッダ部を付与して、メッセージを作成するメッセージ作成手段と、受信したメッセージのヘッダ部に含まれるメッセージ識別情報に基づいて、書込応答又は読取要求を判別する判別手段とを備えることを特徴とする。【選択図】 図6
Description
本発明は、通信装置及び通信システムに関し、例えば、マスタ・スレーブ型の通信プロトコルModbus(登録商標)を利用してシリアル伝送システムに適用し得るものである。
Modbus(登録商標)は、Modicon社がプログラマブルロジックコントローラ(PLC)向けに策定したシリアル通信プロトコルであり、産業界におけるデファクト標準の通信プロトコルとなっている。Modbusプロトコルは、マスタ・スレーブ型プロトコルとして規定され、センサデバイスなどのシリアル接続された電子機器のレジスタ値の読み書き用途に広く用いられている。
マスタ・スレーブ型の通信プロトコルでは、マスタ側電子機器(以下、マスタ機器と呼ぶ。)からスレーブ側電子機器(以下、スレーブ機器と呼ぶ。)に対してレジスタ値を書込(set)する要求メッセージ、マスタ機器からスレーブ機器に対してレジスタ値を読取(get)する要求メッセージ、および、それら要求メッセージに対する応答メッセージが定義されている。
しかし、スレーブ機器から自律的にマスタ機器に対して通知を行うメッセージは、プロトコル上は規定されていない。
特許文献1には、通信トラフィックの軽減を目的として、マスタ機器側およびスレーブ機器の両方の機能を具備したModbus制御機器を用いることで、スレーブ機器からの自律的な通信をマスタ機器に対して行う方法が開示されている。
しかしながら、Modbusプロトコルにおいては、スレーブ機器から通知することと同等の機能を実現するためには、マスタ機器から周期的にスレーブ側の特定のレジスタ値を読取(get)して、通知の有無を監視(ポーリング)する必要がある。
このマスタ機器からの周期監視方式では、スレーブ機器から発せられる通知はマスタ機器のレジスタ値の読取周期に依存するため、即時性(リアルタイム性)が損なわれることになる。
即時性を確保する方法として、マスタ機器の読取周期を短くする手段がある。しかし、マスタ機器から発せられる監視通信の回数が増えるため、スレーブ機器で通知する情報がない場合にシリアル通信のネットワーク帯域を無駄遣いすることとなる。
また、通信帯域の無駄遣いを回避するために、マスタ機器の読取要求に対して、スレーブ機器で通知する事象が発生するまでスレーブ機器から応答を遅らせる長期監視(ロングポーリング)方式がある。この長期監視方式では、マスタ機器の要求に対してスレーブ機器の応答が長時間送信されないことになるため、通信トランザクション(要求〜応答の一連処理)が長期間生存することになる。そのため、トランザクション管理のために、マスタ機器のリソース(メモリ)を無駄遣いすることとなり、元々簡易で軽量な通信プロトコルであるModbus通信を実装したマスタ機器に不相応なリソースを用意する必要があるという欠点がある。
さらに、シリアル通信を行うネットワーク区間にModbusプロトコル通信をサポートした920MHz帯マルチホップ無線通信機器を利用すると、無線親機側にマスタ機器を搭載し、無線子機側にスレーブ機器を搭載する制約によって、通信機器にマスタ・スレーブ両方の機能を具備してもスレーブ側からマスタ側への通信は無線通信区間の制約により通信ができなくなるという問題がある。
そのため、マスタ装置とスレーブ装置との間で双方向通信を実現すると共に、無線通信期間の制約に拘らず無線通信を実現することができるマスタ装置、スレーブ装置及び通信システムが求められている。
かかる課題を解決するために、第1の本発明に係るスレーブ装置は、マスタ・スレーブ型の通信プロトコルに従って、マスタ装置に対して自律的に書込要求又は読取要求を行うスレーブ装置であって、(1)マスタ装置に対して書込要求又は読取要求のメッセージを作成する際に、書込みデータに読取応答ヘッダ部を付与し、又は、読取データに書込応答ヘッダ部を付与して、メッセージを作成するメッセージ作成手段と、(2)受信したメッセージのヘッダ部に含まれるメッセージ識別情報に基づいて、書込応答又は読取要求を判別する判別手段とを備えることを特徴とする。
第2の本発明に係るマスタ装置は、マスタ・スレーブ型の通信プロトコルに従って、スレーブ装置から自律的な書込要求又は読取要求を受信するマスタ装置であって、(1)受信したメッセージのヘッダ部に含まれるメッセージ識別情報に基づいて、書込要求又は読取応答を判別する判別手段を備えることを特徴とする。
第3の本発明に係る通信システムは、マスタ・スレーブ型の通信プロトコルに従って、マスタ装置とスレーブ装置との間で双方向の通信を行う通信システムであって、スレーブ装置は、マスタ装置に対して書込要求又は読取要求のメッセージを作成する際に、書込みデータに読取応答ヘッダ部を付与し、又は、読取データに書込応答ヘッダ部を付与して、メッセージを作成してマスタ装置に送信し、マスタ装置は、受信したメッセージのヘッダ部に含まれるメッセージ識別情報に基づいて、書込要求又は読取応答を判別し、スレーブ装置は、受信したメッセージのヘッダ部に含まれるメッセージ識別情報に基づいて、書込応答又は読取要求を判別することを特徴とする。
本発明によれば、マスタ装置とスレーブ装置との間で双方向通信を実現すると共に、無線通信期間の制約に拘らず無線通信を実現することができる。
(A)本願発明の技術的概念の説明
本発明は、マスタ・スレーブ型の通信プロトコルに従って、マスタ機器とスレーブ機器との間で行う通信システムにおいて、通信帯域の無駄使いを回避すると共に、マスタ機器のリソースの過搭載の問題を回避し、ネットワーク区間の制約に抵触することなく、スレーブ機器がマスタ機器に対して書込要求又は読取メッセージの送信を実現するものである。
本発明は、マスタ・スレーブ型の通信プロトコルに従って、マスタ機器とスレーブ機器との間で行う通信システムにおいて、通信帯域の無駄使いを回避すると共に、マスタ機器のリソースの過搭載の問題を回避し、ネットワーク区間の制約に抵触することなく、スレーブ機器がマスタ機器に対して書込要求又は読取メッセージの送信を実現するものである。
以下では、マスタ・スレーブ型の通信プロトコルが、シリアルデータの伝送を実現するModbusプロトコルである場合を例示する。なお、通信プロトコルは、Modbusプロトコルの標準化技術に限定されるものではなく、標準化技術を拡張したModbusプロトコルの拡張技術にも適用できる。
また、Modbusプロトコルに従って、シリアルデータの伝送を実現するマスタ側の通信装置を「マスタ装置」と呼び、このマスタ装置を搭載する電子機器を「マスタ機器」と呼ぶ。同様に、スレーブ側の通信装置を「スレーブ装置」と呼び、スレーブ装置を搭載した電子機器を「スレーブ機器」と呼ぶ。
さらに、マスタ機器がスレーブ機器に対してスレーブ機器に搭載されるレジスタのレジスタ値の書き込み又は読み取りを要求するメッセージを「マスタ側発メッセージ」と呼ぶ。
これに対して、スレーブ機器が、自律的に、自身に搭載されるレジスタのレジスタ値の書き込み又は読み込みを行ない、その結果をマスタ機器に送信するメッセージを「スレーブ発メッセージ」と呼ぶ。
図1は、マスタ機器とスレーブ機器との接続関係を示す接続関係図である。
図1に示すように、マスタ機器1及びスレーブ機器2はそれぞれシリアル通信インタフェースを具備する通信機器である。マスタ機器1及びスレーブ機器2のそれぞれは、通信インタフェースを介して、シリアルケーブル3で接続されている。
図2及び図3は、Modbusプロトコルの標準化技術に従って、マスタ機器がスレーブ機器に対する書込要求及び読取要求の通信シーケンスとメッセージフォーマットを示す。
図4及び図5は、Modbusプロトコルの標準化技術を用いて、スレーブ機器がマスタ機器に対する書込要求及び読取要求の通信シーケンスとメッセージフォーマットを示す。
図2に示すように、マスタ機器1が、スレーブ機器2に対して、マスタ機器発の書込要求メッセージを送信し(S901)、スレーブ機器2は、マスタ機器発の書込要求メッセージに対する書込応答メッセージを返信する(S902)。このとき、書込要求メッセージは、要求ヘッダ部801とボディ部802とを構成している。また、書込応答メッセージは、応答ヘッダ803とボディ部804とを構成している。
また、図3に示すように、マスタ機器1が、スレーブ機器2に対して、マスタ機器発の読取要求メッセージを送信し(S903)、スレーブ機器2は、マスタ機器発の読取要求メッセージに対する読取応答メッセージを返信する(S904)。このとき、読取要求メッセージは、要求ヘッダ部805とボディ部806とを構成している。また、読取応答メッセージは、応答ヘッダ807とボディ部808とを構成している。
これに対して、Modbusプロトコルの標準化技術に従って、スレーブ機器2が、マスタ機器1に対して、書込要求又は読取要求を行う場合、図4及び図5の通信シーケンス及びメッセージを用いることになる。つまり、Modbusプロトコルは、マスタ機器1からスレーブ機器への一方向へのシリアル伝送を実現するものであるため、図4及び図5に示すように、Modbusプロトコルを逸脱することになる。
図4に示すように、スレーブ機器2が、マスタ機器1に対して、スレーブ機器発の書込要求メッセージを送信する(S911)。また、マスタ機器1は、スレーブ機器発の書込要求メッセージに対する書込応答メッセージを返信する(S912)。
また、図5に示すように、スレーブ機器2が、マスタ機器1に対して、スレーブ機器発の読取要求メッセージを送信する(S913)。また、マスタ機器1は、スレーブ機器発の読取要求メッセージに対する読取応答メッセージを返信する(S914)。
図4に示すように、スレーブ機器2が書込要求のヘッダ部801を用いたメッセージを用いても、マスタ機器1はスレーブ機器発の書込要求メッセージの受信できない。また、仮に、マスタ機器1が、スレーブ機器発の書込要求メッセージに対して書込応答メッセージをスレーブ機器2に返信したとしても、スレーブ機器2は、書込応答メッセージを受信できない。
スレーブ機器発の読取要求メッセージの場合も同様に、読取応答メッセージは、読取要求のヘッダ部805を用いているので、マスタ機器1はスレーブ機器発の読取要求メッセージを受信できず、スレーブ機器2も、マスタ機発の読取応答メッセージを受信できない。
図6及び図7は、本願発明を用いて、スレーブ機器がマスタ機器に対する書込要求及び読取要求の通信シーケンスとメッセージフォーマットを示す。
本発明の通信シーケンスは、図4の通信メッセージ(書込要求・書込応答)のフォーマットが、図3の通信メッセージ(読取応答・読取要求)のフォーマットと同じフォーマットであることに着目する。
また、図5の通信メッセージ(読取要求・読取応答)のフォーマットが、図2の通信メッセージ(書込応答・書込要求)のフォーマットと同じフォーマットである点に着目する。
このように本発明は、要求及び応答メッセージのヘッダ部を、マスタ側発とスレーブ側発とで役割を入れ替えることで、双方向の通信を実現したものである。
(B)第1の実施形態
以下では、本発明に係るマスタ装置、スレーブ装置及び通信システムの第1の実施形態を、図面を参照しながら詳細に説明する。
以下では、本発明に係るマスタ装置、スレーブ装置及び通信システムの第1の実施形態を、図面を参照しながら詳細に説明する。
第1の実施形態では、マスタ・スレーブ型の通信プロトコルとしてmodbusプロトコルを採用し、本発明を用いて、マスタ機器及びスレーブ機器の間で双方向の通信を行う方向通信システムを例示する。
(B−1)第1の実施形態の構成
第1の実施形態では、図1に例示するように、マスタ機器1とスレーブ機器1とが1対1の接続構成の場合を例示する。
第1の実施形態では、図1に例示するように、マスタ機器1とスレーブ機器1とが1対1の接続構成の場合を例示する。
図8は、第1の実施形態に係るマスタ機器1及びスレーブ機器2の接続関係と内部構成を示す構成図である。
図8において、スレーブ機器2は、通信部21、メッセージ解析部22、メッセージ生成部23、アプリケーション部24を有する。
通信部21は、例えば、通信部21は、RS−232C、RS−422、RS−485等の物理層であり、シリアルポートを用いてシリアル伝送を行うものである。
メッセージ生成部23は、スレーブ機器発のメッセージを生成するものである。例えば、アプリケーション部24からの伝送要求等の指示を受けることで、メッセージ生成部23はスレーブ機器発のメッセージを生成する。
図9は、Modbusプロトコルの要求メッセージ及び応答メッセージのフォーマットを説明する説明図である。
図9に示すように、要求メッセージは、「デバイスアドレス」、「ファンクションコード(メッセージID)」、「クエリデータ」、「エラーチェック」を有する。要求メッセージのヘッダ部は、「デバイスアドレス」及び「ファンクションコード(メッセージID)」を含むものであり、ボディ部は、「クエリデータ」を含む。
「デバイスアドレス」には、送信先のマスタ機器1の物理層のアドレスである。スレーブ機器発の要求メッセージを送信するとき、要求先であるマスタ機器1の物理層のアドレスが挿入される。
「ファンクションコード」には、Modbusプロトコルにより定められたメッセージIDが挿入される。
ここで、メッセージ生成部23は、Modbusプロトコル又はその拡張技術により定められたファンクションコードを「ファンクションコード」に挿入する。メッセージ生成部23は、スレーブ機器発の書込要求を行うときには、「読取応答」のヘッダ部を付与した書込要求メッセージを生成し、スレーブ機器発の読取要求を行うときには、「書込応答」のヘッダ部を付与した読取要求メッセージを生成する。言い換えると、書込要求を行うときに、読取応答ヘッダ部を有するメッセージフォーマットを生成し、読取要求を行うときには、書込応答ヘッダ部を有するメッセージフォーマットを生成する。
より具体的には、例えば、スレーブ機器2のメッセージ生成部23は、スレーブ機器発の「書込」要求を行うときには、「読取要求」のファンクションコードを挿入し、スレーブ機器2が読取応答を行うときの読取応答ヘッダ部を生成し、読取応答ヘッダ部を書込データを含むボディ部に付与してメッセージを生成する。
また例えば、スレーブ機器2のメッセージ生成部23は、スレーブ機器発の「読取」要求を行うときには、「書込要求」のファンクションコードを挿入し、スレーブ機器2が書込応答を行うときの書込応答ヘッダ部を生成し、書込応答ヘッダ部を読取データを含むボディ部に付与してメッセージを生成する。
「クエリデータ」には、要求データが挿入される。例えば、スレーブ機器2に入力する入力レジスタのデータ値や、スレーブ機器2に保持される保持レジスタのデータ値等が挿入される。
「エラーチェック」には、メッセージ全体のエラーチェックビットが挿入される。
また、図9に示すように、応答メッセージは、「確認用デバイスアドレス」、「確認用ファンクションコード(メッセージID)」、「応答データ」、「エラーチェック」を有する。
応答メッセージのヘッダ部は、「デバイスアドレス」及び「ファンクションコード(メッセージID)」を含むものであり、ボディ部は、「クエリデータ」を含む。
「確認用デバイスアドレス」には、要求元(応答先)の機器の物理層のアドレスが挿入される。
「確認用ファンクションコード」には、要求メッセージの「ファンクションコード」に挿入されたメッセージIDが挿入される。
「応答データ」には、レジスタデータが挿入される。
「エラーチェック」には、メッセージ全体のエラーチェックビットが挿入される。
メッセージ解析部22は、通信部21を介して受信したメッセージのヘッダ部に基づいて、当該受信メッセージが要求メッセージであるか又は応答メッセージであるかを解析するものである。
マスタ機器発の要求メッセージである場合、メッセージ解析部22は、当該受信メッセージのボディ部のデータをアプリケーション部24に与えると共に、ヘッダ部のメッセージID(以下、ファンクションコードとも呼ぶ。)の機能をアプリケーション24に与える。これにより、メッセージIDに従った機能をアプリケーション部24に実行させることができる。また、マスタ機器発の応答メッセージである場合、メッセージ解析部22は、当該スレーブ機器2がマスタ機器1に要求した応答処理をアプリケーション部24に実行させる。
また、メッセージ解析部22は、受信したメッセージの種類を判別する要求/応答判別部221を有する。
要求/応答判別部221は、受信メッセージのヘッダ部に含まれているアドレス情報及びメッセージIDを解析して、受信メッセージが要求メッセージであるか又は応答メッセージであるかを判断するものである。
アプリケーション部24は、各種機能を実行するアプリケーション処理部である。アプリケーション部24が実行する機能は、この実施形態の特徴ではなく、種々のアプリケーション処理を広く適用することができるため、ここでの詳細な説明は省略する。
図8において、マスタ機器1は、通信部11、メッセージ解析部12、メッセージ生成部13、アプリケーション部14を有する。
通信部11は、例えば、通信部21は、RS−232C、RS−422、RS−485等の物理層であり、シリアルポートを用いてシリアル伝送を行うものである。
メッセージ解析部12は、通信部11を介して受信したメッセージのヘッダ部に基づいて、当該受信メッセージが要求メッセージであるか又は応答メッセージであるかを解析するものである。
スレーブ機器発の要求メッセージである場合、メッセージ解析部12は、当該メッセージのボディ部のデータをアプリケーション部14に与えると共に、ヘッダ部のメッセージIDの機能をアプリケーション14に与える。また、スレーブ機器発の応答メッセージである場合、メッセージ解析部12は、当該マスタ機器1がスレーブ機器2に要求した応答処理をアプリケーション部14に実行させる。
メッセージ生成部13は、Modbusプトロコルに従って、マスタ機器発のメッセージを生成するものである。また、スレーブ機器発の要求メッセージを受信した場合には、スレーブ機器発の要求メッセージに対する応答メッセージを生成する。
アプリケーション部14は、各種機能を実行するアプリケーション処理部である。アプリケーション部14が実行する機能は、この実施形態の特徴ではなく、種々のアプリケーション処理を広く適用することができるため、ここでの詳細な説明は省略する。
(B−2)第1の実施形態の動作
次に、第1の実施形態に係る通信システムの処理の動作を、図面を参照しながら詳細に説明する。
次に、第1の実施形態に係る通信システムの処理の動作を、図面を参照しながら詳細に説明する。
図10は、第1の実施形態のスレーブ機器2におけるメッセージ生成処理を示す動作フローチャートである。図11は、第1の実施形態に係るマスタ機器1及びスレーブ機器1の受信メッセージの解析処理を示す動作フローチャートである。
まず、スレーブ機器発の書込要求の動作を、図6、図10及び図11を参照して説明する。
スレーブ機器2は、スレーブ機器発の書込要求メッセージを生成して、マスタ機器1に送信する(S921)。
ここで、図10において、スレーブ機器2では、例えばアプリケーション部24からの書込要求指示や所定のトリガとなる指示を受けて書込要求の指示を受ける(S11)。そして、書込要求の指示を受けると、書込データを含むボディ部を生成し、そのボディ部の先頭に読取応答ヘッダ部を付与し(S12)、スレーブ機器発の書込要求メッセージを送信する(S14)。
例えば、Modbusプロトコルにおいて、「書込」のメッセージIDが「ファンクションコード;A」であり、「読取」のファンクションコードが「ファンクションコード;B」であるとする。
このとき、スレーブ機器2のメッセージ生成部23は、マスタ機器1の物理層のアドレスと、読取の「ファンクションコード;B」とを用いて読取応答ヘッダ部を、書込データをボディ部に付与して書込要求メッセージを生成して送信する。
なお、メッセージIDは、拡張可能であり、独自に定めたファンクションコードを設定することで、マスタ機器1とスレーブ機器2との間でメッセージIDを認識可能としても良い。
スレーブ機器発の書込要求メッセージは読取応答ヘッダ部を用いているため、マスタ側発の読取要求に対する読取応答メッセージと同じフォーマットになる。このことにより、スレーブ機器発の書込要求メッセージは、Modbusプロトコルに従ったメッセージとして、スレーブ機器2からマスタ機器1へメッセージが到達可能になる。
マスタ機器1では、スレーブ機器2からの書込要求メッセージを受信すると、書込要求メッセージを解析して、指定された書込み処理を行ない、書込応答メッセージを生成してスレーブ機器2に応答する(S922)。
図11において、マスタ機器1では、メッセージが受信されると(S21)、メッセージ解析部12が受信メッセージのヘッダ部のアドレスを解析する(S22)。
次に、メッセージ解析部12の要求/応答判別部122が、ヘッダ部に含まれているメッセージIDを判別する(S23)。
換言すると、マスタ機器1は、ヘッダ部に含まれるメッセージIDを判別することにより、マスタ機器発の読取要求メッセージに対する読取応答メッセージであるか(図3参照)、又は、スレーブ機器発の書込要求メッセージであるか(図6参照)を判別する。
スレーブ機器発の書込要求メッセージの場合、マスタ機器1では、受信したメッセージがアプリケーション部14に与えられて、要求処理が実行される(S24)。そして、マスタ機器1のメッセージ生成部13は、スレーブ機器2に対して、読取要求ヘッダ部を用いて、書込応答メッセージを返信する(S25)。
さらに、書込応答メッセージを受信したスレーブ機器2は、メッセージ解析部23が、図11に示す処理により、マスタ機器発の応答メッセージを受信し、応答処理を行なう。
すなわち、スレーブ機器2において、メッセージ解析部23は、受信したメッセージのヘッダ部に含まれるメッセージIDを判別して(S21〜S23)、マスタ機器発の読取要求メッセージであるか(図3参照)、又は、スレーブ機器の書込要求メッセージの書込応答メッセージであるか(図6参照)を判別する。
そして、スレーブ機器発の書込要求メッセージの書込応答メッセージの場合、スレーブ機器2はメッセージボディ部の応答コードに従って処理を完結する(S26)。
次に、スレーブ機器発の読取要求の動作を、図7、図10及び図11を参照して説明する。
スレーブ機器2は、スレーブ機器発の読取要求メッセージを生成して、マスタ機器1に送信する(S923)。
図10において、スレーブ機器2では、例えばアプリケーション部24からの読取要求指示や所定のトリガとなる指示を受けて読取要求の指示を受ける(S11)。そして、読取要求の指示を受けると、書込データを含むボディ部を生成し、そのボディ部の先頭に読取応答ヘッダ部を付与し(S13)、スレーブ機器発の書込要求メッセージを送信する(S14)。
例えば、上述したように、Modbusプロトコルにおいて、「書込」のメッセージIDが「ファンクションコード;A」であり、「読取」のファンクションコードが「ファンクションコード;B」であるとする。このとき、スレーブ機器2のメッセージ生成部23は、マスタ機器1の物理層のアドレスと、書込の「ファンクションコード;A」とを用いて書込応答ヘッダ部を、読取データをボディ部に付与して読取要求メッセージを生成して送信する。
スレーブ機器2からの読取要求メッセージは、書込応答ヘッダ部を用いることで、マスタ機器発の書込要求メッセージに対する書込応答メッセージと同じフォーマットになる。このことにより、Modbusプロトコルに従ったメッセージとしてスレーブ機器2からマスタ機器1へメッセージが到達可能になる。
スレーブ機器発の読取要求メッセージを受信したマスタ機器1は、スレーブ機器2からの読取要求メッセージを受信すると、読取要求メッセージを解析して、指定された読取処理を行ない、読取応答メッセージを生成してスレーブ機器2に応答する(S924)。
図11において、マスタ機器1では、メッセージが受信されると(S21)、メッセージ解析部12が受信メッセージのヘッダ部のアドレスを解析し(S22)、要求/応答判別部122が、ヘッダ部に含まれているメッセージIDを判別する(S23)。
つまり、マスタ機器1は、ヘッダ部に含まれるメッセージIDを判別することにより、マスタ機器発の書込要求メッセージに対する書込応答メッセージであるか(図2参照)、又は、スレーブ機器発の読取要求メッセージであるか(図7参照)を判別する。
スレーブ機器発の読取要求メッセージの場合、マスタ機器1では、受信したメッセージがアプリケーション部14に与えられて、要求処理が実行される(S24)。そして、マスタ機器1のメッセージ生成部13は、スレーブ機器2に対して、書込要求ヘッダ部を用いて、読取応答メッセージを返信する(S25)。
さらに、マスタ機器発の読取応答メッセージを受信したスレーブ機器2は、メッセージ解析部23が、図11に示す処理により、マスタ機器発の応答メッセージを受信し、応答処理を行なう。
すなわち、スレーブ機器2において、メッセージ解析部23は、受信したメッセージのヘッダ部に含まれるメッセージIDを判別して(S21〜S23)、マスタ機器発の書込要求メッセージであるか(図2参照)、又は、スレーブ機器の読取要求メッセージの読取応答メッセージであるか(図7参照)を判別する。
そして、スレーブ機器発の読取要求メッセージの応答メッセージの場合、スレーブ機器2はメッセージボディ部の応答コードに従って処理を完結する(S26)。
(B−3)第1の実施形態の変形実施形態
上述した第1の実施形態では、マスタ機器1とスレーブ機器2とが1対1の接続構成の場合を例示した。
上述した第1の実施形態では、マスタ機器1とスレーブ機器2とが1対1の接続構成の場合を例示した。
しかし、図11に例示するように、1台のマスタ機器1と、複数のスレーブ機器2−1〜2−n(nは整数)のカスケード接続構成とする場合であっても良い。
図11に示すように、マスタ機器1と、複数のスレーブ機器2−1、2−2、・・・、2−nとの間の通信は、マスタ機器1がそれぞれの機器ID(アドレス)を利用して、いずれのスレーブ機器と通信を行うかを設定することで、特定のスレーブ機器との間で双方向の通信を行うことができる。
図11の場合も、Modbusプロトコルの標準構成のバリエーションのひとつであり、図1の接続構成の場合と同様に、図6および図7の通信シーケンスによる通信が適用可能である、また同様に、通信帯域を無駄遣いすることがなく、過分なマスタ側のリソース(メモリ)も必要としないスレーブ側発の通信を実現できる。
(B−4)第1の実施形態の効果
以上のように、第1の実施形態によれば、Modbusプロトコルの標準シーケンスであるメッセージフォーマットを利用しているため、メッセージの順序以外にプロトコルの逸脱がなく、通信路においてModbusプロトコル違反でメッセージが破棄されることなくメッセージが到達可能となる。
以上のように、第1の実施形態によれば、Modbusプロトコルの標準シーケンスであるメッセージフォーマットを利用しているため、メッセージの順序以外にプロトコルの逸脱がなく、通信路においてModbusプロトコル違反でメッセージが破棄されることなくメッセージが到達可能となる。
また、第1の実施形態によれば、子機から発信が必要な時にのみ通信を行うため、通信帯域を無駄遣いすることがなく、過分なマスタ機器のリソース(メモリ)を回避できる。
(C)第2の実施形態
次に、本発明に係るマスタ装置、スレーブ装置及び通信システムの第1の実施形態を、図面を参照しながら詳細に説明する。
次に、本発明に係るマスタ装置、スレーブ装置及び通信システムの第1の実施形態を、図面を参照しながら詳細に説明する。
(C−1)第2の実施形態の構成
図13は、第2の実施形態に係る通信システムの構成を示す構成図である。
図13は、第2の実施形態に係る通信システムの構成を示す構成図である。
第2の実施形態では、他の無線通信装置の間で、無線マルチホップ通信を行う無線通信機のそれぞれが、第1の実施形態で説明したマスタ機器1若しくはスレーブ機器2を搭載する。
図13において、無線通信親機40、無線通信中継機51、無線通信子機4−1〜4−nがそれぞれ、所定の無線通信プロトコルに従って、無線マルチホップ通信を行う。
ここで、第2の実施形態では、例えば、920MHz帯を通信帯域として無線マルチホップ通信を行う通信方式を適用する場合を例示する。例えば、920MHz帯の通信帯域を用いることで、無線通信機の間で電波到達性が向上するため、無線通信機間でつながりやすくなる。勿論、無線通信で用いる通信帯域は、920MHzに限定されるものではない。
無線通信親機40は、無線マルチホップ通信システムにおいて、親局として機能するものである。無線通信親機40は、シリアルケーブル3を介して、第1の実施形態で説明したマスタ機器1と接続するものである。無線通信親機40は、無線通信プロトコルに従ったフレームフォーマットのペイロード部にマスタ機器1からのシリアルデータを含めてパケット化して無線通信したり、又は、無線受信したフレームのペイロードに含まれているデータをマスタ機器1に与えたりする。
複数の無線通信子機4−1〜4−nは、無線マルチホップ通信システムにおいて、親局である無線通信親局40に対して子局として機能するものである。無線通信子機4−1〜4−nはそれぞれ、シリアルケーブル3を介して、第1の実施形態で説明したスレーブ機器2−1〜2−nと接続するものである。無線通信子機4−1〜4−nは、無線受信したフレームのペイロードに含まれているデータをスレーブ機器1に与えたり、又は、スレーブ機器2−1〜2−nにより生成されたスレーブ機器発の要求メッセージを無線通信プロトコルに従ったフレームフォーマットのペイロード部に含めてパケット化して無線通信したりする。
なお、図示しないが、無線通信親機40、無線通信子機4−1〜4−nは、シリアル通信インタフェース部と、無線通信インタフェース部との両方を具備した通信機器である。
無線通信中継機51は、無線通信親機40と無線通信子機4−1〜4−nのそれぞれとの間の無線通信距離を延長するために、無線通信親機40と無線通信子機との間でマルチホップの無線通信を行う。なお、無線通信中継機51は、中継機として専用に設けたものであっても良いし、又は無線通信子機4−1〜4−nのいずれかが、無線通信中継機51として機能するものであっても良い。
(C−2)第2の実施形態の動作
図14は、第2の実施形態に係る通信システムにおけるスレーブ機器発の書込要求処理の通信シーケンスとメッセージフォーマットを示すシーケンス図である。
図14は、第2の実施形態に係る通信システムにおけるスレーブ機器発の書込要求処理の通信シーケンスとメッセージフォーマットを示すシーケンス図である。
まず、スレーブ機器2−1が生成する書込要求メッセージの生成処理は、第1の実施形態と同様の処理であるため、ここでの詳細な説明は省略する。
図14に示すように、スレーブ機器発の書込要求メッセージが生成されると、スレーブ機器2−1から無線通信子機4−1に与えられる(S501)。
なお、スレーブ機器2−1は、書込要求メッセージの「デバイスアドレス」にはマスタ機器1のアドレスとしても良いし、例えば「0」等のように特定しないアドレスとしても良い。
無線通信子機4−1では、スレーブ機器発の書込要求メッセージを無線通信方式のプロトコルのペイロードに含め、無線通信親機40を送信先とするヘッダ部を付与して無線送信する(S502)。
無線通信中継機51では、無線受信したパケットの送信先を判断し、無線通信親機40にパケットを到達させるために、次の中継先に受信パケットを無線中継する(S503)。
無線通信親機40では、無線受信したパケットを解析して、ペイロードに含まれているデータをマスタ機器1にシリアル伝送する(S504)。これにより、スレーブ機器発の書込要求メッセージがマスタ機器1に与えられる。
マスタ機器1における受信メッセージの判別処理は、第1の実施形態と同様の処理であるためここでの詳細な説明は省略する。また、マスタ機器1では、第1の実施形態と同様にして、書込要求メッセージ対する書込応答メッセージが生成され、無線通信親機40に与えられる(S505)。
そして、無線通信親機40は、書込応答メッセージを含むパケットを無線送信して、無線通信中継機51を介して、無線通信子機4−1に向けて送信される(S506〜S508)。
スレーブ機器2−1では、メッセージIDの解析によって、マスタ機器1からの書込要求メッセージ対する書込応答メッセージを取得し、応答処理を行なう。
図15は、第2の実施形態に係る通信システムにおけるスレーブ機器発の読取書込要求処理の通信シーケンスとメッセージフォーマットを示すシーケンス図である。基本的には、図14に示したスレーブ機器発の書込要求処理の通信シーケンスと同様の処理であるため、ここでの詳細な説明は省略する。
ネットワーク通信区間が、第1の実施形態に示すシリアルパスと、第2の実施形態に示す無線ネットワークとの差分はある。しかし、第2の実施形態は、ネットワーク通信区分の差分を除けば、Modbusプロトコルの標準構成のバリエーションのひとつであり、基本的には、図6及び図7の通信シーケンスによる通信が適用可能である。
また、無線区間は、マスタ機器1およびスレーブ機器2からのメッセージを次の隣接通信機器(次ホップ)へ透過するため、シーケンス上は図14及び図15のように、ネットワーク区間が多段通信となるが、基本的には、図6及び図7のシーケンスと内容は同義である。
(C−3)第2の実施形態の効果
以上のように、第2の実施形態によれば、第1の実施形態で説明したスレーブ機器発の要求メッセージの通信を実現できる。
以上のように、第2の実施形態によれば、第1の実施形態で説明したスレーブ機器発の要求メッセージの通信を実現できる。
また、第2の実施形態によれば、無線ネットワーク区間の通信において、マスタ側(無線通信親機側)からスレーブ側(無線通信子機側)への通信は、Modbus要求メッセージフォーマットで通信メッセージを送信でき、又スレーブ側(無線通信子機側)からマスタ側(無線通信親機側)への通信はModbus応答メッセージフォーマットで通信メッセージを送信できる。そのため、マスタ/スレーブ型の通信からの逸脱によってネットワーク区間においてメッセージが破棄されることなく通信されることが期待できる。これにより、マスタ/スレーブ型の両方の機能を具備した機器による双方向通信では破棄されてしまうという無線ネットワーク区間の制約を受けずに、マスタ/スレーブ型の双方向通信が実現できる。
(D)他の実施形態
上述した第1及び第2の実施形態においても種々の変形実施形態を言及したが、以下の変形実施形態にも適用できる。
上述した第1及び第2の実施形態においても種々の変形実施形態を言及したが、以下の変形実施形態にも適用できる。
(D−1)本発明は、Modbusプロトコルを用いたシリアル通信の様々な用途に適用できる。特にスレーブ側発の自律的な通知を行う必要があるシステムにて有効となる。
(D−2)例えば、Modbusプロトコルが多く利用されているセンサデバイス分野において、例えば温度計、湿度計、流量メータなどのセンサデバイスからのデータ取得を、データ変化点のみセンサデバイス(スレーブ機器側)から自律的にデータを送信することで通信利用帯域を削減したシステムの構築に適用できる。
(D−3)また例えば、センサデバイス側の起動・停止・障害等の通知を自律的に通知する用途にも利用できる。これは、簡易ネットワーク管理プロトコルSNMP(Simple Network Management Protocol)における自律メッセージ(Trap)に相応する障害通知の機能を、SNMPをサポートしないModbus通信ネットワーク/機器において実現することと同等である。
(D−4)スレーブ機器側にヒューマンマシンインタフェースを具備することでTCP/IPネットワークで実現している1対多の双方向コミュニケーションのアプリケーションを実現できる。具体例として1対多のチャットや、緊急連絡網、安否確認、アンケート/投票システムといったアプリケーションを、シリアル通信ネットワーク上でのModbus通信において実現することが出来る。
1…マスタ機器、2,2−1〜2−n…スレーブ機器、3,3−1〜3−n…シリアルケーブル、40…無線通信親機、4−1〜4−n…無線通信子機、11…通信部、12及び22…メッセージ解析部、121及び221…要求/応答判別部、13及び23…メッセージ生成部、14及び24…アプリケーション部。
Claims (4)
- マスタ・スレーブ型の通信プロトコルに従って、マスタ装置に対して自律的に書込要求又は読取要求を行うスレーブ装置であって、
上記マスタ装置に対して書込要求又は読取要求のメッセージを作成する際に、書込みデータに読取応答ヘッダ部を付与し、又は、読取データに書込応答ヘッダ部を付与して、メッセージを作成するメッセージ作成手段と、
受信したメッセージのヘッダ部に含まれるメッセージ識別情報に基づいて、書込応答又は読取要求を判別する判別手段と
を備えることを特徴とするスレーブ装置。 - マスタ・スレーブ型の通信プロトコルに従って、スレーブ装置から自律的な書込要求又は読取要求を受信するマスタ装置であって、
受信したメッセージのヘッダ部に含まれるメッセージ識別情報に基づいて、書込要求又は読取応答を判別する判別手段を備えることを特徴とするマスタ装置。 - マスタ・スレーブ型の通信プロトコルに従って、マスタ装置とスレーブ装置との間で双方向の通信を行う通信システムであって、
スレーブ装置は、上記マスタ装置に対して書込要求又は読取要求のメッセージを作成する際に、書込みデータに読取応答ヘッダ部を付与し、又は、読取データに書込応答ヘッダ部を付与して、メッセージを作成してマスタ装置に送信し、
マスタ装置は、受信したメッセージのヘッダ部に含まれるメッセージ識別情報に基づいて、書込要求又は読取応答を判別し、
スレーブ装置は、受信したメッセージのヘッダ部に含まれるメッセージ識別情報に基づいて、書込応答又は読取要求を判別する
ことを特徴とする通信システム。 - 上記マスタ装置が無線通信親機と接続され、
上記スレーブ装置が無線通信子機と接続されて
上記無線通信子機が、上記スレーブ装置からのメッセージを上記無線通信親機に無線送信し、
上記無線通信親機が、無線受信した上記スレーブ装置からのメッセージを上記マスタ装置に与える
ことを特徴とする請求項3に記載の通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015168433A JP2017046250A (ja) | 2015-08-28 | 2015-08-28 | マスタ装置、スレーブ装置及び通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015168433A JP2017046250A (ja) | 2015-08-28 | 2015-08-28 | マスタ装置、スレーブ装置及び通信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017046250A true JP2017046250A (ja) | 2017-03-02 |
Family
ID=58212288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015168433A Pending JP2017046250A (ja) | 2015-08-28 | 2015-08-28 | マスタ装置、スレーブ装置及び通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017046250A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110300042A (zh) * | 2019-07-24 | 2019-10-01 | 珠海太川云社区技术股份有限公司 | 一种总线通信系统及通信控制方法 |
KR102103824B1 (ko) * | 2019-05-28 | 2020-04-24 | 한화시스템 주식회사 | 모드버스 통신 테스트 장치 |
KR102103822B1 (ko) * | 2019-03-19 | 2020-04-24 | 한화시스템 주식회사 | 모드버스 통신 테스트 방법 |
KR102103821B1 (ko) * | 2019-03-19 | 2020-04-24 | 한화시스템 주식회사 | 모드버스 통신 테스트 장치 |
-
2015
- 2015-08-28 JP JP2015168433A patent/JP2017046250A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102103822B1 (ko) * | 2019-03-19 | 2020-04-24 | 한화시스템 주식회사 | 모드버스 통신 테스트 방법 |
KR102103821B1 (ko) * | 2019-03-19 | 2020-04-24 | 한화시스템 주식회사 | 모드버스 통신 테스트 장치 |
KR102103824B1 (ko) * | 2019-05-28 | 2020-04-24 | 한화시스템 주식회사 | 모드버스 통신 테스트 장치 |
CN110300042A (zh) * | 2019-07-24 | 2019-10-01 | 珠海太川云社区技术股份有限公司 | 一种总线通信系统及通信控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107976967B (zh) | 跨用于安全过程控制通信的数据二极管发布数据 | |
JP6638089B2 (ja) | オートメーションシステムの運用のための接続ユニット、モニタリングシステム、および運用方法 | |
CN107976972B (zh) | 安全的过程控制通信 | |
US9059909B2 (en) | System and method for configuration of link aggregation groups | |
US8942219B2 (en) | Support for network management and device communications in a wireless network | |
US20080273486A1 (en) | Wireless Protocol Adapter | |
CN105340229A (zh) | 对支持低延时通信的帧mtu动态地进行调整 | |
JP2017046250A (ja) | マスタ装置、スレーブ装置及び通信システム | |
ES2411081T3 (es) | Prevención de bucles de transmisión en una red en anillo redundante | |
Chen et al. | PS-QUASAR: A publish/subscribe QoS aware middleware for Wireless Sensor and Actor Networks | |
CN102664719A (zh) | 适用于dcs的分布式安全传输方法 | |
US20230353425A1 (en) | Method, program, medium, and device for interconnecting primary network domain with secondary network domain through gateway device | |
CN103929377A (zh) | 一种有线网络与无线网络联合调度方法、相关设备及系统 | |
CN112532671A (zh) | 获取方法、配置方法、边缘计算集群及装置 | |
US20150229557A1 (en) | Data processing system for changing massive paths time-deterministically and operating method of the data processing system | |
US20240330451A1 (en) | Multi-access edge computing for remote locations | |
CN103731361A (zh) | 基于硬件的颗粒级业务风暴保护 | |
Dayalan et al. | VeerEdge: towards an edge-centric IoT gateway | |
Yacchirema et al. | Design and implementation of a gateway for pervasive smart environments | |
US10356198B2 (en) | Data transmission between at least one safe producer and at least one safe consumer | |
Hiriyannaiah et al. | A multi-layered framework for Internet of Everything (IoE) via wireless communication and distributed computing in Industry 4.0 | |
Milić et al. | A metaprotocol-based Internet of Things architecture | |
JP6099430B2 (ja) | 無線通信装置 | |
CN109644386A (zh) | 无线通信终端、无线通信系统以及路径选择程序 | |
Amirjavid et al. | Network coding in internet of things |