JP2023018732A - 通信システム及び通信装置 - Google Patents

通信システム及び通信装置 Download PDF

Info

Publication number
JP2023018732A
JP2023018732A JP2021122950A JP2021122950A JP2023018732A JP 2023018732 A JP2023018732 A JP 2023018732A JP 2021122950 A JP2021122950 A JP 2021122950A JP 2021122950 A JP2021122950 A JP 2021122950A JP 2023018732 A JP2023018732 A JP 2023018732A
Authority
JP
Japan
Prior art keywords
response
communication
information
timing
terminal device
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
Application number
JP2021122950A
Other languages
English (en)
Inventor
秀和 高橋
Hidekazu Takahashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2021122950A priority Critical patent/JP2023018732A/ja
Publication of JP2023018732A publication Critical patent/JP2023018732A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Selective Calling Equipment (AREA)

Abstract

Figure 2023018732000001
【課題】複数の端末装置への要求及び要求に対する応答を効率的に送受信する。
【解決手段】通信システムは、機器に接続された端末装置と、前記端末装置と通信可能に接続された通信装置と、を備え、前記通信装置は、前記端末装置の応答予定タイミングを決定する決定部と、前記決定部によって決定された前記応答予定タイミングを特定するためのタイミング特定情報及び前記端末装置に機器情報を要求する要求情報を前記端末装置へ送信する第1送信部と、を含み、前記端末装置は、前記要求情報に基づいて前記機器から機器情報を取得する取得部と、前記タイミング特定情報によって特定される前記応答予定タイミングが到来すると、前記取得部によって取得された前記機器情報を含む応答情報を前記通信装置へ送信する第2送信部と、を含む。
【選択図】図4

Description

本開示は、通信システム及び通信装置に関する。
施設内に配置されたセンサによる計測値を収集するために通信プロトコルのModbus(登録商標)が利用されている。Modbusにはシリアル通信用のバージョンのModbus/RTUが含まれる。Modbus/RTUはマスタ-スレーブ方式のプロトコルである。Modbus/RTUを用いたシステムでは、マスタ(上位システム)からの要求(クエリ)に応じて、スレーブ(制御機器)がセンサの計測値をマスタへ送信する(例えば、特許文献1)。
特開2011-234171号公報
スレーブがクエリを受信してからレスポンスを送信するまでの期間は、スレーブの処理能力に依存する。マスタがクエリを送信した後は、スレーブによるレスポンスの送信が完了するまで通信路が占有される。スレーブがレスポンスを送信するか、タイムアウトが生じなければマスタは次のクエリを送信することができない。このため、一部又は全部のスレーブの処理能力によって、通信路の伝送能力が制限される。
本開示の一態様に係る通信システムは、機器に接続された端末装置と、前記端末装置と通信可能に接続された通信装置と、を備え、前記通信装置は、前記端末装置の応答予定タイミングを決定する決定部と、前記決定部によって決定された前記応答予定タイミングを特定するためのタイミング特定情報及び前記端末装置に機器情報を要求する要求情報を前記端末装置へ送信する第1送信部と、を含み、前記端末装置は、前記要求情報に基づいて前記機器から機器情報を取得する取得部と、前記タイミング特定情報によって特定される前記応答予定タイミングが到来すると、前記取得部によって取得された前記機器情報を含む応答情報を前記通信装置へ送信する第2送信部と、を含む。
本開示の一態様に係る通信装置は、機器に接続された端末装置と通信可能に接続された通信装置であって、機器情報を要求する要求情報に対して前記端末装置が応答するための応答予定タイミングを決定する決定部と、前記決定部によって決定された前記応答予定タイミングを特定するためのタイミング特定情報及び前記要求情報を前記端末装置へ送信する第1送信部と、を備える。
本開示によれば、複数の端末装置への要求及び要求に対する応答を効率的に送受信することができる。
第1実施形態に係る通信システムの構成の一例を示す図である。 第1実施形態に係る制御装置のハードウェア構成の一例を示すブロック図である。 第1実施形態に係るRTUのハードウェア構成の一例を示すブロック図である。 第1実施形態に係る制御装置及びRTUの機能の一例を示す機能ブロック図である。 Modbus/RTUにおけるクエリのメッセージフォーマットを示す図である。 処理能力テーブルの一例を示す図である。 優先度テーブルの一例を示す図である。 スケジュールテーブルの一例を示す図である。 従来のModbus/RTUにおけるクエリ及びレスポンスの送信タイミングの一例を示すタイミングチャートである。 第1実施形態に係る通信システムにおけるクエリ及びレスポンスの送信タイミングの一例を示すタイミングチャートである。 クエリの送信を保留する場合におけるクエリ及びレスポンスの送信タイミングの一例を示すタイミングチャートである。 第1実施形態に係る制御装置の応答予定タイミング決定処理の一例を示すフローチャートである。 第1実施形態に係る制御装置のクエリ送信処理の一例を示すフローチャートである。 第1実施形態に係るRTUの応答処理の一例を示すフローチャートである。 第1実施形態に係る制御装置のレスポンス受信処理の一例を示すフローチャートである。 第2実施形態に係る通信システムの構成の一例を示す図である。 第2実施形態に係る中継装置のハードウェア構成の一例を示すブロック図である。 第2実施形態に係る通信システムの動作の一例を示すシーケンス図である。 第2実施形態に係る中継装置のレスポンス受信処理の一例を示すフローチャートである。 交流サイクルを用いた通信期間の定義の一例を示す図である。
<本開示の実施形態の概要>
以下、本開示の実施形態の概要を列記して説明する。
(1) 本実施形態に係る通信システムは、機器に接続された端末装置と、前記端末装置と通信可能に接続された通信装置と、を備え、前記通信装置は、前記端末装置の応答予定タイミングを決定する決定部と、前記決定部によって決定された前記応答予定タイミングを特定するためのタイミング特定情報及び前記端末装置に機器情報を要求する要求情報を前記端末装置へ送信する第1送信部と、を含み、前記端末装置は、前記要求情報に基づいて前記機器から機器情報を取得する取得部と、前記タイミング特定情報によって特定される前記応答予定タイミングが到来すると、前記取得部によって取得された前記機器情報を含む応答情報を前記通信装置へ送信する第2送信部と、を含む。これにより、通信装置は、応答情報が送信されるタイミングを把握しているため、要求情報の送信及び応答情報の受信のスケジュールを予め設定することができ、要求情報及び応答情報を効率的に送受信することができる。
(2) 前記第1送信部は、繰り返される一定長の通信期間毎に前記タイミング特定情報及び前記要求情報を送信し、前記決定部は、複数の前記通信期間のうち、前記端末装置が前記応答情報を送信すべき通信期間を、前記応答予定タイミングを含む応答予定通信期間として決定してもよい。これにより、通信装置は要求情報を定期送信することができる。さらに、通信装置は要求情報の通信期間を用いて応答予定タイミングを決定することができる。
(3) 前記決定部は、前記応答予定通信期間において、前記タイミング特定情報及び前記要求情報が送信される期間を除く期間から、前記応答予定タイミングを決定してもよい。これにより、タイミング特定情報及び要求情報の送信期間と、応答予定タイミングとの競合を回避することができる。
(4) 前記通信装置と前記端末装置とは電力線通信によって通信し、前記通信期間は、前記電力線通信に用いられる電力の交流サイクルに基づいて決定されてもよい。これにより、通信装置は、電力線通信(PLC)に用いられる交流電力を用いて応答予定タイミングを決定することができる。端末装置は、通信装置と時刻同期がされていなくても、交流サイクルを用いて応答情報を送信することができる。
(5) 前記第1送信部は、前記交流サイクルに含まれる第1極性の期間において前記タイミング特定情報及び前記要求情報を送信し、前記決定部は、前記応答予定通信期間の交流サイクルに含まれる第2極性の期間から、前記応答予定タイミングを決定してもよい。これにより、タイミング特定情報及び要求情報の送信期間と、応答予定タイミングとの競合を回避することができる。
(6) 前記応答情報の送信期間が複数の前記通信期間と重複する場合、前記第1送信部は、前記応答情報の送信期間と重複する前記通信期間において、前記タイミング特定情報及び前記要求情報の送信を保留してもよい。これにより、タイミング特定情報及び要求情報の送信期間と、応答情報の送信期間との競合を回避することができる。
(7) 前記タイミング特定情報は、前記応答予定通信期間を示す情報であってもよい。これにより、通信装置は、応答予定タイミングを応答予定通信期間として端末装置に通知することができる。
(8) 前記決定部は、前記応答予定タイミングとして、前記端末装置が前記応答情報を送信すべき時刻である応答予定時刻を決定し、前記タイミング特定情報は、前記応答予定時刻を示してもよい。これにより、通信装置は、応答予定タイミングを応答予定時刻として端末装置に通知することができる。
(9) 前記タイミング特定情報は、前記要求情報の送信に関する時刻から、前記応答情報の送信予定時刻までの期間を示す情報であってもよい。これにより、通信装置は、応答予定タイミングを、要求情報の送信に関する時刻を基準とした相対時刻として端末装置に通知することができる。端末装置は、通信装置と時刻同期がされていなくても、応答情報を送信すべきタイミングを特定することができる。
(10) 前記通信システムは、第1端末装置及び第2端末装置を含む複数の前記端末装置を備え、前記決定部は、前記第1端末装置の応答予定タイミングである第1応答予定タイミングと、前記第2端末装置の応答予定タイミングである第2応答予定タイミングとの競合を回避するように、前記第1応答予定タイミング及び前記第2応答予定タイミングを決定してもよい。これにより、第1端末装置の要求情報の受信から応答情報の送信までの期間(以下、「応答可能期間」という)と、第2端末装置の応答可能期間とが異なる場合でも、第1端末装置と第2端末装置との間における応答情報の送信の競合を回避することができる。
(11) 前記決定部は、前記通信装置が前記第1端末装置のための要求情報である第1要求情報と、前記第2端末装置のための要求情報である第2要求情報とのそれぞれを取得する順番に基づいて、前記第1応答予定タイミング及び前記第2応答予定タイミングを決定してもよい。これにより、要求情報の取得順番にしたがって、合理的な応答予定タイミングを決定することができる。
(12) 前記要求情報は識別情報を含み、前記第2送信部は、前記要求情報に基づいて取得された前記機器情報と、前記要求情報に含まれる前記識別情報とを含む前記応答情報を、前記通信装置へ送信してもよい。これにより、例えば要求情報の送信順番と、応答情報の受信順番とが異なっていても、識別情報を用いて要求情報に対応する応答情報を特定することができる。
(13) 前記決定部は、前記端末装置の処理能力及び前記端末装置に割り当てられた優先度に基づいて、前記端末装置の応答予定タイミングを決定してもよい。これにより、端末装置の処理能力によって推定される応答可能期間にしたがって適切な応答予定タイミングを決定することができる。さらに、重要な応答情報を優先して送信するように、合理的な応答予定タイミングを決定することができる。
(14) 前記通信装置及び前記端末装置は、Modbus/RTUによって通信してもよい。これにより、Modbus/RTUにおけるクエリとレスポンスの送受信を効率的に行うことができる。
(15) 本実施形態に係る通信装置は、機器に接続された端末装置と通信可能に接続された通信装置であって、機器情報を要求する要求情報に対して前記端末装置が応答するための応答予定タイミングを決定する決定部と、前記決定部によって決定された前記応答予定タイミングを特定するためのタイミング特定情報及び前記要求情報を前記端末装置へ送信する第1送信部と、を備える。これにより、通信装置は、応答情報が送信されるタイミングを把握しているため、要求情報の送信及び応答情報の受信のスケジュールを予め設定することができ、要求情報及び応答情報を効率的に送受信することができる。
<本開示の実施形態の詳細>
以下、図面を参照しつつ、本発明の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
[1.第1実施形態]
[1-1.通信システム]
図1は、第1実施形態に係る通信システムの構成の一例を示す図である。本実施形態に係る通信システム10は、商業施設、工場等の施設に配置されたセンサによる計測値(以下、「センサ情報」という)を収集し、管理するためのシステムである。通信システム10は、管理装置100と、制御装置200と、RTU(Remote Terminal Unit)300A,300B,300Cとを含む。RTU300Aには、センサ400A,400Bが接続されている。RTU300Bには、センサ400C,400Dが接続されている。RTU300Cには、センサ400E,400Fが接続されている。以下、RTU300A,300B,300Cを総称して「RTU300」ともいい、センサ400A,400B,400C,400D,400E,400Fを総称して「センサ400」ともいう。
管理装置100は、センサ400A,400B,400C,400D,400E,400Fによって得られたセンサ情報を収集して管理する。管理装置100は、例えばコンピュータによって構成される。
RTU300は、端末装置の一例である。RTU300は、接続されたセンサ400から出力されるセンサ情報を取得する。RTU300によって取得されたセンサ情報は、制御装置200を介して管理装置100へ送信される。センサ400は、例えば、温度センサ、湿度センサ、気圧センサ、照度センサ、火災センサ等である。
制御装置200は、管理装置100からの要求に応じてRTU300からセンサ情報を取得し、取得されたセンサ情報を管理装置100へ提供する。
制御装置200は、LAN(Local Area Network)等のネットワーク500を介して管理装置100に接続され、シリアル通信バス600を介してRTU300A,300B,300Cのそれぞれに接続されている。制御装置200とRTU300A,300B,300Cのそれぞれとは、シリアル通信によって通信することができる。制御装置200は、Modbus/RTU(「MODBUS」は登録商標)を用いてRTU300と通信する。
Modbus/RTUはマスタ-スレーブ方式の通信プロトコルである。本実施形態では、制御装置200がマスタであり、RTU300がスレーブである。
制御装置200は、Modbus/RTUとは異なる通信プロトコルを用いて管理装置100と通信する。当該通信プロトコルは、例えばModbus/TCPである。
センサ400A,400B,400C,400D,400E,400Fのそれぞれには、デバイスアドレスが割り当てられている。デバイスアドレスは、Modbus RTUにおいて使用されるアドレスである。
[1-2.制御装置の構成]
図2は、第1実施形態に係る制御装置のハードウェア構成の一例を示すブロック図である。制御装置200は、プロセッサ201と、不揮発性メモリ202と、揮発性メモリ203と、第1通信インタフェース(I/F)204と、第2通信インタフェース(I/F)205とを含む。
揮発性メモリ203は、例えばSRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)等の半導体メモリである。不揮発性メモリ202は、例えばフラッシュメモリ、ハードディスク、ROM(Read Only Memory)等である。不揮発性メモリ202には、コンピュータプログラムであるマスタプログラム206及びマスタプログラム206の実行に使用されるデータが格納される。さらに不揮発性メモリ202には、スケジュールテーブル207、処理能力テーブル208、及び優先度テーブル209が含まれる。なお、スケジュールテーブル207は揮発性メモリ203に設けられてもよい。制御装置200は、コンピュータを備えて構成され、制御装置200の各機能は、前記コンピュータの記憶装置に記憶されたコンピュータプログラムであるマスタプログラム206がプロセッサ201によって実行されることで発揮される。マスタプログラム206は、フラッシュメモリ、ROM、CD-ROMなどの記録媒体に記憶させることができる。プロセッサ201は、マスタプログラム206を実行し、後述するようにRTU300とModbus/RTUを用いて通信する。
プロセッサ201は、例えばCPU(Central Processing Unit)である。ただし、プロセッサ201は、CPUに限られない。プロセッサ201は、GPU(Graphics Processing Unit)であってもよい。プロセッサ201は、例えば、ASIC(Application Specific Integrated Circuit)であってもよいし、ゲートアレイ、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスであってもよい。この場合、ASIC又はプログラマブルロジックデバイスは、マスタプログラム206と同様の処理を実行可能に構成される。
第1通信I/F204は、例えばイーサネットインタフェース(「ETHERNET\イーサネット」は登録商標)である。第1通信I/F204は、ネットワーク500に接続されている。制御装置200は、第1通信I/F204によって、管理装置100との間で通信を行うことができる。
第2通信I/F205は、シリアル通信インタフェースである。具体的な一例では、第2通信I/F205は、RS-485インタフェースである。第2通信I/F205は、シリアル通信バス600に接続されている。制御装置200は、第2通信I/F205によって、RTU300との間でModbus/RTUを用いた通信を行うことができる。
[1-3.RTUの構成]
図3は、第1実施形態に係るRTUのハードウェア構成の一例を示すブロック図である。RTU300は、プロセッサ301と、不揮発性メモリ302と、揮発性メモリ303と、通信I/F304と、入出力インタフェース(I/O)305とを含む。
揮発性メモリ303は、例えばSRAM、DRAM等の半導体メモリである。不揮発性メモリ302は、例えばフラッシュメモリ、ハードディスク、ROM等である。不揮発性メモリ302には、コンピュータプログラムであるスレーブプログラム306及びスレーブプログラム306の実行に使用されるデータが格納される。RTU300は、コンピュータを備えて構成され、RTU300の各機能は、前記コンピュータの記憶装置に記憶されたコンピュータプログラムであるスレーブプログラム306がプロセッサ301によって実行されることで発揮される。スレーブプログラム306は、フラッシュメモリ、ROM、CD-ROMなどの記録媒体に記憶させることができる。プロセッサ301は、スレーブプログラム306を実行し、後述するように制御装置200とModbus/RTUを用いて通信する。
プロセッサ301は、例えばCPUである。ただし、プロセッサ301は、CPUに限られない。プロセッサ301は、GPUであってもよい。プロセッサ301は、例えば、ASICであってもよいし、ゲートアレイ、FPGA等のプログラマブルロジックデバイスであってもよい。この場合、ASIC又はプログラマブルロジックデバイスは、スレーブプログラム306と同様の処理を実行可能に構成される。
通信I/F304は、シリアル通信インタフェースである。具体的な一例では、通信I/F304は、RS-485インタフェースである。通信I/F304は、シリアル通信バス600に接続されている。RTU300は、通信I/F304によって、制御装置200との間でModbus/RTUを用いた通信を行うことができる。
I/O305は、センサ400に接続されている。I/O305は、センサ400に対するデータの入出力を行う。RTU300は、I/O305によって、センサ400のレジスタにデータを書き込んだり、センサ400のレジスタからデータを読み込んだりすることができる。
[1-4.通信システムの機能]
図4は、第1実施形態に係る制御装置及びRTUの機能の一例を示す機能ブロック図である。制御装置200は、取得部211と、バッファ212と、決定部213と、生成部214と、タイマ215と、第1送信部216と、第1受信部217と、識別部218と、提供部219との各機能を有する。取得部211と、バッファ212と、決定部213と、生成部214と、タイマ215と、第1送信部216と、第1受信部217と、識別部218と、提供部219とは、プロセッサ201がマスタプログラム206を実行することにより実現される。RTU300は、第2受信部311と、識別部312と、読出部313と、生成部314と、バッファ315と、タイマ設定部316と、タイマ317と、第2送信部318との各機能を有する。第2受信部311と、識別部312と、読出313と、生成部314と、バッファ315と、タイマ設定部316と、タイマ317と、第2送信部318とは、プロセッサ301がスレーブプログラム306を実行することにより実現される。
取得部211は、クエリを取得する。クエリは、センサ400に対して処理を要求するメッセージフレームであり、要求情報の一例である。具体的には、取得部211は、管理装置100から要求を受信し、受信した要求に応じたクエリを取得する。例えば、管理装置100は、センサ情報が必要になると、センサ情報の要求を制御装置200へ送信する。
図5は、Modbus/RTUにおけるクエリのメッセージフォーマットを示す図である。SAは、センサ400のデバイスアドレスである。FCはファンクションコードであり、センサ400へのコマンドである。クエリでは、FCのフィールドにレジスタの読出コマンドの値が格納される。AH及びALは、センサ400のレジスタの読出開始アドレスである。BH及びBLは、読出バイト数である。CRC(Cyclic Redundancy Check)は、エラーチェックコードである。
図4に戻り、バッファ212はクエリを一時記憶する記憶領域である。例えば、揮発性メモリ213の一部の領域がバッファ212として利用される。取得部211は、取得したクエリをバッファ212に格納する。
決定部213は、RTU300のクエリへの応答予定タイミングを決定する。具体的には、決定部213は、RTU300の処理能力及びRTU300に割り当てられた優先度に基づいて、RTU300の応答予定タイミングを決定する。本実施形態では、応答予定タイミングは応答予定時刻である。決定部213は、処理能力テーブル208及び優先度テーブル209を参照し、RTU300の処理能力及び優先度を取得することができる。
図6は、処理能力テーブルの一例を示す図である。処理能力テーブル208は、RTU300を特定するための情報と、RTU300の処理能力を示す情報とを対応付けて記憶する。図6の例では、RTU300を特定するための情報がSA(デバイスアドレス)であり、RTU300の処理能力を示す情報が、RTU300の応答可能期間である。RTU300を特定するための情報は、RTU300のIDであってもよい。応答可能期間は、RTU300のクエリの受信開始時刻(つまり、制御装置200のクエリの送信開始時刻)からレスポンスの送信開始時刻までの期間である。言い換えれば、応答可能期間は、RTU300が要求されたセンサ情報を読み出し、レスポンスを作成するのに必要となる期間である。
図7は、優先度テーブルの一例を示す図である。優先度テーブル209は、RTU300を特定するための情報と、RTU300に割り当てられた優先度とを対応付けて記憶する。図7の例では、RTU300を特定するための情報がSA(デバイスアドレス)である。
図8は、スケジュールテーブルの一例を示す図である。スケジュールテーブル207には、RTU300の応答予定のスケジュールが登録される。スケジュールテーブル207はテーブル形式のデータであり、RTU300を特定するための情報と、クエリの送信予定時刻と、レスポンスの送信予定時刻(応答予定時刻)とが対応付けてスケジュールテーブル207に登録される。図8の例では、RTU300を特定するための情報がSA(デバイスアドレス)である。
本実施形態では、制御装置200がクエリを定期送信する。例えば、制御装置200は、繰り返される一定長のタイムスロット毎に、クエリを送信する。タイムスロットは、通信期間の一例である。図8の例では、送信時刻が100ミリ秒毎に予定されている。つまり、図8の例においてタイムスロットは100ミリ秒である。
図8の例では、SAが「0x00001101」のクエリが1番目に送信され、SAが「0x00000100」のクエリが2番目に送信され、SAが「0x00000011」のクエリが3番目に送信される。各クエリの間における送信時刻の間隔は100ミリ秒である。さらに、SAが「0x00001101」のレスポンスが1番目に送信され、SAが「0x00000011」のレスポンスが2番目に送信され、SAが「0x00000100」のレスポンスが3番目に送信される。つまり、応答予定時刻は、各タイムスロットに設定されるが、クエリの送信順番とレスポンスの送信順番とは一致していない。
図4に戻り、決定部213は、取得部211によってクエリが取得されると、取得されたクエリのSAを参照し、処理能力テーブル208から当該SAに対応する応答可能期間を特定する。さらに決定部213は、取得されたクエリのSAに対応する優先度を優先度テーブル209から特定する。
決定部213は、RTU300の処理能力及RTU300に割り当てられた優先度に基づいて、RTU300がレスポンスを送信するタイムスロットである応答予定スロットを決定する。例えば、決定部213は、応用予定スロットにおいて、タイミング通知メッセージ及びクエリの送信期間を除く期間から、応答予定時刻を決定することができる。
決定部213は、基本的に、取得部211によるクエリの取得順番にしたがって、応答予定時刻を順次決定していく。決定部213は、応答可能期間から、RTU300がレスポンスを送信可能なタイムスロットのうちの最も早いタイムスロットが予約されていなければ、当該タイムスロットを応答予定スロットに決定し、当該応答予定スロットにおいて応答予定時刻を決定する。これにより、合理的な応答予定時刻を決定することができる。
決定部213は、複数の応答予定時刻が重複しないように、各クエリに対する応答予定時刻を、特定された応答可能期間及び優先度に基づいて決定することができる。
具体的には、決定部213は、特定された応答可能期間がタイムスロットより短い場合、クエリが送信されるタイムスロットの次のタイムスロット、又は、クエリが送信されるタイムスロット内において、応答予定時刻を決定することができる。決定部213は、特定された応答可能期間がタイムスロット1つ分より長い場合、クエリの送信から、応答可能期間に対応するタイムスロット数だけ後のタイムスロットを応答予定スロットに決定し、応答予定スロット内において応答予定時刻を決定することができる。
図9Aは、従来のModbus/RTUによるクエリ及びレスポンスの送信タイミングの一例を示すタイミングチャートであり、図9Bは、本実施形態に係る通信システムにおけるクエリ及びレスポンスの送信タイミングの一例を示すタイミングチャートである。図9A及び図9Bにおいて、Q1,Q2,Q3,Q4はクエリを、R1,R2,R3はレスポンスを示す。クエリQ1とレスポンスR1とが対応し、クエリQ2とレスポンスR2とが対応し、クエリQ3とレスポンスR3とが対応する。図9Aに示すように、従来のModbus/RTUでは、マスタである制御装置からクエリQ1が送信されると、スレーブであるRTUによるレスポンスR1の送信が完了するまで通信路が占有される。RTUからのレスポンスR1の送信が完了すると、制御装置からクエリQ2が送信され、RTUからレスポンスR2が送信される。同様に、レスポンスR2の送信が完了すると、制御装置からクエリQ3が送信され、RTUからレスポンスR3が送信される。クエリQ2,Q3の送信開始からレスポンスR2,R2の送信完了まではそれぞれ通信路が占有される。従来のModbus/RTUでは、クエリが送信されてから、当該クエリに対するレスポンスの送信が完了するまで通信路が占有されるため、レスポンスR1,R2,R3の送信順番はクエリQ1,Q2,Q3の送信順番と必ず一致し、レスポンスR1,R2,R3の送信順番を変更することは許されない。
複数のRTUは互いに処理能力、つまり応答可能期間が異なり得る。つまり、クエリQ1の送信開始時刻からレスポンスR1の送信開始時刻までの応答期間RT1と、クエリQ2の送信開始時刻からレスポンスR2の送信開始時刻までの応答期間RT2と、クエリQ3の送信開始時刻からレスポンスR3の送信開始時刻までの応答期間RT3とは互いに異なり得る。このように、従来のModbus/RTUでは、マスタからのクエリに対するスレーブの応答期間は可変長である。マスタは、レスポンスの受信を完了するまで(又はタイムアウトが発生するまで)次のクエリを送信することはできない。したがって、クエリの送信開始から次のクエリの送信開始までの期間T1’,T2‘,T3’も可変長である。
図9Bを参照する。本実施形態に係る通信システム10において、タイムスロットT1,T2,T3,T4はそれぞれ同一の長さの期間である。クエリQ1,Q2,Q3,Q4のそれぞれは、タイムスロットT1,T2,T3,T4のそれぞれの開始タイミングにおいて制御装置200から送信される。クエリQ1に対応するレスポンスR1は、タイムスロットT2においてRTU300Aから送信される。クエリQ2に対応するレスポンスR2は、タイムスロットT4においてRTU300Bから送信される。クエリQ3に対応するレスポンスR3は、タイムスロットT3においてRTU300Cから送信される。
レスポンスの送信順番は、RTU300の応答可能期間及び優先度によって、クエリの送信順番とは必ずしも対応しない。図9Bの例では、クエリQ3の送信はクエリQ2の送信よりも後であるが、レスポンスR3の送信はレスポンスR2の送信より先行する。
図4に戻り、決定部213は、スケジュールテーブル207を参照し、既に予約されている応答予定時刻に基づいて、新たな応答予定時刻を決定することができる。例えば、応答可能期間に基づいて決定された応答予定時刻と、予約されている他の応答予定時刻とが重複する場合、一方の応答予定時刻を1タイムスロット(図8の例では100ミリ秒)遅らせることによって、2つの応答予定時刻の重複を回避することができる。この場合において、例えば、決定部213は、2つの応答予定時刻のうち優先度が低い方を遅らせることができる。例えば、2つの応答予定時刻の優先度が同一である場合、決定部213は、クエリを送信する順番にしたがって、応答予定時刻を決定することができる。
決定部213は、クエリの送信時刻を、タイムスロットに基づいて決定することができる。クエリの送信順番は、クエリの取得順番にしたがって決定される。決定部213は、決定したクエリの送信時刻及び応答予定時刻を、スケジュールテーブルに予約する。
タイマ215には、スケジュールテーブル207に予定されている送信時刻が設定される。タイマ215は、送信時刻が到来するまで計時を行う。
生成部214は、決定部213によって決定された応答予定時刻を指定したタイミング通知メッセージを生成する。タイミング通知メッセージは、タイミング特定情報の一例である。例えば、タイミング通知メッセージのフォーマットは、クエリのメッセージフォーマットを利用して定義することができる。図5を参照し、タイミング通知メッセージのフォーマットの一例を説明する。タイミング通知メッセージにおいて、SAはクエリと同じSAが指定される。タイミング通知メッセージはModbusの仕様に定義されていない独自メッセージであるため、タイミング通知メッセージにおけるFCはModbusに規定されているFC以外の値が設定される。タイミング通知メッセージでは、AH及びALに応答予定時刻が指定される。タイミング通知メッセージのBH及びBLには、任意の値(例えば、「1」)を設定可能である。
タイミング通知メッセージにおいて、応答予定時刻は絶対時刻として指定されてもよいし、相対時刻として指定されてもよい。絶対時刻として応答予定時刻が指定される場合、制御装置200とRTU300とは時刻同期されている必要がある。相対時刻として応答予定時刻が指定される場合、制御装置200とRTU300とは時刻同期されていなくてもよい。
相対時刻の場合、例えば、基準時刻から応答予定時刻までの経過時間が、タイミング通知メッセージにおいて指定される。本実施形態では、送信時刻が到来するとタイミング通知メッセージが送信され、タイミング通知メッセージの送信完了から所定の無通信期間が経過した後にクエリが送信される。この場合、基準時刻は、タイミング通知メッセージの送信開始時刻であってもよいし、タイミング通知メッセージの送信完了時刻であってもよいし、クエリの送信開始時刻であってもよいし、クエリの送信完了時刻であってもよい。タイミング通知メッセージの送信開始時刻、タイミング通知メッセージの送信完了時刻、クエリの送信開始時刻、及びクエリの送信完了時刻は、要求情報の送信に関する時刻の例である。
タイミング通知メッセージにおいて、応答予定スロットが応答予定タイミングとして指定されてもよい。例えば、タイミング通知メッセージは、決定された応答予定スロットを特定する情報(例えば、スロット番号、スロットの開始時刻等)を含んでもよい。RTU300は、例えばシリアル通信バス600の通信状態を監視し、指定された応答予定スロットにおいてクエリの送信完了を検出すると、無通信期間の後に応答予定時刻が到来したと判断し、レスポンスを送信することができる。
図4に戻り、第1送信部216は、生成部214によって生成されたタイミング通知メッセージ及びバッファ212に格納されたクエリをRTU300へ送信する。Modbusでは、メッセージの送信の前後には、3.5キャラクタ(1キャラクタ=10ビット)以上の無通信期間(サイレントインターバル)が配置される。つまり、タイミング通知メッセージとクエリとの間、及びクエリの後には無通信期間が配置される。タイマ215に設定された送信時刻が到来すると、第1送信部216は、タイミング通知メッセージを送信し、さら無通信期間が経過した後、クエリを送信する。
レスポンスの送信期間が複数のタイムスロットと重複する場合、第1送信部216は、レスポンスの送信期間と重複するタイムスロットにおいて、タイミング通知メッセージ及びクエリの送信を保留する。図10は、クエリの送信を保留する場合におけるクエリ及びレスポンスの送信タイミングの一例を示すタイミングチャートである。図10において、Q11,Q12,Q13,Q14はクエリを、R11はレスポンスを示す。クエリQ11とレスポンスR11とが対応する。タイムスロットT12においてクエリQ12の送信が完了してからレスポンスR11の送信が開始されるが、レスポンスR11の送信期間はタイムスロットT12,T13及びT14にまたがる。この場合、第1送信部216は、タイムスロットT13及びT14においてクエリQ13及びQ14の送信を保留し、タイムスロットT15以降にクエリQ13及びQ14を送信する。
クエリの送信の保留は、スケジュールテーブル207において予約されていてもよい。例えば、決定部213は、RTU300によるレスポンスの送信期間を推定し、推定されたレスポンスの送信期間が複数のタイムスロットと重複する場合に、クエリの送信の保留を決定することができる。さらに決定部213は、応答予定時刻に基づいて、クエリの送信を保留するタイムスロットを決定することができる。決定部213は、決定されたクエリの送信を保留をスケジュールテーブル207に予約する。つまり、決定部213は、応答予定時刻から、レスポンスの送信期間と重複する複数のタイムスロットをスキップして次のクエリの送信時刻を予約することができる。
他の例では、第1送信部216がシリアル通信バス600の通信状態を監視し、レスポンスの送信が完了したと判断した後に、タイミング通知メッセージ及びクエリを送信してもよい。レスポンスの送信期間が複数のタイムスロットと重複する場合、タイムスロットが切り替わってもレスポンスの送信が完了していなければ、タイミング通知メッセージ及びクエリは送信されない(つまり、送信が保留される)。
図4を参照し、RTU300の第2受信部311は、制御装置200から送信されたタイミング通知メッセージ及びクエリを受信する。
識別部312は、第2受信部311によって受信されたメッセージが、タイミング通知メッセージであるかクエリであるかを識別する。
読出部313は、識別部312によって識別されたクエリに指定されている読出し開始アドレス及び読出バイト数にしたがって、センサ400のレジスタからセンサ情報を読み出す。読出部313は、取得部の一例である。
生成部314は、識別部312によって識別されたクエリ及び読出部313によって読み出されたセンサ情報に基づいて、レスポンスを生成する。レスポンスは、クエリによって要求されたセンサ情報を制御装置200へ送信するためのメッセージフレームであり、応答情報の一例である。レスポンスには、クエリに含まれるSAと、レスポンスであることを示すFCと、センサ情報とが含まれる。
バッファ315はレスポンスを一時記憶する記憶領域である。例えば、揮発性メモリ313の一部の領域がバッファ315として利用される。生成部314は、生成したレスポンスをバッファ315に格納する。
タイマ設定部316は、識別部312によって識別されたタイミング通知メッセージにおいて指定された応答予定時刻をタイマ317に設定する。タイマ317は、応答予定時刻が到来するまで計時を行う。
第2送信部318は、バッファ315に格納されたリクエストを制御装置200へ送信する。タイマ317に設定された応答予定時刻が到来すると、第2送信部318は、レスポンスを送信する。
制御装置200の第1受信部217は、RTU300から送信されたレスポンスを受信する。
識別部218は、第1受信部217によって受信されたレスポンスが、どのクエリに対応するかを識別する。例えば、識別部218は、レスポンスに含まれるSAと、クエリに含まれるSAとを照合することによって、レスポンスに対応するクエリを識別することができる。他の例では、取得部211がクエリの特定の領域に識別情報を格納し、生成部314がレスポンスの特定の領域にクエリと同一の識別情報を格納する。識別部218は、レスポンスに含まれる識別情報と、クエリに含まれる識別情報とを照合することによって、レスポンスに対応するクエリを識別することができる。
提供部219は、識別部218によって識別されたレスポンスに含まれるセンサ情報を、管理装置100へ提供する。例えば、Modbus/TCPを使用する場合、提供部219は、第1受信部217によってレスポンスを含むパケットを生成し、管理装置100へ送信する。
[1-5.通信システムの動作]
次に、本実施形態に係る通信システム10の動作について説明する。制御装置200は、応答予定タイミング決定処理と、クエリ送信処理と、レスポンス受信処理とを実行することができる。RTU300は、応答処理を実行することができる。図11は、第1実施形態に係る制御装置の応答予定タイミング決定処理の一例を示すフローチャートである。図12は、第1実施形態に係る制御装置のクエリ送信処理の一例を示すフローチャートである。図13は、第1実施形態に係るRTUの応答処理の一例を示すフローチャートである。図14は、第1実施形態に係る制御装置のレスポンス受信処理の一例を示すフローチャートである。
図11を参照し、制御装置200の応答予定タイミング決定処理を説明する。
管理装置100は、センサ情報が必要になると、センサ情報の要求を制御装置200へ送信する。制御装置200は、管理装置100からの要求を受信する(ステップS101)。
プロセッサ201は、受信した要求に基づいてクエリを作成する(ステップS102)。プロセッサ201は、作成したクエリをバッファ212に格納する(ステップS103)。
プロセッサ201は、処理能力テーブル208を参照し、クエリに含まれるSAからRTUの応答可能期間を取得する。プロセッサ201は、クエリの送信時刻を決定し、送信時刻と応答可能期間とに基づいて応答予定時刻を決定する(ステップS104)。
プロセッサ201は、スケジュールテーブル207を参照し、決定した応答予定時刻が、予約されている他の応答予定時刻と重複するか否かを判定する(ステップS105)。決定した応答予定時刻が、予約されている他の応答予定時刻と重複する場合(ステップS105においてYES)、プロセッサ201は、応答予定時刻を1タイムスロット遅らせ(ステップS106)、ステップS105に戻る。
決定した応答予定時刻が、予約されている他の応答予定時刻と重複しない場合(ステップS105においてNO)、プロセッサ201は、決定した応答予定時刻をスケジュールテーブル207に予約する(ステップS107)。以上で、応答予定タイミング決定処理が終了する。
次に、図12を参照し、制御装置200のクエリ送信処理を説明する。
プロセッサ201は、スケジュールテーブル207に予約されたタイミング通知メッセージ及びクエリの送信時刻が到来したか否かを判定する(ステップS201)。送信時刻が到来していない場合(ステップS201においてNO)、プロセッサ201はステップS201に戻る。
予約された送信時刻が到来した場合(ステップS201においてYES)、プロセッサ201は、レスポンス受信中のためタイミング通知メッセージ及びクエリの送信を保留するか否かを判定する(ステップS202)。レスポンス受信中であり、タイミング通知メッセージ及びクエリの送信を保留する場合(ステップS202においてYES)、プロセッサ201はステップS202に戻る。
タイミング通知メッセージ及びクエリの送信を保留しない場合(ステップS202においてNO)、プロセッサ201は、スケジュールテーブル207に登録されたSA及び応答予定時刻を用いてタイミング通知メッセージを生成する(ステップS203)。なお、プロセッサ201は、タイミング通知メッセージをクエリ送信処理の開始前に生成しておき、バッファ212に格納してもよい。
プロセッサ201は、生成したタイミング通知メッセージをシリアル通信バス600に送出する(ステップS204)。さらにプロセッサ201は、タイミング通知メッセージの送信完了から無通信期間が経過した後、バッファ212に格納されたクエリをシリアル通信バス600に送出する(ステップS205)。以上で、クエリ送信処理が終了する。
次に、図13を参照し、RTU300の応答処理を説明する。
RTU300は、タイミング通知メッセージを受信する(ステップS301)。プロセッサ301は、タイミング通知メッセージにおいて指定された応答予定時刻をタイマに設定する(ステップS302)。
RTU300は、クエリを受信する(ステップS303)。プロセッサ301は、クエリにおいて指定されたレジスタアドレスからセンサ情報を読み出す(ステップS304)。
プロセッサ301は、読み出したセンサ情報を用いてレスポンスを作成する(ステップS305)。プロセッサ201は、作成したレスポンスをバッファ315に格納する(ステップS306)。
プロセッサ301は、応答予定時刻が到来したか否かを判定する(ステップS307)。応答予定時刻が到来していない場合(ステップS307においてNO)、プロセッサ301はステップS307に戻る。
応答予定時刻が到来した場合(ステップS307においてYES)、プロセッサ301は、バッファ315に格納されたレスポンスをシリアル通信バス600に送出する(ステップS308)。以上で、応答処理が終了する。
次に、図14を参照し、制御装置200のレスポンス受信処理を説明する。
制御装置200は、RTU300からのレスポンスを受信する(ステップS401)。
プロセッサ201は、受信したレスポンスからセンサ情報を抽出し、センサ情報を管理装置100へ送信する(ステップS402)。以上で、レスポンス受信処理が終了する。
[2.第2実施形態]
本実施形態では、制御装置200とRTU300との間に中継装置が配置され、中継装置がRTU300に応答予定タイミングを通知する。
[2-1.通信システム]
図15は、第2実施形態に係る通信システムの構成の一例を示す図である。本実施形態に係る通信システム10Aは、中継装置700を含む。中継装置700は、シリアル通信線600Aを介して制御装置200と接続される。中継装置700は、シリアル通信バス600を介してRTU300A,300B,300Cと接続される。
中継装置700は、Modbus/RTUを用いて制御装置200と通信することができる。中継装置700は、Modbus/RTUを用いてRTU300A,300B,330Cと通信することができる。中継装置700は、制御装置200から送信されたクエリを受信し、RTU300へ転送する。中継装置700は、RTU300から送信されたレスポンスを受信し、制御装置200へ転送する。
本実施形態において、制御装置200はタイミング通知メッセージを生成及び送信しない。制御装置200はマスタであり、不定期にクエリを送信する。本実施形態では、中継装置700が応答予定時刻の決定機能及びタイミング通知メッセージの生成及び送信機能を有する。中継装置700は、制御装置200から受信されたクエリを定期送信する。RTU300はスレーブであり、クエリに対するレスポンスを送信する。
本実施形態に係る通信システム10Aのその他の構成は、第1実施形態に係る通信システム10の構成と同様であるので、同一構成要素には同一符号を付し、説明を省略する。
[2-2.中継装置の構成]
図16は、第2実施形態に係る中継装置のハードウェア構成の一例を示すブロック図である。中継装置700は、プロセッサ701と、不揮発性メモリ702と、揮発性メモリ703と、第1通信I/F704と、第2通信I/F705とを含む。
揮発性メモリ703は、例えばSRAM、DRAM等の半導体メモリである。不揮発性メモリ702は、例えばフラッシュメモリ、ハードディスク、ROM等である。不揮発性メモリ702には、コンピュータプログラムである中継プログラム706及び中継プログラム706の実行に使用されるデータが格納される。さらに不揮発性メモリ702には、スケジュールテーブル207、処理能力テーブル208、及び優先度テーブル209が含まれる。スケジュールテーブル207は、揮発性メモリ703に設けられてもよい。スケジュールテーブル207、処理能力テーブル208、及び優先度テーブル209は、第1実施形態において説明したものと同様であるので、説明を省略する。
中継装置700は、コンピュータを備えて構成され、中継装置700の各機能は、前記コンピュータの記憶装置に記憶されたコンピュータプログラムである中継プログラム706がプロセッサ701によって実行されることで発揮される。中継プログラム706は、フラッシュメモリ、ROM、CD-ROMなどの記録媒体に記憶させることができる。プロセッサ701は、中継プログラム706を実行し、後述するようにRTU300とModbus/RTUを用いて通信する。
プロセッサ701は、例えばCPUである。ただし、プロセッサ701は、CPUに限られない。プロセッサ701は、GPUであってもよい。プロセッサ701は、例えば、ASICであってもよいし、ゲートアレイ、FPGA等のプログラマブルロジックデバイスであってもよい。この場合、ASIC又はプログラマブルロジックデバイスは、中継プログラム706と同様の処理を実行可能に構成される。
第1通信I/F704は、シリアル通信インタフェースである。具体的な一例では、第1通信I/F704は、RS-485インタフェースである。第1通信I/F704は、シリアル通信線600Aに接続されている。中継装置700は、第1通信I/F704によって、制御装置200との間でModbus/RTUを用いた通信を行うことができる。
第2通信I/F705は、シリアル通信インタフェースである。具体的な一例では、第2通信I/F705は、RS-485インタフェースである。第2通信I/F705は、シリアル通信バス600に接続されている。中継装置700は、第2通信I/F705によって、RTU300との間でModbus/RTUを用いた通信を行うことができる。
中継装置700の機能は、第1実施形態に係る制御装置200の機能と概ね同様である。
[2-3.通信システムの動作]
図17は、第2実施形態に係る通信システムの動作の一例を示すシーケンス図である。
制御装置200は、RTU300A宛てのクエリ1を送信する(ステップS511A)。中継装置700は、応答予定タイミング決定処理(図11)を実行する。つまり、中継装置700のプロセッサ701は、クエリ1を受信し、応答予定時刻を決定する(ステップS521A)。プロセッサ701は、RTU300A宛てのタイミング通知メッセージ(以下、「タイミング通知1」という)を生成する。中継装置700は、クエリ送信処理(図12)を実行する。スケジュールテーブル207に予約された送信時刻(タイムスロット)が到来すると、プロセッサ701は、生成したタイミング通知1をRTU300Aへ送信し(ステップS522A)、クエリ1をRTU300Aヘ送信する(ステップS523A)。
RTU300Aのプロセッサ301は、クエリ1によって要求されたセンサ情報をセンサ400A,400Bから取得し、レスポンス1を生成する。
制御装置200は、RTU300B宛てのクエリ2を送信する(ステップS511B)。中継装置700のプロセッサ701は、クエリ2を受信し、応答予定時刻を決定する(ステップS521B)。プロセッサ701は、RTU300B宛てのタイミング通知メッセージ(以下、「タイミング通知2」という)を生成する。スケジュールテーブル207に予約された送信時刻が到来すると、プロセッサ701は、生成したタイミング通知2をRTU300Bへ送信し(ステップS522B)、クエリ2をRTU300Bヘ送信する(ステップS523B)。
図17の例では、クエリ1に対する応答予定時刻が、クエリ2に対する応答予定時刻よりも後である。RTU300Bのプロセッサ301は、クエリ2によって要求されたセンサ情報をセンサ400C,400Dから取得し、レスポンス2を生成する。応答予定時刻が到来すると、RTU300Bのプロセッサ301は、レスポンス2を送信する(ステップS531B)。
制御装置200は、RTU300C宛てのクエリ3を送信する(ステップS511C)。中継装置700は、クエリ3を受信する。さらに中継装置700は、RTU300Bから受信したレスポンス2を制御装置200へ送信する(ステップS541B)。中継装置700のプロセッサ701は、後述するレスポンス受信処理を実行することによって、レスポンス2を受信し、受信したレスポンス2を制御装置200へ送信することができる。
制御装置200からのクエリの送信は不定期であるため、中継装置700は、クエリ送信によるシリアル通信線600Aの占有を予測することができない。このため、中継装置700はシリアル通信線600Aの通信状態を監視し、クエリの送信中においてはレスポンスの送信を保留する。図17の例では、中継装置700がレスポンス2を制御装置200へ送信するタイミングが、制御装置200によるクエリ3の送信期間と競合する。中継装置700は、クエリ3の受信完了までレスポンス2の送信を保留し、クエリ3の受信完了後にレスポンス2を制御装置200へ送信する。
中継装置700のプロセッサ701は、クエリ3に対する応答予定時刻を決定する(ステップS521C)。
RTU300Aにおいて応答予定時刻が到来し、RTU300Aのプロセッサ301がレスポンス1を送信する(ステップS531A)。中継装置700のプロセッサ701は、レスポンス1を受信し、受信したレスポンス1を制御装置200へ送信する(ステップS541A)。
プロセッサ701は、RTU300C宛てのタイミング通知メッセージ(以下、「タイミング通知3」という)を生成する。スケジュールテーブル207に予約された送信時刻が到来すると、プロセッサ701は、生成したタイミング通知3をRTU300Cへ送信し(ステップS522C)、クエリ3をRTU300Cヘ送信する(ステップS523C)。
図18は、第2実施形態に係る中継装置のレスポンス受信処理の一例を示すフローチャートである。
プロセッサ701は、RTU300からのレスポンスを受信する(ステップS601)。プロセッサ701は、受信したレスポンスをバッファに格納する(ステップS602)。バッファは、レスポンスを一時記憶する記憶領域であり、クエリ格納用のバッファとは別に設けられる。例えば、揮発性メモリ713の一部の領域がバッファとして利用される。
プロセッサ701は、第1通信I/F714がクエリを受信中であるか否かを判定する(ステップS603)。クエリを受信中である場合(ステップS603においてYES)、プロセッサ701はステップS603に戻る。
クエリを受信中でない場合(ステップS603においてNO)、プロセッサ701は、バッファに格納されたレスポンスをシリアル通信線600Aに送出する(ステップS604)。以上で、レスポンス受信処理が終了する。
[3.変型例]
上述した第1及び第2実施形態においては、繰り返される一定長のタイムスロットにしたがって制御装置200又は中継装置700がタイミング通知メッセージ及びクエリを送信し、RTU300がレスポンスを送信した。例えば、制御装置200又は中継装置700とRTU300とが電力線で接続されてもよい。制御装置200又は中継装置700とRTU300A,300B,300Cのそれぞれとは、RS-485の代わりに、PLC(Power Line Communication)によって通信することができる。この場合において、PLCに用いられる電力の交流サイクルによって通信期間(タイムスロット)を定義してもよい。
図19は、交流サイクルを用いた通信期間の定義の一例を示す図である。図19に示すように、交流サイクルにおけるプラスの期間を、制御装置200又は中継装置700がタイミング通知メッセージ及びクエリを送信するマスタ送信期間とし、マイナスの期間を、RTU300がレスポンスを送信するスレーブ送信期間とすることができる。なお、マイナスの期間をマスタ送信期間とし、プラスの期間をスレーブ送信期間としてもよい。また、マスタ送信期間をプラス又はマイナスの期間に一致させなくてもよく、スレーブ送信期間をマイナス又はプラスの期間に一致させなくてもよい。例えば、交流のゼロクロス点(電圧がマイナスからプラスへ変化する際のゼロクロス点でもよく、電圧がプラスからマイナスへ変化する際のゼロクロス点でもよい)においてマスタ送信期間を開始し、その後の任意のゼロクロス点においてマスタ送信期間を終了し且つスレーブ送信期間を開始し、さらにその後の任意のゼロクロス点においてスレーブ送信期間を終了してもよい。この場合、マスタ送信期間とスレーブ送信期間との比率を1:1以外の任意の比率に設定してもよい。PLCに用いられる電力の交流サイクルを利用することによって、制御装置200又は中継装置700とRTU300との間で時刻同期をしなくても、マスタ送信期間及びスレーブ送信期間を共用することができる。
制御装置200又は中継装置700とRTU300A,300B,300CのそれぞれとがPLCによって通信する場合、PLCの通信方式であるG3-PLC上で、MQTT(Message Queueing Telemetry Transport)といった簡易プロトコルを使用することができる。この場合は、タイミング通知メッセージとクエリとを統合化した一つのパケットとしてもよい。
[4.効果]
実施形態に係る通信システム10,10Aは、RTU300(端末装置)と、制御装置200又は中継装置700(通信装置)とを含む。RTU300は、センサ400(機器)に接続される。制御装置200又は中継装置700は、RTU300と通信可能に接続される。制御装置200又は中継装置700は、決定部213と、第1送信部216とを含む。決定部213は、RTU300の応答予定時刻(応答予定タイミング)を決定する。第1送信部216は、タイミング通知メッセージ(タイミング特定情報)及びクエリ(要求情報)をRTU300へ送信する。タイミング通知メッセージは、決定部213によって決定された応答予定時刻を特定するための情報である。クエリは、RTU300にセンサ情報を要求する情報である。RTU300は、読出部313(取得部)と、第2送信部318とを含む。読出部313は、クエリに基づいてセンサ400からセンサ情報を取得する。第2送信部318は、タイミング通知メッセージによって特定される応答予定時刻が到来すると、読出部313によって取得されたセンサ情報を含むレスポンス(応答情報)を制御装置200又は中継装置700へ送信する。これにより、制御装置200又は中継装置700は、レスポンスが送信されるタイミングを把握しているため、クエリの送信及びレスポンスの受信のスケジュールを予め設定することができ、クエリ及びレスポンスを効率的に送受信することができる。
第1送信部216は、繰り返される一定長のタイムスロット(通信期間)毎にタイミング通知メッセージ及びクエリを送信してもよい。決定部213は、複数のタイムスロットのうち、RTU300がレスポンスを送信すべきタイムスロットを、応答予定時刻を含む応答予定スロット(応答予定通信期間)として決定してもよい。これにより、制御装置200又は中継装置700はクエリを定期送信することができる。さらに、制御装置200又は中継装置700はタイムスロットを用いて応答予定タイミングを決定することができる。
決定部213は、応答予定スロットにおいて、タイミング通知メッセージ及びクエリが送信される期間を除く期間から、応答予定時刻を決定してもよい。これにより、タイミング通知メッセージ及びクエリの送信期間と、応答予定時刻との競合を回避することができる。
制御装置200又は中継装置700とRTU300とはPLCによって通信してもよい。タイムスロットは、PLCに用いられる電力の交流サイクルに基づいて決定されてもよい。これにより、制御装置200又は中継装置700は、PLCに用いられる交流電力を用いて応答予定タイミングを決定することができる。RTU300は、制御装置200又は中継装置700と時刻同期がされていなくても、交流サイクルを用いてレスポンスを送信することができる。
第1送信部216は、交流サイクルに含まれる第1極性(プラス又はマイナス)の期間においてタイミング通知メッセージ及びクエリを送信してもよい。決定部213は、応答予定スロットの交流サイクルに含まれる第2極性(マイナス又はプラス)の期間から、応答予定タイミングを決定してもよい。これにより、タイミング通知メッセージ及びクエリの送信期間と、応答予定タイミングとの競合を回避することができる。
レスポンスの送信期間が複数のタイムスロットと重複する場合、第1送信部216は、レスポンスの送信期間と重複するタイムスロットにおいて、タイミング通知メッセージ及びクエリの送信を保留してもよい。これにより、タイミング通知メッセージ及びクエリの送信期間と、レスポンスの送信期間との競合を回避することができる。
タイミング通知メッセージは、応答予定スロットを示す情報であってもよい。これにより、制御装置200又は中継装置700は、応答予定タイミングを応答予定スロットとしてRTU300に通知することができる。
決定部213は、応答予定タイミングとして、RTU300がレスポンスを送信すべき時刻である応答予定時刻を決定してもよい。タイミング通知メッセージは、応答予定時刻を示してもよい。これにより、制御装置200又は中継装置700は、応答予定タイミングを応答予定時刻としてRTU300に通知することができる。
タイミング通知メッセージは、クエリの送信に関する時刻から、レスポンスの送信予定時刻までの期間を示す情報であってもよい。これにより、制御装置200又は中継装置700は、応答予定タイミングを、クエリの送信に関する時刻を基準とした相対時刻としてRTU300に通知することができる。RTU300は、制御装置200又は中継装置700と時刻同期がされていなくても、レスポンスを送信すべきタイミングを特定することができる。
通信システム10,10Aは、RTU300A及びRTU300Bを含む複数のRTU300を備えてもよい。決定部213は、RTU300Aの応答予定タイミングである第1応答予定タイミングと、RTU300Bの応答予定タイミングである第2応答予定タイミングとの競合を回避するように、第1応答予定タイミング及び第2応答予定タイミングを決定してもよい。これにより、RTU300Aの応答可能期間と、RTU300Bの応答可能期間とが異なる場合でも、RTU300AとRTU300Bとの間におけるレスポンスの送信の競合を回避することができる。
決定部213は、制御装置200又は中継装置700がRTU300Aのためのクエリである第1クエリと、RTU300Bのためのクエリである第2クエリとのそれぞれを取得する順番に基づいて、第1応答予定タイミング及び第2応答予定タイミングを決定してもよい。これにより、クエリの取得順番にしたがって、合理的な応答予定タイミングを決定することができる。
クエリは識別情報を含んでもよい。第2送信部318は、クエリに基づいて取得されたセンサ情報と、クエリに含まれる識別情報とを含むレスポンスを、制御装置200又は中継装置700へ送信してもよい。これにより、例えばクエリの送信順番と、レスポンスの受信順番とが異なっていても、識別情報を用いてクエリに対応するレスポンスを特定することができる。
決定部213は、RTU300の処理能力及びRTU300に割り当てられた優先度に基づいて、RTU300の応答予定タイミングを決定してもよい。これにより、RTU300の処理能力によって推定される応答可能期間にしたがって適切な応答予定タイミングを決定することができる。さらに、重要なレスポンスを優先して送信するように、合理的な応答予定タイミングを決定することができる。
制御装置200又は中継装置700とRTU300とは、Modbus/RTUによって通信してもよい。これにより、Modbus/RTUにおけるクエリとレスポンスの送受信を効率的に行うことができる。
[5.補記]
今回開示された実施の形態はすべての点で例示であって、制限的ではない。本発明の権利範囲は、上述の実施形態ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味及びその範囲内でのすべての変更が含まれる。
10,10A 通信システム
100 管理装置
200 制御装置(通信装置)
201 プロセッサ
202 不揮発性メモリ
203 揮発性メモリ
204 第1通信インタフェース(第1通信I/F)
205 第2通信インタフェース(第2通信I/F)
206 マスタプログラム
207 スケジュールテーブル
208 処理能力テーブル
209 優先度テーブル
211 取得部
212 バッファ
213 決定部
214 生成部
215 タイマ
216 第1送信部
217 第1受信部
218 識別部
219 提供部
300,300A,300B,300C RTU(Remote Terminal Unit)(端末装置)
301 プロセッサ
302 不揮発性メモリ
303 揮発性メモリ
304 通信インタフェース(通信I/F)
305 入出力インタフェース(I/O)
306 スレーブプログラム
311 第2受信部
312 識別部
313 読出部(取得部)
314 生成部
315 バッファ
316 タイマ設定部
317 タイマ
318 第2送信部
400,400A,400B,400C,400D,400E,400F センサ(機器)
500 ネットワーク
600 シリアル通信バス
600A シリアル通信線
700 中継装置(通信装置)
701 プロセッサ
702 不揮発性メモリ
703 揮発性メモリ
704 第1通信インタフェース(第1通信I/F)
705 第2通信インタフェース(第2通信I/F)
706 中継プログラム
Q1,Q2,Q3,Q4,Q11,Q12,Q13, クエリ
R1,R2,R3,R11 レスポンス
T1,T2,T3,T4,T11,T12,T13,T14,T15 タイムスロット(通信期間)

Claims (15)

  1. 機器に接続された端末装置と、
    前記端末装置と通信可能に接続された通信装置と、
    を備え、
    前記通信装置は、
    前記端末装置の応答予定タイミングを決定する決定部と、
    前記決定部によって決定された前記応答予定タイミングを特定するためのタイミング特定情報及び前記端末装置に機器情報を要求する要求情報を前記端末装置へ送信する第1送信部と、
    を含み、
    前記端末装置は、
    前記要求情報に基づいて前記機器から機器情報を取得する取得部と、
    前記タイミング特定情報によって特定される前記応答予定タイミングが到来すると、前記取得部によって取得された前記機器情報を含む応答情報を前記通信装置へ送信する第2送信部と、
    を含む、
    通信システム。
  2. 前記第1送信部は、繰り返される一定長の通信期間毎に前記タイミング特定情報及び前記要求情報を送信し、
    前記決定部は、複数の前記通信期間のうち、前記端末装置が前記応答情報を送信すべき通信期間を、前記応答予定タイミングを含む応答予定通信期間として決定する、
    請求項1に記載の通信システム。
  3. 前記決定部は、前記応答予定通信期間において、前記タイミング特定情報及び前記要求情報が送信される期間を除く期間から、前記応答予定タイミングを決定する、
    請求項2に記載の通信システム。
  4. 前記通信装置と前記端末装置とは電力線通信によって通信し、
    前記通信期間は、前記電力線通信に用いられる電力の交流サイクルに基づいて決定される、
    請求項2又は請求項3に記載の通信システム。
  5. 前記第1送信部は、前記交流サイクルに含まれる第1極性の期間において前記タイミング特定情報及び前記要求情報を送信し、
    前記決定部は、前記応答予定通信期間の交流サイクルに含まれる第2極性の期間から、前記応答予定タイミングを決定する、
    請求項4に記載の通信システム。
  6. 前記応答情報の送信期間が複数の前記通信期間と重複する場合、前記第1送信部は、前記応答情報の送信期間と重複する前記通信期間において、前記タイミング特定情報及び前記要求情報の送信を保留する、
    請求項2から請求項5のいずれか1項に記載の通信システム。
  7. 前記タイミング特定情報は、前記応答予定通信期間を示す情報である、
    請求項2から請求項6のいずれか1項に記載の通信システム。
  8. 前記決定部は、前記応答予定タイミングとして、前記端末装置が前記応答情報を送信すべき時刻である応答予定時刻を決定し、
    前記タイミング特定情報は、前記応答予定時刻を示す、
    請求項1から請求項7のいずれか1項に記載の通信システム。
  9. 前記タイミング特定情報は、前記要求情報の送信に関する時刻から、前記応答情報の送信予定時刻までの時間を示す情報である、
    請求項1から請求項7のいずれか1項に記載の通信システム。
  10. 前記通信システムは、第1端末装置及び第2端末装置を含む複数の前記端末装置を備え、
    前記決定部は、前記第1端末装置の応答予定タイミングである第1応答予定タイミングと、前記第2端末装置の応答予定タイミングである第2応答予定タイミングとの競合を回避するように、前記第1応答予定タイミング及び前記第2応答予定タイミングを決定する、
    請求項1から請求項9のいずれか1項に記載の通信システム。
  11. 前記決定部は、前記通信装置が前記第1端末装置のための要求情報である第1要求情報と、前記第2端末装置のための要求情報である第2要求情報とのそれぞれを取得する順番に基づいて、前記第1応答予定タイミング及び前記第2応答予定タイミングを決定する、
    請求項10に記載の通信システム。
  12. 前記要求情報は識別情報を含み、
    前記第2送信部は、前記要求情報に基づいて取得された前記機器情報と、前記要求情報に含まれる前記識別情報とを含む前記応答情報を、前記通信装置へ送信する、
    請求項1から請求項11のいずれか1項に記載の通信システム。
  13. 前記決定部は、前記端末装置の処理能力及び前記端末装置に割り当てられた優先度に基づいて、前記端末装置の応答予定タイミングを決定する、
    請求項1から請求項12のいずれか1項に記載の通信システム。
  14. 前記通信装置及び前記端末装置は、Modbus/RTUによって通信する、
    請求項1から請求項13のいずれか1項に記載の通信システム。
  15. 機器に接続された端末装置と通信可能に接続された通信装置であって、
    機器情報を要求する要求情報に対して前記端末装置が応答するための応答予定タイミングを決定する決定部と、
    前記決定部によって決定された前記応答予定タイミングを特定するためのタイミング特定情報及び前記要求情報を前記端末装置へ送信する第1送信部と、
    を備える、
    通信装置。
JP2021122950A 2021-07-28 2021-07-28 通信システム及び通信装置 Pending JP2023018732A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021122950A JP2023018732A (ja) 2021-07-28 2021-07-28 通信システム及び通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021122950A JP2023018732A (ja) 2021-07-28 2021-07-28 通信システム及び通信装置

Publications (1)

Publication Number Publication Date
JP2023018732A true JP2023018732A (ja) 2023-02-09

Family

ID=85159519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021122950A Pending JP2023018732A (ja) 2021-07-28 2021-07-28 通信システム及び通信装置

Country Status (1)

Country Link
JP (1) JP2023018732A (ja)

Similar Documents

Publication Publication Date Title
JP5233770B2 (ja) ゲートウェイ装置、その制御方法、システム、制御方法を実行させるためのプログラム及びそれを記録した記録媒体
KR100807529B1 (ko) 무선 필드버스를 이용한 실시간 전송 방법
US9270481B2 (en) Communication system and method for isochronous data transmission in real time
JP4731096B2 (ja) 通信システム及びデバイス
CN106685735B (zh) Epa片上***、epa通信***及通信方法
JP2001306428A (ja) ネットワーク機器、ネットワークシステム、通信方法及び記録媒体
CN105246137A (zh) 一种微功率无线网络数据传输方法及***
EP1185044B1 (en) Control station, apparatus and network system
CN109716247B (zh) 运算装置以及控制***
CN110169017B (zh) 控制装置以及通信装置
JP2023018732A (ja) 通信システム及び通信装置
JP2004509518A (ja) 通信システムおよびデバイス
JP2004280304A (ja) フィールドバスシステム及び通信方法並びにマスタ及びスレーブ
CN110178344B (zh) 控制装置以及通信装置
WO2017122324A1 (ja) 無線通信システム、終端装置、ノード装置、無線通信方法及び無線通信プログラム
JP7042438B2 (ja) 通信装置、通信システム、及び照明制御システム
JP2004064665A (ja) データ転送装置及び送信装置及び受信装置及びそれらの制御方法
CN110663230B (zh) 本地总线主机以及运行本地总线的方法
JPH10303943A (ja) バス管理システム及びバス管理方法
JP2017130753A (ja) 通信装置及び通信システム
JP2007228059A (ja) サイクリック通信によるデータ伝送方法及びデータ伝送システム
JP2009188469A (ja) 非同期通信方法、非同期通信システム、並びに非同期通信システムに用いる受信装置および送信装置
Pei et al. Research on Communication of PROFIBUS Single-master System
JP2023181854A (ja) 車載システム、車載装置、情報処理方法及びコンピュータプログラム
JP2017005444A (ja) 通信装置、通信システム、通信方法