JP6217478B2 - 制御システムおよび制御装置 - Google Patents

制御システムおよび制御装置 Download PDF

Info

Publication number
JP6217478B2
JP6217478B2 JP2014052614A JP2014052614A JP6217478B2 JP 6217478 B2 JP6217478 B2 JP 6217478B2 JP 2014052614 A JP2014052614 A JP 2014052614A JP 2014052614 A JP2014052614 A JP 2014052614A JP 6217478 B2 JP6217478 B2 JP 6217478B2
Authority
JP
Japan
Prior art keywords
data
response
control device
control
reception
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.)
Active
Application number
JP2014052614A
Other languages
English (en)
Other versions
JP2015176366A (ja
Inventor
征爾 水谷
征爾 水谷
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.)
Omron Corp
Original Assignee
Omron Corp
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 Omron Corp filed Critical Omron Corp
Priority to JP2014052614A priority Critical patent/JP6217478B2/ja
Publication of JP2015176366A publication Critical patent/JP2015176366A/ja
Application granted granted Critical
Publication of JP6217478B2 publication Critical patent/JP6217478B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、通信ラインを介して接続された複数の制御装置からなる制御システム、およびその制御システムに向けられた制御装置に関する。
多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す)などからなる制御システムによって制御される。演算処理能力の向上や設備の合理化などの観点から、単一の主制御装置に複数のIO(Input Output)装置などが通信ラインを介して接続された制御システムが採用されることも多い。
このような制御システムにおいては、装置間で同期をとる必要があるが、通信ラインが相対的に長くなるほど、伝搬遅延時間の影響が顕在化し得る。そのため、装置間で同期をとるための技術が提案されている。
例えば、特開2011−216085号公報(特許文献1)は、複数のユニットがシステムバスにデジチェーン接続されて構成された、マスタおよびスレーブが計時手段を備えているプログラマブルコントローラを開示する。このプログラマブルコントローラにおいて、マスタは時間同期フレームを送信するとともに、スレーブは同期フレームに格納された時刻情報と補正値から自己の計時手段を補正する。
特開2011−216085号公報
上述の特許文献1に開示されるプログラマブルコントローラは、何らかの要因によって伝搬遅延時間に変動が生じるような場合であっても、装置間で正確に同期をとることができて好適であるが、マスタおよびスレーブに計時手段が必要になる。そのため、より簡素な構成であっても、装置間で同期をとることのできる構成が要望されている。
本発明のある局面によれば、第1の制御装置と、通信ラインを介して第1の制御装置に接続された複数の第2の制御装置とを備える制御システムが提供される。複数の第2の制御装置の各々は、通信ラインの少なくとも一部を他の第2の制御装置と共有するように構成されている。第1の制御装置は、複数の第2の制御装置に対して応答を要求する第1のデータを送信する手段と、第1のデータの送信に連動して、内部的なデータの受信動作を開始するとともに、内部的にデータを受信した第1のタイミングを格納する手段と、第1のデータに応答して、複数の第2の制御装置からそれぞれ送信される応答を受信するとともに、それぞれを受信した第2のタイミングをそれぞれ格納する手段と、第1のタイミングを基準にして、第2のタイミングの1つまたは複数から、第1の制御装置といずれかの第2の制御装置との間の通信に係る遅延時間、および、第2の制御装置の間の通信に係る遅延時間、のうち少なくとも一方を決定する手段とを含む。
好ましくは、第1の制御装置は、受信動作として、第2の制御装置が第1のデータを受信して応答を送信する動作と同等な動作を実行するように構成されている。
さらに好ましくは、第1の制御装置は、第2の制御装置からのデータを受信するための受信部と、第2の制御装置へデータを送信するための送信部とを含む。受信動作は、送信部から受信部へ内部的にデータを出力する処理を含む。
あるはさらに好ましくは、第1の制御装置は、第2の制御装置からのデータを受信するための受信部と、第2の制御装置へデータを送信するための送信部と、送信部および受信部で共有される記憶部とを含む。受信動作は、受信部が記憶部へ内部的にデータを格納する処理を含む。
好ましくは、第1の制御装置は、決定された遅延時間に基づいて、第2の制御装置の各々の計時手段を補正するための情報を複数の第2の制御装置へそれぞれ送信する手段をさらに含む。
本発明の別の局面によれば、通信ラインを介して複数のスレーブ装置に接続可能な制御装置が提供される。複数のスレーブ装置の各々は、通信ラインの少なくとも一部を他のスレーブ装置と共有するように構成されている。制御装置は、複数のスレーブ装置に対して応答を要求する第1のデータを送信する手段と、第1のデータの送信に連動して、内部的なデータの受信動作を開始するとともに、内部的にデータを受信した第1のタイミングを格納する手段と、第1のデータに応答して、複数のスレーブ装置からそれぞれ送信される応答を受信するとともに、それぞれを受信した第2のタイミングをそれぞれ格納する手段と、第1のタイミングを基準にして、第2のタイミングの1つまたは複数から、自装置といずれかのスレーブ装置との間の通信に係る遅延時間、および、スレーブ装置の間の通信に係る遅延時間、のうち少なくとも一方を決定する手段とを含む。
本発明のある局面に係る制御システムおよび制御装置によれば、より簡素な構成を維持しつつ、装置間で同期をとることができる。
本実施の形態の制御システムのネットワーク構成を示す模式図である。 本実施の形態の制御システムにおける伝搬遅延時間の計測方法を概略する模式図である。 本実施の形態の制御システムにおける装置構成を示す模式図である。 本実施の形態の制御システムでのマスタ装置での自己折り返し受信を実現するための装置構成を示す模式図である。 本実施の形態の制御システムにおける各装置を伝搬するフレームのタイムチャートの一例を示す模式図である。 本実施の形態の制御システムのマスタ装置が実行する伝搬遅延時間の計測に係る処理手順である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
本実施の形態においては、制御システムの一例として、PLCを中心とするシステムについて例示する。但し、このような制御システムとしては、PLCだけではなく、各種の産業用コンピュータを中心として構成を採用することもできる。さらに、技術の進展によって、新たな処理装置(演算装置)が開発された場合には、そのような新たな処理装置を採用することもできる。
<A.制御システムの構成>
図1は、本実施の形態の制御システム1のネットワーク構成を示す模式図である。図1(a)を参照して、制御システム1は、マスタ装置10と、通信ラインを介してマスタ装置10に接続された複数のスレーブ装置20_1,20_2,20_3,20_4(以下、「スレーブ装置20」とも総称する。)とを含む。マスタ装置10は、典型的には、PLCの主演算装置(第1の制御装置)に相当し、1つ以上のスレーブ装置20は、IO装置などの各種フィールド装置(第2の制御装置)に相当する。マスタ装置10と複数のスレーブ装置20とは、デジチェーン接続されており、各装置は、ダウンリンク(以下、「DL」とも記載する。)およびアップリンク(以下、「UL」とも記載する。)を介して隣接する装置と通信可能に接続されている。すなわち、スレーブ装置20の各々は、通信ラインの少なくとも一部を他のスレーブ装置20と共有するように構成されている。
制御システム1では、主として、マスタ装置10が装置間の伝搬遅延時間ΔT2(n)(n=1〜4)を計測し、各伝搬遅延時間に応じたオフセット値などを各スレーブ装置20へ指示することで、マスタ装置10および複数のスレーブ装置20の間で同期をとることができる。
例えば、図1(b)に示すように、スレーブ装置20_1とスレーブ装置20_2との間が相対的に長い通信ケーブルを用いて接続されると、図1(a)における構成での伝搬遅延時間ΔT2(2)は、伝搬遅延時間ΔT2(2)’まで延びることになる。このような伝搬遅延時間の変動を考慮して、制御システム1内の装置間で同期をとれるように、各種オフセット値などが調整される。
<B.概要>
各スレーブ装置20は、制御システム1のネットワークを伝搬する時刻配信パケット(以下、「同期フレーム」とも称する。)を受信してその中に格納されている時刻を予め指定されている補正値で補正した上で、自局の計時手段(タイマ)を補正する。この補正値として必要な時間について説明する。
まず、以下のように、時刻ts0〜ts4を定義すると、必要な補正値は、ts4−ts0で定義される。
ts0:同期フレームにマスタ装置の時刻がラッチされる時刻
ts1:同期フレームが送信され始める時刻
ts2:同期フレームが目的のスレーブ装置で受信され始める時刻
ts3:同期フレームが目的のスレーブ装置で受信完了された時刻
ts4:スレーブ装置で同期フレームに格納されている時刻がラッチされる時刻
この補正値について、ts4−ts0=(ts1−ts0)+(ts2−ts1)+(ts3−ts2)+(ts4−ts3)と分解できる。各要素の値は、以下のようになる。
(ts1−ts0)は、マスタ装置10での送信処理(マスタ送信処理)に相当し、これは一定の内部処理ということで固定値とみなすことができる。また、(ts3−ts2)および(ts4−ts3)は、スレーブ装置20での受信処理(スレーブ受信処理)に相当し、これらについても一定の内部処理ということでいずれも固定値とみなすことができる。
すなわち、マスタ装置10での自己折り返し受信、および、スレーブ装置20での受信処理がASIC(Application Specific Integrated Circuit)などの集積回路やハードワイヤード回路を用いて実装されている場合には、これらの受信処理に要する時間は一定値とみなすことができる。
一方、(ts2−ts1)は、通信ケーブル長およびスレーブ装置での局遅延による遅延時間に相当する。この値は、通信ケーブル長および局遅延に依存して変化するので、本方法による計測の対象となる。この(ts2−ts1)が後述の伝搬遅延時間ΔT2に相当する。
次に、次に実際のコマンドの送信によって計測されるタイミングについて説明する。以下のように、時刻tm0〜tm3を計測し得る。
tm0:コマンドの送信が起動された時刻
tm1:コマンドが送信され始めた時刻
tm2:コマンドが目的のスレーブで受信され始められた時刻
tm3:コマンドが目的のスレーブで受信完了された時刻
これらの時刻tm0〜tm3を用いて、遅延時間ΔT1,ΔT2,ΔT3を以下のように算出できる。
送信処理に係る遅延時間ΔT1=tm1−tm0
伝搬遅延時間ΔT2=通信ケーブルとスレーブ装置20での局遅延=tm2−tm1
受信処理に係る遅延時間ΔT3=tm3−tm2
図2は、本実施の形態の制御システム1における伝搬遅延時間の計測方法を概略する模式図である。図2を参照して、制御システム1では、マスタ装置10が複数のスレーブ装置20の全部または一部に対して、レスポンスを要求するコマンドを送信する。全部のスレーブ装置20に対してコマンドを送信する場合には、ブロードキャストまたはマルチキャストが用いられる。このコマンドは、伝搬遅延時間を計測するための専用のものであってもよいが、別の用途に用いられるものであってもよい。例えば、マスタ装置10がスレーブ装置20のステータスを問い合わせるコマンドであってもよいし、マスタ装置10がスレーブ装置20に対して何らかのデータを送信する、あるいはスレーブ装置20から何らかのデータを取得するコマンドであってもよい。
当該コマンドを受信したスレーブ装置20の各々は、レスポンスをマスタ装置10へ送信する。各レスポンスは、送信元のスレーブ装置20を特定するための情報を含む。例えば、各レスポンスは、対応するコマンドを特定するための識別子(トランザクションID)と、送信元のスレーブ装置20を特定するための識別子(ユニットID)とを含む。
マスタ装置10は、スレーブ装置20からのレスポンスを受信すると、その受信した時刻をその送信元のスレーブ装置20を特定する情報と関連付けて格納する。
コマンドの送信併せて、マスタ装置10は、内部的なデータの受信動作を開始する。すなわち、マスタ装置10は、各スレーブ装置20での受信動作を模擬して、内部的にレスポンスを生成および受信する。典型的には、マスタ装置10は、コマンドの送信に対して、自己折り返し受信を行う。このとき、マスタ装置10は、受信動作として、スレーブ装置20がコマンドを受信して応答を送信する動作と同等な動作を実行するように構成されることが好ましい。
図2に示すように、例えば、マスタ装置10の自己折り返し受信によって内部的にレスポンスを受信した時刻をt0とし、スレーブ装置20_1,20_2,20_3,20_4からそれぞれレスポンス1,2,3,4を受信した時刻をそれぞれt1,t2,t3,t4とする。マスタ装置10は、内部的にレスポンスを受信した時刻t0からそれぞれのレスポンスを受信した時刻t1,t2,t3,t4との差である受信遅れ時間TD1,TD2,TD3,TD4をそれぞれ計測する。なお、マスタ装置10では、絶対的な時刻を格納するようにしてもよいが、ネットワークで管理している同期カウンタの値などを格納するようにしてもよい。
マスタ装置10でコマンドの送信が起動された時刻をtm0とし、マスタ装置10からコマンドが送信され始めた時刻をtm1とする。そして、コマンドがスレーブ装置20_1で受信され始められた時刻をtm2とし、コマンドがスレーブ装置20_1で受信完了された時刻をtm3とする。すなわち、スレーブ装置20_1での受信処理(スレーブ受信処理)に要する時間は、(tm3−tm2)となる。
コマンドの送信に併せて、マスタ装置10は自己折り返し受信を実施する。自己折り返し受信は、スレーブ装置20での受信処理(スレーブ受信処理)と同等であるので、これに要する時間も(tm3−tm2)となる。この自己折り返し受信により内部的に生成されたデータを受信し、その受信時刻がラッチされるまでの処理(マスタ受信処理)に要する時間をΔTRとする。
一方、スレーブ装置20_1は、スレーブ受信処理が完了すると、レスポンスを生成しマスタ装置10へ送信する。このレスポンスの送信が開始されてから、マスタ装置10で当該レスポンスの受信が開始されるまでの時間は、コマンドの送信に係る伝搬遅延時間ΔT2と等しく、(tm2−tm1)と見積もることができる。また、マスタ装置10がスレーブ装置20_1からのレスポンスを受信し、その受信時刻(時刻t1)がラッチされるまでの処理(マスタ受信処理)に要する時間はΔTR(一定値)である。
時刻t1と時刻t0と時間差は、スレーブ装置20_1との間のコマンドの送信およびレスポンスに要する時間である、(tm1−tm0)+(tm2−tm1)+(tm3−tm2)+(tm2−tm1)+ΔTRと、マスタ装置10の自己折り返し受信に要する時間である、(tm1−tm0)+(tm3−tm2)+ΔTRとの差に相当する。実際に計算すれば、「(tm1−tm0)+(tm3−tm2)+ΔTR」の項は共通であるのでお互いにキャンセルし、受信遅れ時間TD1=t1−t0=2×(tm2−tm1)の関係が成立する。つまり、受信遅れ時間TD1の1/2が目的とする伝搬遅延時間ΔT2となる。
以下同様にして、受信遅れ時間TD2,TD3,TD4からスレーブ装置20_2,20_3,20_4についての伝搬遅延時間ΔT2を決定できる。なお、受信遅れ時間TD1と受信遅れ時間TD2との時間差は、スレーブ装置20_1とスレーブ装置20_2との間の伝搬遅延時間の2倍に相当するので、(TD2−TD1)/2をスレーブ装置20_1とスレーブ装置20_2との間の伝搬遅延時間として算出してもよい。以下、受信遅れ時間TD3およびTD4についても同様である。
なお計測誤差を生じ得るので、統計処理を行うことが好ましい。このような統計処理としては、例えば、平均化処理や、異常値(例えば、平均値から大きく外れた外れ値)の除外処理を含む。
その他にも、図2に示すような関係に基づいて、マスタ装置10が自己折り返し受信およびレスポンス受信を行ったそれぞれ時刻を用いて、制御システム1における必要な部分の伝搬遅延時間を算出することができる。
上述したように、マスタ装置10(第1の制御装置)は、複数のスレーブ装置20(第2の制御装置)に対してレスポンス(応答)を要求するコマンド(第1のデータ)を送信する機能を有している。マスタ装置10は、さらに、コマンドの送信に連動して、内部的なデータの受信動作を開始するとともに、内部的にデータを受信した時刻t0(第1のタイミング)を格納するとともに、コマンドに応答して、複数のスレーブ装置20からそれぞれ送信されるレスポンスを受信するとともに、それぞれを受信した時刻t1,t2,t3,t4(第2のタイミング)をそれぞれ格納する機能を有している。そして、マスタ装置10は、内部的にデータを受信した時刻t0を基準にして、時刻t1,t2,t3,t4の1つまたは複数から、マスタ装置10といずれかのスレーブ装置20との間の通信に係る遅延時間、および/または、スレーブ装置20間の通信に係る遅延時間を決定する機能を有している。
<C.装置構成>
図3は、本実施の形態の制御システム1における装置構成を示す模式図である。図3には、マスタ装置10およびスレーブ装置20の通信に関する要部のみを示す。
マスタ装置10は、制御部11と、逆シリアル変換回路(de-serializer:以下「DES回路」とも称す。)12と、受信部13と、共有メモリ14と、送信部15と、シリアル変換回路(SER:serializer:以下「SER回路」とも称す。)16と、記憶部17とを含む。
DES回路12、受信部13および共有メモリ14は、データ受信に関する処理を実現する。より具体的には、DES回路12は、スレーブ装置20からアップリンクを介して送信されるデータフレーム(シリアル化されたデータ列)に対して逆シリアル変換して受信部13へ出力する。受信部13は、スレーブ装置20から受信したデータを共有メモリ14に書き込む。共有メモリ14は、アップリンクを介してスレーブ装置20から受信したデータを格納する。共有メモリ14は、制御部11などからアクセス可能に構成されている。
共有メモリ14、送信部15およびSER回路16は、データ送信に関する処理を実現する。より具体的には、送信部15は、制御部11からの指示に従って共有メモリ14に格納されているデータなどをSER回路16へ出力する。SER回路16は、送信部15からのデータをシリアル化してデータフレームを生成し、ダウンリンクを介してスレーブ装置20へ送出する。
制御部11は、共有メモリ14に格納されているデータの内容を解釈して必要な処理を実行する。上述したように、いずれかのスレーブ装置20からレスポンスを受信すると、レスポンスを受信したタイミングとそのレスポンスの送信元の情報とを記憶部17へ格納する。制御部11は、また、図示しない上位コントローラや予め定められた設定に従って、送信部15から必要なデータを送信させるための指示を与える。制御部11は、カウンタ18を有している。カウンタ18は、各種タイミングを計測するための計時手段の一例である。
いずれかのスレーブ装置20についての伝搬遅延時間の計測が必要になると(例えば、システム立ち上げ時、予め定められた周期毎や、伝送エラーの発生回数または発生頻度が予め定められたしきい値を超えたタイミングなど)、制御部11は、送信部15に対して、レスポンスを要求するコマンドを送信するように指示を与える。そして、後述するような自己折り返し受信により内部的に生成されたレスポンスが受信されると、制御部11は、伝搬遅延計測用のカウンタ18を起動、すなわちカウントを開始する。さらに、制御部11は、送信部15からのコマンドの送信後、受信部13がいずれかのスレーブ装置20からレスポンスを受信すると、受信したレスポンスを共有メモリ14に格納する。制御部11は、共有メモリ14にレスポンスが書き込まれると、その書き込みがなされたタイミングにおけるカウンタ18が示すカウント値とともに、受信されたレスポンスの送信元のスレーブ装置20を特定する情報を記憶部17に格納する。このような処理によって、記憶部17には、受信部13が受信したレスポンス毎に、送信元のスレーブ装置20を特定する情報と、受信したタイミングを示すカウント値とが対応付けて格納されることになる。
なお、カウンタ18が通信ラインを介して接続されている複数のスレーブ装置20の間で共通に保持されるカウント値の管理を行っている場合には、自己折り返し受信により内部的に生成されたレスポンスおよび各スレーブ装置20からのレスポンスをそれぞれ受信したタイミングで、そのときのカウンタ18が示すカウント値を格納するようにしてもよい。
本明細書において、「レスポンスを受信したタイミング」は、受信部13が受信したレスポンスを共有メモリ14に書き込んだタイミング、すなわち制御部11が受信されたレスポンスにアクセス可能になったタイミングを含み得る。あるいは、「レスポンスを受信したタイミング」は、受信部13がレスポンスを含むフレームの先頭の受信を開始したタイミング、および、受信部13がレスポンスを含むフレームのすべての受信を完了した(但し、共有メモリ14への書き込みは完了していない)タイミングをも含み得る。
記憶部17には、制御システム1のネットワークに関する各種設定が格納されていてもよい。
制御部11は、さらに、計測された伝搬遅延時間に基づいて、スレーブ装置20の各々の計時手段を補正するための情報であるオフセット値をそれぞれのスレーブ装置20に対して与える。この機能については、後述する。
一方、スレーブ装置20は、制御部21と、DES回路22,30と、受信部23と、共有メモリ24と、送信部25と、SER回路26,28と、リピート回路27,29とを含む。
ダウンリンクを介してマスタ装置10から送信されたデータフレームは、DES回路22によって逆シリアル変換されて、受信部23およびリピート回路27へ与えられる。リピート回路27は、DES回路22からのデータを成形した上で、SER回路28へ出力する。SER回路28は、リピート回路27からのデータをシリアル化してデータフレームを再生成し、ダウンリンクを介してさらに下流側のスレーブ装置20へ送出する。つまり、リピート回路27およびSER回路28は、ダウンリンクを介して送信されるデータフレームを順次転送するための回路に相当する。
一方、受信部23は、ダウンリンクを介して送信されるデータを共有メモリ24に書き込む。すなわち、DES回路22、受信部23および共有メモリ24は、データ受信に関する処理を実現する。
各スレーブ装置20では、ダウンリンクを介して送信されたデータを、さらに下流側へ転送するための回路(リピート回路27およびSER回路28)と、当該データを受信して自装置で処理する回路(受信部23および共有メモリ24)とを含む。
アップリンクを介して下流側のスレーブ装置20から送信されたデータフレームは、DES回路30によって逆シリアル変換されてリピート回路29へ与えられる。リピート回路29は、DES回路30からのデータを成形した上で、SER回路26へ出力する。
また、共有メモリ24、送信部25およびSER回路26は、データ送信に関する処理を実現する。より具体的には、送信部25は、制御部21からの指示に従って共有メモリ24に格納されているデータなどをSER回路26へ出力する。このとき、送信部25は、リピート回路29からSER回路26へ与えられるデータと衝突しないように、データの出力タイミングを調整する。
SER回路26は、送信部25からのデータおよびリピート回路29からのデータをシリアル化してデータフレームを生成し、アップリンクを介してマスタ装置10または上流側のスレーブ装置20へ送出する。
制御部21は、受信部23からの情報に従って共有メモリ24にアクセスするとともに、共有メモリ24に格納されたデータの内容を解釈して必要な処理を実行する。上述したように、共有メモリ24にマスタ装置10からのレスポンスを要求するコマンドが格納されると、レスポンスを送信するように、送信部25へ指示を与える。また、制御部21は、予め定められた設定やプログラムに従って、送信部25から必要なデータを送信させるための指示を与える。
マスタ装置10およびスレーブ装置20の通信に係る機能については、その全部または一部をASICやFPGA(Field-Programmable Gate Array)などのハードウェア回路を用いて実現してもよい。あるいは、その一部または全部の機能を、プロセッサでプログラムを実行させることで実現されるソフトウェアコンポーネントとして実装してもよい。さらに、複数のコンポーネントを単一の回路にまとめて実装してもよい。本明細書において説明する機能および処理が実現できれば、どのような構成で実装されてもよい。
<D.スレーブ装置での受信処理に要する時間および局遅延時間>
各スレーブ装置20での受信処理に要する時間(図2参照)は、主として、受信部23がデータを受信して共有メモリ24に書き込む処理に要する時間と、送信部25が共有メモリ24からデータを読み出してデータフレームを生成して出力する処理に要する時間とからなる(図3参照)。
なお、ダウンリンクについての伝搬遅延時間としては、DES回路22、リピート回路27、SER回路28による一連のフレーム転送に係る遅延時間(以下「局遅延時間」とも称す。)を含み得る。同様に、アップリンクについての伝搬遅延時間としては、DES回路30、リピート回路29、SER回路26による一連のフレーム転送に係る遅延時間(局遅延時間)を含み得る。
<E.マスタ装置での自己折り返し受信>
マスタ装置10は、マスタ装置10での受信動作として、スレーブ装置20がコマンドを受信して応答を送信する動作と同等な動作を実行するように構成されている。すなわち、マスタ装置10は、レスポンスを要求するコマンドを送信するとともに、自己折り返し受信を実施する。以下、自己折り返し受信を行うための構成の一例について説明する。
図4は、本実施の形態の制御システム1でのマスタ装置10での自己折り返し受信を実現するための装置構成を示す模式図である。
図4(a)に示すマスタ装置10では、送信部15は、制御部11からの指示に従って、レスポンスを要求するコマンドを生成してSER回路16へ出力する。送信部15は、スレーブ装置20へデータを送信する。さらに、送信部15は、コマンドの出力とともに、疑似的なレスポンスを生成して受信部13へ出力する。受信部13は、スレーブ装置20からのデータを受信するための構成であるとともに、疑似的なレスポンスを受信すると共有メモリ14へ格納する。制御部11は、共有メモリ14に格納された疑似的なレスポンスを検出して、内部的にレスポンスを受信したと判断する。このように、マスタ装置10での内部的なデータの受信動作は、送信部15から受信部13へ内部的にデータを出力する処理を含む。
図4(b)に示すマスタ装置10では、送信部15は、制御部11からの指示に従って、レスポンスを要求するコマンドを生成してSER回路16へ出力するとともに、疑似的なレスポンスを生成して共有メモリ14へ直接的に格納する。共有メモリ14は、送信部15および受信部13で共有される記憶部に相当する。制御部11は、共有メモリ14に格納された疑似的なレスポンスを検出して、内部的にレスポンスを受信したと判断する。このように、マスタ装置10での内部的なデータの受信動作は、受信部13が共有メモリ14へ内部的にデータを格納する処理を含む。
<F.レスポンスのフレーム長さ>
次に、レスポンスのフレーム長さについて説明する。
図5は、本実施の形態の制御システム1における各装置を伝搬するフレームのタイムチャートの一例を示す模式図である。図5を参照して、基準時刻において、マスタ装置10からレスポンスを要求するコマンドの送信が開始されたとする。すなわち、マスタ装置10のダウンリンクの送信ポートからコマンドの送出が開始される。このコマンドは、スレーブ装置20_1の受信ポートまで伝搬し、スレーブ装置20_1内部でのフレーム転送処理が実行されて、スレーブ装置20_1の送信ポートから再送出される。
スレーブ装置20_1から再送出されたコマンドがスレーブ装置20_2の受信ポートまで伝搬し、スレーブ装置20_1と同様の処理が実行される。
一方、スレーブ装置20_1では、マスタ装置10からのコマンドを受信すると、レスポンス1を生成し、アップリンクの送信ポートから当該レスポンス1の送出が開始される。
同様に、スレーブ装置20_2では、スレーブ装置20_1から再送出されたコマンドを受信すると、レスポンス2を生成し、アップリンクの送信ポートから当該レスポンス2の送出が開始される。さらに、レスポンス2は、アップリンクをスレーブ装置20_1の受信ポートまで伝搬し、スレーブ装置20_1内部でのフレーム転送処理が実行されて、スレーブ装置20_1の送信ポートから再送出される。
したがって、スレーブ装置20_1のアップリンクの送信ポートにおいて、レスポンス1の送出が開始されてから、後続のレスポンス1の送出が開始されるまでの時間差は、伝搬遅延時間ΔT2×2となる。言い換えれば、レスポンスのフレーム長さは、この時間差以内になるようにすることが好ましい。
但し、伝搬遅延時間ΔT2がわずかである場合には、例えば、スレーブ装置20_2におけるスレーブ受信処理に要する時間を意図的に長くするようにしてもよい。例えば、マスタ装置10からのコマンドを受信してから、受信処理を開始するまでの遅延タイマを設けてもよい。遅延タイマの値を予め適切な値に設定しておくことで、レスポンスに含めるべき情報を格納するだけのフレーム長さを確保することができる。
<G.遅延時間計測およびオフセット設定>
本実施の形態の制御システム1においては、各スレーブ装置20は、マスタ装置10からのコマンドに従ってレスポンスを送信する。そのため、マスタ装置10は、任意のタイミングで、伝搬遅延時間を計測することができる。また、マスタ装置10がスレーブ装置20からのデータ伝送を完全に制御できる構成においては、ダウンリンクおよびアップリンクのいずれにおいても、他のデータフレームが伝送されることを停止した上で、伝搬遅延時間の計測に必要なコマンドを送出することができる。
また、伝搬遅延時間を計測するために専用のコマンドを用意する必要はなく、例えば、各スレーブ装置20のステータスや保持しているデータなどの送信を要求するようなものを利用してもよい。この場合には、マスタ装置10に接続されているすべてのスレーブ装置20からのレスポンスを受信する必要はなく、対象となるスレーブ装置20からのレスポンスを受信して、当該スレーブ装置20についての伝搬遅延時間を計測するようにしてもよい。
マスタ装置10の記憶部17には、レスポンスを受信したタイミングとそのレスポンスの送信元の情報とが対応付けて格納される。記憶部17に格納されるタイミングと送信元の情報とを用いて、伝搬遅延時間を都度計測してもよいし、必要に応じて事後的に計測してもよい。また、伝搬遅延時間を計測する処理主体としても、マスタ装置10そのものであってもよいし、マスタ装置10に接続された外部装置(例えば、PLCのサポート装置)であってもよい。
なお、レスポンスの受信時にノイズなどの各種外乱によって、コマンドの送出およびレスポンスの受信が適切に行われない場合も想定し得る。このような場合には、伝搬遅延時間を適切に計測できない。このような伝搬遅延時間を適切に計測できないケースを除外するために、例えば、レスポンスを要求するコマンドをブロードキャストまたはマルチキャストし、すべてのスレーブ装置20からレスポンスを受信できた場合に限って、伝搬遅延時間を計測するようにしてもよい。つまり、いずれかのスレーブ装置20からレスポンスを受信できなかった場合には、伝搬遅延時間を計測しないようにしてもよい。
また、マスタ装置10からコマンドを送出した後、各スレーブ装置20からのレスポンスを受信するまでの時間は予め予想できるので、この予想された時間内にすべてのレスポンスを受信できない場合などには、何らかの異常が生じたと判断し、伝搬遅延時間を計測しないようにしてもよい。
以上のように、マスタ装置10(あるいは、マスタ装置10に接続された外部装置)が伝搬遅延時間を計測した後、制御システム1を構成する各スレーブ装置20に対して、それぞれの伝搬遅延時間に応じたオフセット値を与えることが好ましい。このオフセット値は、ネットワークで管理している同期カウンタでのカウント値として定義される。各スレーブ装置20は、自局に設定されたオフセット値を用いて、通信タイミングや入出力の更新タイミングなどを制御する。このように、マスタ装置10は、決定された遅延時間に基づいて、スレーブ装置20の各々の計時手段(同期タイマ)を補正するための情報を複数のスレーブ装置20へそれぞれ送信する機能を有している。
各スレーブ装置20は、制御システム1のネットワークを伝搬する同期フレームを受信するとともに、その同期フレームに格納された時刻情報を取得する。その上で、各スレーブ装置20は、予めマスタ装置10から与えられている補正値と当該取得した時刻情報とから自己の計時手段(タイマ)を補正する。
<H.制御手順>
図6は、本実施の形態の制御システム1のマスタ装置10が実行する伝搬遅延時間の計測に係る処理手順である。図6を参照して、伝搬遅延時間の計測が必要になると(ステップS2においてYES)、マスタ装置10は、レスポンスを要求するコマンドを送信する(ブロードキャストまたはマルチキャストする)(ステップS4)。併せて、マスタ装置10は、自己折り返しによって内部的にレスポンスを生成し、自装置が生成したレスポンスを受信する(ステップS6)。自装置が生成したレスポンスの受信後、マスタ装置10は、伝搬遅延計測用のタイマを起動する(カウントを開始する)(ステップS8)。
各スレーブ装置20は、マスタ装置10からのコマンドを受信すると、アップリンクを介してレスポンスを送信する(ステップS10)。マスタ装置10は、各スレーブ装置20からのレスポンスを受信すると、レスポンスを受信したタイミングとそのレスポンスの送信元の情報とを格納する(ステップS12)。
すべてのスレーブ装置20からのレスポンスの受信が完了すると(ステップS14においてYESの場合)、マスタ装置10は、格納したそれぞれのレスポンスを受信したタイミングを示すカウント値を用いて、それぞれの伝搬遅延時間を計測する(ステップS16)。さらに、マスタ装置10は、各スレーブ装置20に対して、計測した各伝搬遅延時間に応じたオフセット値を指示する(ステップS18)。以上の処理によって、制御システム1においてマスタ装置10およびスレーブ装置20の間で同期をとるための設定が完了する。そして、処理は終了する。
<I.利点>
本実施の形態によれば、より簡素な構成を維持しつつ、装置間で同期をとることができる。すなわち、本実施の形態の制御システム1においては、マスタ装置10から各スレーブ装置20に対してレスポンスを要求するコマンドを送信するとともに、マスタ装置10自身においてもコマンドの送信に対して、自己折り返し受信を行う。そして、マスタ装置10が内部的にデータを受信した(自己折り返しにより生じた疑似的なレスポンスを内部的に受信した)タイミングを基準にして、1または複数のスレーブ装置20からそれぞれの受信したレスポンスのタイミングを計測し、マスタ装置10といずれかのスレーブ装置20との間の通信に係る遅延時間、および/または、スレーブ装置20間の通信に係る遅延時間を決定する。
このような構成を採用することで、基本的には、スレーブ装置20側に特別な機能を追加する必要はなく、かつ、マスタ装置10に付加される機能も最小限で済む。また、レスポンスを要求するコマンドなどは、マスタ装置10とスレーブ装置20との間で各種情報を遣り取りするための命令と兼用することもできるので、既存の命令群に対して大幅な改編なども必要ない。
また、マスタ装置10での内部的なデータの受信動作に係るタイミングを基準とすることで、遅延時間をより適切かつ正確に計測できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、10 マスタ装置、11,21 制御部、12,22,30 DES回路、13,23 受信部、14,24 共有メモリ、15,25 送信部、16,26,28 SER回路、17 記憶部、18 カウンタ、20 スレーブ装置、27,29 リピート回路。

Claims (6)

  1. 第1の制御装置と、通信ラインを介して前記第1の制御装置に接続された複数の第2の制御装置とを備える制御システムであって、
    前記複数の第2の制御装置の各々は、通信ラインの少なくとも一部を他の第2の制御装置と共有するように構成されており、
    前記第1の制御装置は、
    前記複数の第2の制御装置に対して応答を要求する第1のデータを送信する手段と、
    前記第1のデータの送信に連動して、内部的なデータの受信動作を開始するとともに、内部的にデータを受信した第1のタイミングを格納する手段と、
    前記第1のデータに応答して、前記複数の第2の制御装置からそれぞれ送信される応答を受信するとともに、それぞれを受信した第2のタイミングをそれぞれ格納する手段と、
    前記第1のタイミングを基準にして、前記第2のタイミングの1つまたは複数から、前記第1の制御装置といずれかの第2の制御装置との間の通信に係る遅延時間、および、第2の制御装置の間の通信に係る遅延時間、のうち少なくとも一方を決定する手段とを含む、制御システム。
  2. 前記第1の制御装置は、前記受信動作として、前記第2の制御装置が前記第1のデータを受信して応答を送信する動作と同等な動作を実行するように構成されている、請求項1に記載の制御システム。
  3. 前記第1の制御装置は、
    第2の制御装置からのデータを受信するための受信部と、
    第2の制御装置へデータを送信するための送信部とを含み、
    前記受信動作は、前記送信部から前記受信部へ内部的にデータを出力する処理を含む、請求項2に記載の制御システム。
  4. 前記第1の制御装置は、
    第2の制御装置からのデータを受信するための受信部と、
    第2の制御装置へデータを送信するための送信部と、
    前記送信部および前記受信部で共有される記憶部とを含み、
    前記受信動作は、前記受信部が前記記憶部へ内部的にデータを格納する処理を含む、請求項2に記載の制御システム。
  5. 前記第1の制御装置は、決定された遅延時間に基づいて、前記複数の第2の制御装置の各々の計時手段を補正するための情報を前記複数の第2の制御装置へそれぞれ送信する手段をさらに含む、請求項1〜4のいずれか1項に記載の制御システム。
  6. 通信ラインを介して複数のスレーブ装置に接続可能な制御装置であって、前記複数のスレーブ装置の各々は、通信ラインの少なくとも一部を他のスレーブ装置と共有するように構成されており、
    前記複数のスレーブ装置に対して応答を要求する第1のデータを送信する手段と、
    前記第1のデータの送信に連動して、内部的なデータの受信動作を開始するとともに、内部的にデータを受信した第1のタイミングを格納する手段と、
    前記第1のデータに応答して、前記複数のスレーブ装置からそれぞれ送信される応答を受信するとともに、それぞれを受信した第2のタイミングをそれぞれ格納する手段と、
    前記第1のタイミングを基準にして、前記第2のタイミングの1つまたは複数から、自装置といずれかのスレーブ装置との間の通信に係る遅延時間、および、スレーブ装置の間の通信に係る遅延時間、のうち少なくとも一方を決定する手段とを備える、制御装置。
JP2014052614A 2014-03-14 2014-03-14 制御システムおよび制御装置 Active JP6217478B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014052614A JP6217478B2 (ja) 2014-03-14 2014-03-14 制御システムおよび制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014052614A JP6217478B2 (ja) 2014-03-14 2014-03-14 制御システムおよび制御装置

Publications (2)

Publication Number Publication Date
JP2015176366A JP2015176366A (ja) 2015-10-05
JP6217478B2 true JP6217478B2 (ja) 2017-10-25

Family

ID=54255502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014052614A Active JP6217478B2 (ja) 2014-03-14 2014-03-14 制御システムおよび制御装置

Country Status (1)

Country Link
JP (1) JP6217478B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02179221A (ja) * 1988-12-28 1990-07-12 Meidensha Corp ループ状ディジタル保護継電装置のサンプリング同期システム
JPH1013394A (ja) * 1996-06-21 1998-01-16 Fanuc Ltd 通信における同期方法
JP2008119757A (ja) * 2006-11-08 2008-05-29 Ntt Docomo Inc マスタスレーブ装置、マスタ装置、スレーブ装置、制御方法及びコンピュータプログラム

Also Published As

Publication number Publication date
JP2015176366A (ja) 2015-10-05

Similar Documents

Publication Publication Date Title
US10284692B2 (en) Control device and communication device
JP5794449B2 (ja) プログラマブルコントローラ
CN107947888B (zh) 一种基于网络通信的任务级同步方法
US10034241B2 (en) Wireless communication device and system
JP6351889B1 (ja) 通信システム及びスレーブ装置
US9924477B2 (en) Node and method for communication control
JP2009182659A (ja) タイミング同期方法、同期装置、同期システム及び同期プログラム
JP5815155B2 (ja) 中継装置、中継方法および中継プログラム
JP5933147B2 (ja) 通信装置及び通信方法及びプログラム
JP6217478B2 (ja) 制御システムおよび制御装置
JP6261822B2 (ja) 時刻同期装置及び時刻同期システム及び時刻同期方法
JP6400553B2 (ja) ユニット間での同期制御機能を有する数値制御システム
TW201515408A (zh) 距離計測裝置及距離計測方法
JP2012175567A (ja) 同期システムおよび同期システムの同期方法
WO2020095413A1 (ja) 通信システム、通信装置、方法、及びプログラム
JP2006157271A (ja) シリアル伝送装置の同期方法
KR20060067712A (ko) 무선 1394 시스템의 사이클 타임 동기화 장치 및 그 방법
JP2013146006A (ja) 通信システム、通信システム制御方法、マスタ装置、マスタ装置制御方法、マスタ装置制御プログラム、スレーブ装置、スレーブ装置制御方法、及び、スレーブ装置制御プログラム
JP6585680B2 (ja) 通信装置及び通信システム
JP6207551B2 (ja) メモリシステム
JP2024011842A (ja) 情報通信システム及び情報通信装置
JP2014187442A (ja) 同期制御装置
JP2012253682A (ja) 通信システムおよび方法
TW201820803A (zh) 中繼裝置、中繼方法以及中繼程式產品
JP2009218784A (ja) ウオッチドグタイマ監視システム及びウオッチドグタイマ監視方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170831

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170911

R150 Certificate of patent or registration of utility model

Ref document number: 6217478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150