(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-19
(45)【発行日】2024-02-28
(54)【発明の名称】通信システム
(51)【国際特許分類】
H04L 12/28 20060101AFI20240220BHJP
H04L 1/08 20060101ALI20240220BHJP
G06F 13/38 20060101ALI20240220BHJP
【FI】
H04L12/28 400
H04L12/28 203
H04L1/08
G06F13/38 320Z
(21)【出願番号】P 2022504460
(86)(22)【出願日】2021-03-04
(86)【国際出願番号】 JP2021008491
(87)【国際公開番号】W WO2021177412
(87)【国際公開日】2021-09-10
【審査請求日】2022-11-21
(31)【優先権主張番号】P 2020039262
(32)【優先日】2020-03-06
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】中里 輝希
(72)【発明者】
【氏名】名嘉眞 朝将
【審査官】前田 健人
(56)【参考文献】
【文献】特開2006-094302(JP,A)
【文献】特開2015-125456(JP,A)
【文献】特開2000-252892(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28
H04L 1/08
G06F 13/38
(57)【特許請求の範囲】
【請求項1】
マスタ通信装置より複数のスレーブ通信装置がデイジーチェーン接続され
、前記複数のスレーブ通信装置が異なる通信周期でマスタ通信装置にデータを要求し、前記複数のスレーブ通信装置はデータを受信すべきタイミングでデータを受信し、前記複数のスレーブ通信装置のうち、1つ以上のスレーブ通信装置はデータを受信すべきタイミングと異なるタイミングで受信する通信システムにおいて、
前記マスタ通信装置は、
1つのヘッダに続いてすべてのスレーブ通信装置に対するデータが連なる送信データを生成する生成部と、
複数のスレーブ通信装置が要求する通信周期のうち、最速の周期で前記生成部が生成した送信データを送信する送信部と、
前記送信データに対する前記最速の通信周期と、該最速の通信周期と複数のスレーブ通信装置の通信周期とから、前記送信データを送信する送信回数とを計算する計算部と、
を備え、
前記複数のスレーブ通信装置は、
前記マスタ通信装置から受信するデータに信頼度を示す情報を付加して記憶する記憶部と、
後から受信するデータの信頼度と前記記憶部に記憶したデータの信頼度とを比較する比較部と、
前記比較部が後から受信するデータの信頼度よりも前記記憶部に記憶したデータの信頼度が高い場合、前記記憶部に記憶したデータを選択する選択部と、
を備える通信システム。
【請求項2】
前記送信部は、前記最速の周期よりも長い周期で前記送信データを受信するいずれかのスレーブ通信装置に対して同一の送信データを前記最速の周期で繰り返し送信する、請求項
1に記載の通信システム。
【請求項3】
前記複数のスレーブ通信装置は、
前記データの転送エラーを検出して訂正の可否を判断する判断部を備え、
前記判断部は、前記データに訂正の可否に基づく信頼度を示す情報を付加して前記記憶部に記憶させる、請求項1
または2に記載の通信システム。
【請求項4】
前記送信データは、エラー訂正符号ECCまたはエラー検出符号CRCが付加されている、請求項1乃至
3のいずれかに記載の通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マスタ通信装置より複数のスレーブ通信装置がデイジーチェーン接続される通信システムに関する。
【背景技術】
【0002】
従来、この種の通信システムでは、マスタ通信装置は、それぞれのスレーブ通信装置とそれぞれ一定周期で通信している。この場合、マスタ通信装置とスレーブ通信装置とでやり取りされるデータの構造は、通信効率を高めるため、ヘッダを1つとして、その後段に全てのスレーブ通信装置に対するデータを繋げて、データ構造を固定化していた。
【0003】
また、通信システムにおいて、マスタ通信装置では、各スレーブ通信装置に対するデータにそれぞれECC(Error-Correcting Code)を付けてデータの信頼性を高める転送処理が実行されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2006-94302号公報
【文献】特開2002-171176号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
図5は、従来の通信システムのデータ送受信処理を説明するブロック図であり、
図6は、
図5に示したマスタ通信装置とスレーブ通信装置とがデイジーチェーン接続される通信システムにおける受信したデータの状態を示す図である。
【0006】
図5において、マスタ通信装置(Master)には、スレーブ通信装置(Slave#1)-スレーブ通信装置(Slave#2)-スレーブ通信装置(Slave#3)がデイジーチェーン接続されている。
【0007】
ここで、マスタ通信装置(Master)の最速の周期は、50μsとし、スレーブ通信装置(Slave#1)がデータを受信する周期を100μsとし、スレーブ通信装置(Slave#2)がデータを受信する周期を200μsとし、スレーブ通信装置(Slave#3)がデータを受信する周期を50μsとする。
【0008】
ここで、マスタ通信装置(Master)は、1つのヘッダ(Header)で、各スレーブ通信装置に対する異なるデータをそれぞれ繋げて4回に分けて送信した場合を想定する。つまり、マスタ通信装置(Master)は、それぞれのスレーブ通信装置に対して、それぞれのスレーブ通信装置に対するデータを受信すべきタイミング以外のタイミングでは、破棄されてしまうデータも送信していた。
【0009】
図6において、時間が0~50μs経過した場合、スレーブ通信装置(Slave#1)-スレーブ通信装置(Slave#2)-スレーブ通信装置(Slave#3)のうち、スレーブ通信装置(Slave#3)のみがデータを正常に受信し、スレーブ通信装置(Slave#1)-スレーブ通信装置(Slave#2)はデータを受信する周期とは異なるタイミングなので、受信したデータを破棄する。
【0010】
次に、時間が50~100μs経過した場合、スレーブ通信装置(Slave#1)はデータを受信するタイミングなのでデータを受信するが修復できないエラーとなり、スレーブ通信装置(Slave#2)はデータを受信するタイミングでないので、受信したデータを破棄する。そして、時間が100~150μs経過した場合、スレーブ通信装置(Slave#1)、スレーブ通信装置(Slave#2)は共にデータを受信するタイミングでないので、正常にデータを受信してもそのデータを破棄する。一方、スレーブ通信装置(Slave#3)は、データを正常に受信する。
【0011】
そして、時間が150~200μs経過した場合、スレーブ通信装置(Slave#1)、スレーブ通信装置(Slave#2)はデータを受信するタイミングなので、データを受信するが修復できないエラーとなった場合、結果としてスレーブ通信装置(Slave#1)、スレーブ通信装置(Slave#2)は、以前のタイミングでデータを正常に受信したとしてもエラーを回避することができない。一方、スレーブ通信装置(Slave#3)は、データを正常に受信する。
【0012】
このように、マスタ通信装置側は、全スレーブ通信装置がデータを要求する・準備するタイミングがそれぞれ異なる場合でも、マスタ通信装置はすべてのスレーブ通信装置へ最速の周期でデータ送信する必要がある。このため、各スレーブ通信装置は、データを受信すべきタイミングと異なるタイミングでデータを正常に受信したとしても、当該データを破棄するように制御していた。
【0013】
また、通信システムにおいて、ECCを用いて受信したデータを訂正する場合スレーブ通信装置は、データを受信すべきタイミングで、受信したデータにECCエラーがあった場合、結果として受信したデータをエラーとして処理していた。
【0014】
このような通信システムでは、それぞれのスレーブ通信装置がデータを受信すべきタイミングと異なるタイミングで正常または訂正可能に受信しているデータを有効に活用したデータ通信を行えることが望ましい。
【課題を解決するための手段】
【0015】
本開示におけるマスタ通信装置より複数のスレーブ通信装置がデイジーチェーン接続される通信システムは、前記マスタ通信装置は、1つのヘッダに続いてすべてのスレーブ通信装置に対するデータが連なる送信データを生成する生成部と、複数のスレーブ通信装置が要求する通信周期のうち、最速の周期で前記生成部が生成した送信データを送信する送信部と、を備え、前記複数のスレーブ通信装置は、前記マスタ通信装置から受信するデータに信頼度を示す情報を付加して記憶する記憶部と、後から受信するデータの信頼度と前記記憶部に記憶したデータの信頼度とを比較する比較部と、前記比較部が後から受信するデータの信頼度よりも前記記憶部に記憶したデータの信頼度が高い場合、前記記憶部に記憶したデータを選択する選択部と、を備える。
【発明の効果】
【0016】
一態様によれば、それぞれのスレーブ通信装置がデータを受信すべきタイミングと異なるタイミングで正常または訂正可能に受信しているデータを有効に活用したデータ通信を行える。
【図面の簡単な説明】
【0017】
【
図1】本実施形態を示す通信システムの構成を説明するブロック図である。
【
図2】本実施形態を示す通信システムのデータ通信処理を説明するフローチャートである。
【
図3】本実施形態を示す通信システムのデータ通信処理を説明するフローチャートである。
【
図4】本実施形態を示す通信システムの受信データの状態を説明する図である。
【
図5】従来の通信システムのデータ送受信処理を説明するブロック図である。
【
図6】通信システムにおける受信したデータの状態を示す図である。
【発明を実施するための形態】
【0018】
以下、本開示の実施形態を説明する。まず、マスタ通信装置より複数のスレーブ通信装置がデイジーチェーン接続される通信システムの構成について図面に基づいて説明する。
【0019】
図1は、本実施形態を示す通信システムの構成を説明するブロック図である。本例は、送信側ユニット1と受信側ユニット2とが所定の通信路3を介して通信する通信システムであって、送信側ユニット1よりも上流側と、受信側ユニット2の下流側は省略した例を示す。
【0020】
また、本例では、送信側ユニット1がマスタ通信装置として送信データを生成し、スレーブ通信装置としての受信側ユニット2へ生成した同一の送信データを繰り返し送信する例を示す。なお、受信側ユニット2の後段にも図示しない受信側ユニット2が複数接続されているものとする。
【0021】
図1に示す送信側ユニット1の送信回路11は、送信データ生成部12、ECC付加部13、データ記憶部14、選択部15、計算部16、通信周期記憶部17から構成されている。
【0022】
生成部としての送信データ生成部12は、1つのヘッダに続いてすべてのスレーブ通信装置に対するデータが連なる送信データを生成する。ここで、送信データ上、すべてのスレーブ通信装置の接続順序とデータ配列順序に特に制限はない。
【0023】
ECC付加部13は、送信データ生成部12が生成した1つのヘッダに続いてすべてのスレーブ通信装置に対するデータが連なる送信データの通信エラーを訂正するためのエラー訂正符号ECCをそれぞれのスレーブ通信装置に対するデータに付加し、一方をデータ記憶部14へ記憶させる。受信回路18は、通信路3を介して送信されたECC付きの送信データを受信する。
【0024】
通信周期記憶部17は、送信データを後段の受信側ユニット2に送信する最速の周期、例えば50μsと、後述する計算部16が計算する送信データの送信回数とを記憶している。送信部としての選択部15は、データ記憶部14に記憶された送信データまたはECC付加部13から出力される送信データを選択して、通信路3を介して受信側ユニット2へ送信する。
【0025】
ここで、選択部15は、後述するように送信データ生成部12が後段に接続される複数の受信側ユニット2に対して生成した送信データを最速の周期(50μs)で送信する。計算部16は、通信路3上に転送する送信データに対する最速の周期と、該最速の周期と複数のスレーブ通信装置にデータを転送する周期とから送信データを送信する送信回数とを計算する。
【0026】
図1に示す受信側ユニット2の受信回路20は、エラー訂正・検出部21、データ記憶部22、選択部23、信頼度比較部24、データ使用部25、通信周期記憶部26を備える。
【0027】
データ記憶部22は、通信路3を介して受信した受信データのうち、正しく訂正された受信データ、あるいは正しい受信データを一時的に記憶する。なお、本実施形態では、判断部としてのエラー訂正・検出部21が受信した受信データの信頼度を3段階に分けて評価し、受信データをデータ記憶部22に記憶させる際に、エラーを検出して訂正の可否を判断する。
【0028】
具体的には、エラー訂正・検出部21が受信したデータをエラー訂正符号ECCに基づく訂正の可否を評価して信頼度(訂正の可否に基づく)を示す情報を付加してデータ記憶部22に記憶させる。ここで、本実施形態では、3段階に分けた信頼度を示す情報として、エラーなし(正常にデータを受信した場合で、信頼度が高いことを示す)、エラーあり・訂正済(ECCに基づいて受信したデータを訂正した場合で、信頼度がやや低いことを示す)、エラーあり・訂正不可能(ECCに基づいて受信したデータを訂正できない場合で、信頼度が低いことを示す)のいずれかを用いる。
【0029】
26は通信周期記憶部で、自身の受信側ユニット2に設定された周期(50μs,100μs,150μs,200μsのいずれか)、データ送信するための最速の周期等を記憶している。なお、それぞれのスレーブ通信装置にデータを転送する周期や、データを転送する際の最速の周期は、マスタ通信装置よりあらかじめ設定コマンド等により通知されたものを記憶させる構成としているが、これに限定されるものではない。
【0030】
比較部としての信頼度比較部24は、エラー訂正・検出部21から、例えば2周期目(100μs)に受信したデータと、1周期目(50μs)に出力されてデータ記憶部22に記憶されたデータの信頼度に基づいて信頼性の高いいずれかのデータを選択してデータ使用部25へ出力する。
【0031】
選択部23は、信頼度比較部24により信頼度が高いと判断したデータを選択する。データ使用部25は、選択部23が選択したデータを使用する。送信回路27は、受信したデータを図示しない後段の受信側ユニットへ送信する。
【0032】
なお、本実施形態では、各スレーブ通信装置がデータを受信する周期が異なり、周期として50μs,100μs,150μs,200μsを例とする。
【0033】
例えば通信システムを工作機械の制御装置と工作機械からなるシステムに適用した場合を想定した場合、データ使用部25は工作機械のアンプ等に対応し、各アンプはそのトルクに応じて発熱する。このため、各アンプによる発熱を抑えるため受信するタイミングを遅くしたり早くしたりする必要があるので、各スレーブ通信装置がデータを受信する周期を50μs,100μs,150μs,200μsのように調整する必要が生じる。
【0034】
また、送信部としての選択部15は、送信データ生成部12が後段に接続される複数の受信側ユニット2に対して生成した送信データを最速の周期(50μs)で送信する際、最速の周期(50μs)よりも長い周期(例えば200μs)でデータを受信するスレーブ通信装置(Slave#2)に対して同一のデータを最速の周期で繰り返し送信する。
【0035】
〔送信側ユニット1のデータ通信処理〕
【0036】
図2は、本実施形態を示す通信システムのデータ通信処理を説明するフローチャートである。なお、ST1~ST8は各ステップを示し、各ステップは、送信側ユニット1の送信回路11を構成する図示しないCPUがROM等に記憶された制御プログラムをRAM上にロードして実行することで実現される。また、本実施形態に示すソフトウエアによる本処理をハードウェア回路で実現するマスタ通信装置として構成してもよい。
【0037】
ST1で、計算部16は、マスタ通信装置(Master)の最速の周期は、スレーブ通信装置(Slave#3)に対する50μsとし、後述する
図4に示すスレーブ通信装置(Slave#1)の周期は100μs、スレーブ通信装置(Slave#2)の周期は200μs、スレーブ通信装置(Slave#3)の周期は50μsとした場合、送信回数は、スレーブ通信装置の周期100μs、200μs、50μsをそれぞれ最速の周期50μsで除することで、2回、4回、1回と計算する。そして、通信周期記憶部17に、最速の周期50μsと、送信回数2回、4回、1回を記憶させる。
【0038】
次に、ST2で、送信回路11から、通信路3を介して後段の受信回路20に対して送信に使用する最速の周期と、エラー訂正・検出部21がデータを受信するための周期を通知する。次に、ST3で、送信データ生成部12は、1つのヘッダに対してデイジーチェーン接続される複数のスレーブ通信装置としての受信側ユニット2を含む複数の受信側ユニットに対するデータを生成する。
【0039】
次に、ST4で、ECC付加部13は、送信データ生成部12が生成した送信データにエラーを訂正するためのエラー訂正符号ECCを付加する。次に、データ送信を行う送信部としての選択部15は、時間が0~50μsに対応づけられた最初の送信データの転送を開始するため、ST5へ進む。
【0040】
ST5で、選択部15が送信する送信データについて送信先である各スレーブ通信装置ごとに各スレーブ通信装置との通信の内の最初の周期の転送であるかどうかを判断する。ここで、選択部15が最初の周期の送信データであると判断した場合、ST6へ進み、データ記憶部14内のデータを送信データで更新する。次に、ST7で、選択部15は、送信すべき1つの送信データとして連ならせて、ST3へ戻る。
【0041】
一方、ST5で、選択部15が最初の周期目の送信データでないと判断した場合、ST8へ進み、選択部15はデータ記憶部14に記憶したデータを送信すべき1つの送信データとして連ならせて、ST3へ戻る。
【0042】
選択部15は、全スレーブ通信装置への送信データ選択が完了した後に、通信路3を介して後段の受信回路20に連ならせた送信データを送信する。この結果、送信部としての選択部15は、1つのヘッダに複数のデータと複数のエラー訂正符号ECCが付加された送信データを周期50μsで計4回送信するが、送信データの内訳としてはそれぞれのスレーブ通信装置に対して同一の送信データをそれぞれ2回、4回、1回ずつ送信する。
【0043】
〔受信側ユニット2のデータ通信処理〕
【0044】
図3は、本実施形態を示す通信システムのデータ通信処理を説明するフローチャートである。なお、ST11~ST28は各ステップを示し、各ステップは、受信側ユニット2の受信回路20を構成する図示しないCPUがROM等に記憶された制御プログラムをRAM上にロードして実行することで実現される。また、本実施形態に示すソフトウエアによる本処理をハードウェア回路で実現するスレーブ通信装置として構成してもよい。
【0045】
ST11で、受信回路20のエラー訂正・検出部21は、通信路3を介して上段の送信側ユニット1から送信されたデータを受信する。次に、ST12で、エラー訂正・検出部21は、正常にデータが受信しているか、正常に受信していない場合、正しいデータに訂正できるか、あるいは訂正不可と判断して受信したデータを破棄するかどうかを受信したデータに付加されたエラー訂正符号ECCに基づいて判断する処理を開始する。
【0046】
次に、ST13で、エラー訂正・検出部21は、データに付加されたエラー訂正符号ECCで訂正不能なエラー(エラー訂正の可否を示す情報)があるかどうかを判断する。ここで、受信したデータに付加されたエラー訂正符号ECCで訂正不能なエラーがあると判断した場合、ST14へ進み、受信回路20の図示しないCPUは、受信したデータを破棄して、ST11へ戻る。
【0047】
一方、ST13でエラー訂正・検出部21は、受信したデータに付加されたエラー訂正符号ECCで訂正不能なエラーがないと判断した場合、ST15で、エラー訂正・検出部21は、受信したデータに付加されたエラー訂正符号ECCで訂正可能なエラーがあるかどうかを判断する。
【0048】
ここで、エラー訂正・検出部21がエラー訂正符号ECCで訂正可能なエラーがあると判断した場合は、ST16へ進み、エラー訂正・検出部21は、受信したデータのエラーをエラー訂正符号ECCに基づいて訂正する。次に、ST17で、エラー訂正・検出部21は、受信したデータに信頼性が低いことを示す情報を付加してデータ記憶部22へ記憶させて、ST19へ進む。
【0049】
一方、ST15で、エラー訂正・検出部21が受信したデータに付加されたエラー訂正符号ECCで訂正可能なエラーがないと判断した場合、ST18へ進み、エラー訂正・検出部21は、受信したデータに信頼性が高いことを示す情報を付加してデータ記憶部22へ記憶し、ST19へ進む。この場合、データ記憶部22には、正常に受信したデータそのものが記憶される。
【0050】
ST19で、エラー訂正・検出部21は、次に受信するデータが通信周期内の最終転送(4周期目)であるかどうかを判断し、最終転送でないと判断した場合、ST20へ進む。
【0051】
次に、ST20で、エラー訂正・検出部21は、データ記憶部22内にデータが存在するかどうかを判断する。ここで、エラー訂正・検出部21がデータ記憶部22内にデータが存在しないと判断した場合、ST21へ進み、エラー訂正・検出部21は、データ記憶部22内を受信したデータで更新して、ST11へ戻る。
【0052】
一方、ST20で、エラー訂正・検出部21がデータ記憶部22内にデータが存在すると判断した場合、ST22へ進み、信頼度比較部24は、受信したデータの信頼度がデータ記憶部22内に記憶されているデータの信頼度よりも低いかどうかを判断する。ここで、信頼度比較部24が受信したデータの信頼度がデータ記憶部22内に記憶されているデータの信頼度よりも低いと判断した場合、受信回路20の図示しないCPUは、今回受信したデータを破棄して(ST23)、ST11へ戻る。
【0053】
一方、ST22で、信頼度比較部24が受信したデータの信頼度がデータ記憶部22内に記憶されているデータの信頼度よりも高いと判断した場合、ST21へ進み、エラー訂正・検出部21は、データ記憶部22内のデータを受信したデータで更新して、ST11へ戻る。
【0054】
一方、ST19で、エラー訂正・検出部21が次に受信したデータが通信周期内の最終転送であると判断した場合、ST24へ進む。
【0055】
ST24で、エラー訂正・検出部21がデータ記憶部22内にデータが存在するかどうかを判断し、データ記憶部22内にデータが存在しないと判断した場合、ST25へ進み、選択部23が今回受信したデータを後段の回路であるデータ使用部25で使用するために選択して、ST27へ進む。
【0056】
一方、ST24で、エラー訂正・検出部21がデータ記憶部22内にデータが存在すると判断した場合、ST28へ進み、信頼度比較部24は、受信したデータの信頼度がデータ記憶部22内に記憶されているデータの信頼度よりも低いかどうかを判断する。ここで、信頼度比較部24が受信したデータの信頼度がデータ記憶部22内に記憶されているデータの信頼度よりも高いと判断(NOと判断)した場合、ST25へ進み、選択部23は、後段の回路であるデータ使用部25で使用するため今回受信したデータを選択し、ST27へ進む。
【0057】
一方、ST28で信頼度比較部24が受信したデータの信頼度がデータ記憶部22内に記憶されているデータの信頼度よりも低いと判断(YESと判断)した場合、ST26へ進み、選択部23は、後段の回路であるデータ使用部25で使用するため、データ記憶部22に記憶されたデータを選択し、ST27へ進む。
【0058】
次に、ST27で、受信回路20の図示しないCPUは、データ記憶部22内に記憶されているデータを破棄して、ST11へ戻る。
【0059】
これにより、本来受信するタイミングではないタイミングで信頼度が高いデータを受信した場合(スレーブ通信装置が正常にデータを受信している場合)、本来受信するタイミングで正常にデータを受信できない場合でも、先に受信したデータを活用することができる。
【0060】
同様に、本来受信するタイミングではないタイミングで信頼度がやや低いデータを受信した場合(受信したデータからECCを用いて本来受信すべきデータに訂正できる場合)、本来受信するタイミングで正常にデータを受信できない場合でも、先に受信したデータを活用することができる。
【0061】
図4は、本実施形態を示す通信システムの受信データの状態を説明する図であり、
図6と同一のものには同一の符号を付してある。
【0062】
なお、各スレーブ通信装置2は、マスタ通信装置1から順次受信するデータに付加されたECCに基づく訂正検出結果を比較して、信頼性の高いデータをデータ記憶部22に記憶しているものとする。また、説明上、複数のスレーブ通信装置2を、スレーブ通信装置(Slave#1)-スレーブ通信装置(Slave#2)-スレーブ通信装置(Slave#3)と表記する。
【0063】
図4において、時間が0~50μs経過した場合、スレーブ通信装置(Slave#1)-スレーブ通信装置(Slave#2)-スレーブ通信装置(Slave#3)すべてがデータを正常に受信したので、スレーブ通信装置(Slave#1)-スレーブ通信装置(Slave#2)-スレーブ通信装置(Slave#3)のデータ記憶部22には、正常に受信したデータが記憶された状態となる。
【0064】
次に、時間が50~100μs経過した場合、スレーブ通信装置(Slave#1)はデータを受信するタイミングなので、データを受信するが修復できないエラーとなった場合、受信したデータを破棄することとなる。しかしながら、本実施形態では、スレーブ通信装置(Slave#1)は、時間が0~50μs経過した時点でデータ記憶部22に記憶したデータを選択して、使用することができる。
【0065】
一方、スレーブ通信装置(Slave#2)は、データを正常に受信しているが、周期が200μsなので、時間が0~50μs経過した時点における受信したデータでデータ記憶部22の内容を更新する。
【0066】
一方、スレーブ通信装置(Slave#3)は、データを正常に受信し、周期が50μsなので、今回の受信したデータでデータ記憶部22の内容を更新する。
【0067】
そして、時間が100~150μs経過した場合、スレーブ通信装置(Slave#1)-スレーブ通信装置(Slave#2)-スレーブ通信装置(Slave#3)は、すべてがデータを正常に受信しているが、スレーブ通信装置(Slave#1)-スレーブ通信装置(Slave#2)がデータを受信するタイミングではないが、スレーブ通信装置(Slave#1)は今回受信したデータでデータ記憶部22の内容を更新し、スレーブ通信装置(Slave#2)は、データ記憶部22の内容を更新する。
【0068】
一方、スレーブ通信装置(Slave#3)は、データを正常に受信し、周期が50μsなので、今回受信したデータでデータ記憶部22の内容を更新する。
【0069】
そして、4周期目に当たる時間が150~200μs経過した場合、スレーブ通信装置(Slave#1)、スレーブ通信装置(Slave#2)はそれぞれデータを受信するタイミングに当たり、受信したデータが修復できないエラーとなった場合、スレーブ通信装置(Slave#1)は、3周期目で正常に受信してデータ記憶部22に記憶したデータを選択する。
【0070】
一方、スレーブ通信装置(Slave#2)は、50μs経過した時点からデータ記憶部22に順次更新させながら記憶させていたデータを選択して使用する。
【0071】
一方、スレーブ通信装置(Slave#3)は、今回受信したデータが正常なデータであるため、受信したデータを選択して使用する。
【0072】
このように、データ送信を行う4周期の間、スレーブ通信装置(Slave#1)-スレーブ通信装置(Slave#2)-スレーブ通信装置(Slave#3)が受信したデータは、データ送信に伴うエラー(ビットエラー)が発生したとしても、正常に受信したデータを無駄に破棄することなく有効に活用することができる。
【0073】
〔第1実施形態の効果〕
【0074】
本実施形態によれば、それぞれのスレーブ通信装置がデータを受信すべきタイミングと異なるタイミングで正常または訂正可能に受信しているデータを有効に活用したデータ通信を行える。
【0075】
〔第2実施形態〕
【0076】
上記実施形態では、信頼度を示す情報は、送信データに付加される訂正情報の一例として、エラー訂正符号ECCの場合を示したが、エラー検出するだけでよい場合は、受信データのエラー検出符号として、CRCを用いる構成としてもよいし、チェックサムを用いる構成としてもよい。なお、エラー検出符号として、CRCを用いる場合、信頼度を示す情報は、2段階となる。
【0077】
〔第2実施形態の効果〕
【0078】
本実施形態によれば、通信システムで使用するデータに対して要求される信頼度に適応したエラーチェック処理を用いることができる。
【0079】
なお、上記実施形態では、通信システムとして構成する場合を開示したが、システムを構成する受信側のスレーブ通信装置や、送信側のマスタ通信装置を独立した実施形態として構成してもよい。また、上記実施形態における
図2、
図3に示したソフトウエアによる本処理をハードウェア回路で実現するマスタ通信装置とスレーブ通信装置とからなる通信システムとして構成してもよい。
【0080】
さらに、上述した通り、本実施形態に示す通信システムを制御装置と工作機械とが通信する通信システムにも適用することができる。
【0081】
また、本開示は上記実施形態に限定されるものではなく、本開示の目的を達成できる範囲での変更、改良は本開示に含まれる。
【符号の説明】
【0082】
1 送信側ユニット(マスタ通信装置)
2 受信側ユニット(スレーブ通信装置)
12 送信データ生成部(生成部)
15 選択部(送信部)
16 計算部
21 エラー訂正・検出部(判断部)
22 データ記憶部(記憶部)
23 選択部
24 信頼度比較部(比較部)