(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-13
(45)【発行日】2024-12-23
(54)【発明の名称】識別番号自動設定方法、識別番号自動設定プログラムおよび識別番号自動設定装置
(51)【国際特許分類】
H04L 12/28 20060101AFI20241216BHJP
【FI】
H04L12/28 400
(21)【出願番号】P 2020134525
(22)【出願日】2020-08-07
【審査請求日】2023-05-10
(73)【特許権者】
【識別番号】000231361
【氏名又は名称】NISSHA株式会社
(72)【発明者】
【氏名】小林 華奈
(72)【発明者】
【氏名】大場 芙美
(72)【発明者】
【氏名】福田 健悟
【審査官】羽岡 さやか
(56)【参考文献】
【文献】国際公開第2012/120745(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
マスタ機器と、前記マスタ機器に直列に接続される複数のスレーブ機器とを備え、
前記複数のスレーブ機器が、自己に終端抵抗が装着されているか検出するステップと、
前記終端抵抗を検出したスレーブ機器が自己の識別番号を設定するステップと、
前記終端抵抗を検出した前記スレーブ機器が、識別番号を設定するためのシリアル通信であるUART通信によって、自己の前記識別番号を自己よりも1つ上位のスレーブ機器に送信するステップと、
前記終端抵抗を検出した前記スレーブ機器を除く各スレーブ機器が、自己よりも1つ下位のスレーブ機器から受信した識別番号をインクリメントした値を自己の識別番号として設定し、前記UART通信によって自己よりも1つ上位のスレーブ機器に自己の識別番号を送信するステップと、
前記自己の識別番号を送信するステップは、すべてのスレーブ機器に識別番号を設定するまで繰り返すステップと、
前記すべてのスレーブ機器に識別番号を設定するまで繰り返すステップが終了した後に、前記マスタ機器と直接接続するスレーブ機器は、前記マスタ機器へ向けて
前記UART通信により自己の識別番号を発信するステップとを備える、識別番号自動設定方法。
【請求項2】
前記シリアル通信は有線通信である、請求項1に記載の識別番号自動設定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、識別番号自動設定方法、識別番号自動設定プログラムおよび識別番号自動設定装置に関する。
【背景技術】
【0002】
1つのマスタ機器と、マスタ機器に直列に通信可能に接続された複数のスレーブ機器とで構成される通信システムが知られている。このような通信システムの各スレーブ機器に対して、識別番号(ID)を自動的に設定する方法がある(たとえば、特許文献1参照)。これは、
図8のように構成された識別番号自動設定装置70を用いる方法である。
【0003】
まず、最上位のスレーブ機器(マスタ機器20に最も近いスレーブ機器30)は、自己よりも1つ下位のスレーブ機器40との接続を切断し、管理用データ線60を通してマスタ機器20から送信されたID=1を受信し、自己のIDとして設定する。次に、最上位のスレーブ機器30は、管理用データ線60を通して、ID=1を設定したことを示す確認信号をマスタ機器20に送信する。次に、最上位のスレーブ機器30は、自己よりも1つ下位のスレーブ機器40との接続をする。
【0004】
最上位のスレーブ機器30から確認信号を受信したマスタ機器20は、管理用データ線60を通してID=2を送信する。最上位のスレーブ機器30はID=2を受信するが、自身にすでにIDが設定されているためこれを無視する。スレーブ機器40がID=2を受信し、自己のIDとして設定する。このとき、スレーブ機器40とスレーブ機器50とは切断されている。ID設定後、スレーブ機器40は、管理用データ線60を通して、ID=2を設定したことを示す確認信号をマスタ機器20に送信する。次にスレーブ機器40は、スレーブ機器50との接続をする。
【0005】
スレーブ機器40から確認信号を受信したマスタ機器20は、管理用データ線60を通してID=3を送信する。スレーブ機器30,40はこれを無視し、スレーブ機器50がID=3を受信し、自己のIDとして設定する。
【0006】
このように、従来の識別番号自動設定方法によれば、マスタ機器に近い順に、各スレーブ機器にIDを設定することができる。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、従来の識別番号自動設定方法では、マスタ機器がIDを送信し、それを受信したスレーブ機器がマスタ機器に確認信号を送信していた。つまり、IDを設定するたびに、マスタ機器とスレーブ機器との間で逐一通信が必要であって、複数のスレーブ機器にIDを設定するのに時間がかかるといった問題があった。
【0009】
本発明は上記のような課題を解決するためになされたものであり、容易にID設定の時間を短縮することができる、識別番号自動設定方法、識別番号自動設定プログラムおよび識別番号自動設定装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の識別番号自動設定方法は、
マスタ機器と複数のスレーブ機器とを備え、
複数のスレーブ機器はマスタ機器に直列に通信可能に接続され、
接続箇所での通信は、マスタ機器からの命令情報とスレーブ機器からの応答情報とをやり取りするための半二重通信、および識別番号を設定するためのシリアル通信であり、
複数のスレーブ機器が、自己に終端抵抗が装着されているか検出するステップと、
終端抵抗を検出したスレーブ機器が自己の識別番号を設定するステップと、
終端抵抗を検出したスレーブ機器が、シリアル通信によって、自己の識別番号を自己よりも1つ上位のスレーブ機器に送信するステップとを含み、
マスタ機器に至るまで、終端抵抗を検出したスレーブ機器を除く各スレーブ機器が、自己よりも1つ下位のスレーブ機器から受信した識別番号をインクリメントした値を自己の識別番号として設定し、自己よりも1つ上位の機器にシリアル通信によって送信する動作を繰り返すことによって、すべてのスレーブ機器に識別番号を自動的に設定するものである。
【0011】
上記態様において、半二重通信およびシリアル通信は有線通信であってもよい。
【0012】
上記2つの態様のいずれかにおいて、シリアル通信はUART通信であってもよい。
【0013】
本発明の識別番号自動設定プログラムは、
マスタ機器に直列に通信可能に接続された複数のスレーブ機器に、識別番号を自動的に設定するためのプログラムであって、
複数のスレーブ機器を、自己に終端抵抗が装着されているか検出する手段として機能させ、
終端抵抗を検出したスレーブ機器を、自己の識別番号を設定する手段と、自己の識別番号を自己よりも1つ上位のスレーブ機器に送信する手段として機能させ、
終端抵抗を検出したスレーブ機器を除く各スレーブ機器を、自己よりも1つ下位のスレーブ機器から受信した識別番号をインクリメントした値を自己の識別番号として設定し、自己よりも1つ上位の機器に送信する手段として機能させるものである。
【0014】
本発明の識別番号自動設定装置は、
マスタ機器と複数のスレーブ機器とを備え、
複数のスレーブ機器はマスタ機器に直列に通信可能に接続され、
接続箇所での通信は、マスタ機器からの命令情報とスレーブ機器からの応答情報とをやり取りするための半二重通信、および識別番号を設定するためのシリアル通信であり、
複数のスレーブ機器が、自己に終端抵抗が装着されているか検出する手段と、
終端抵抗を検出したスレーブ機器が自己の識別番号を設定する手段と、
終端抵抗を検出したスレーブ機器が、シリアル通信によって、自己の識別番号を自己よりも1つ上位のスレーブ機器に送信する手段とを含み、
マスタ機器に至るまで、終端抵抗を検出したスレーブ機器を除く各スレーブ機器が、自己よりも1つ下位のスレーブ機器から受信した識別番号をインクリメントした値を自己の識別番号として設定し、自己よりも1つ上位の機器にシリアル通信によって送信する動作を繰り返すことによって、すべてのスレーブ機器に識別番号を自動的に設定するものである。
【発明の効果】
【0015】
本発明の識別番号自動設定方法によれば、容易にID設定の時間を短縮することができる。また、本発明の識別番号自動設定プログラムおよび識別番号自動設定装置を用いると、容易にID設定の時間を短縮することができる。
【図面の簡単な説明】
【0016】
【
図1】本発明の識別番号自動設定装置の一実施形態を示す構成図である。
【
図3】USB-TypeCのピン配置を示す図である。
【
図4】本発明の識別番号自動設定方法の一実施形態を示すフローチャートである。
【
図5】スレーブ機器の一実施形態を示すブロック図である。
【
図6】スレーブ機器の一実施形態を示すブロック図である。
【
図7】スレーブ機器の主要な内部構成を示すブロック図である。
【
図8】従来の識別番号自動設定装置を示す構成図である。
【発明を実施するための形態】
【0017】
以下、図面を参照しながら、本発明の識別番号自動設定方法、識別番号自動設定プログラムおよび識別番号自動設定装置の実施形態の一例を説明する。
【0018】
識別番号自動設定装置1は、マスタ機器2と複数のスレーブ機器3,4,5とを備えている(
図1参照)。複数のスレーブ機器3,4,5は、少なくともCPU8やメモリ9といった部品が設置された制御基板と、送信用外部接続インターフェイス11と、受信用外部接続インターフェイス12とを少なくとも備えている(
図7参照)。メモリ9は、少なくとも識別番号自動設定プログラム10を記憶している。2つの外部接続インターフェイス11,12には、マスタ機器2と複数のスレーブ機器3,4,5とを直列に通信可能に接続するためのUSB-TypeCのコネクタ6(後述)を接続する。つまり、マスタ機器2の受信用外部接続インターフェイス12と、スレーブ機器3の送信用外部接続インターフェイス11とが接続される。同様に、スレーブ機器3の受信用外部接続インターフェイス12と、スレーブ機器4の送信用外部接続インターフェイス11とが接続される。最下位のスレーブ機器5には、自己よりも下位のスレーブ機器との接続はなく、受信用外部接続インターフェイス12に終端抵抗7が装着されている。つまり、終端抵抗7は外付けされている。
【0019】
機器同士の接続は、たとえば、両端がUSB-TypeCのコネクタ6を用いて実現することができる。接続箇所での通信は、半二重通信およびシリアル通信である。本実施形態では、半二重通信はRS485による通信であり、シリアル通信はUART通信(非同期シリアル通信)である。RS485による半二重通信とUART通信とは、それぞれ役割が異なる。RS485による半二重通信は、マスタ機器2からの命令情報とスレーブ機器3,4,5からの応答情報をやり取りするために用いる。UART通信は、複数のスレーブ機器3,4,5に識別番号(ID)を設定するために用いる。複数のスレーブ機器3,4,5にID設定が終わった後に、RS485による半二重通信が行われる。
図1の配線図を
図2に示す。H,LはRS485によるRS485による半二重通信の線を示し、T
x,R
xはUART通信の線を示し、Pは電源(5V)およびGNDを示している。
【0020】
マスタ機器2とスレーブ機器3,4,5とが有する、USB-TypeCのピン配置(メス)を
図3に示す。RS485による半二重通信には、A6・A7・B6・B7(図の中央)のD+/D-のペア線を用いる。D+がHIGH、D-がLOWである(
図2のH,Lに相当)。UART通信には、A5のCC1ピンまたはB5のCC2ピンを用いる(
図2のT
x,R
xに相当)。電源用にはA4・A9・B4・B9のVbusピンを用い、グランドにはA1・A12・B1・B12(図の両端)のGNDピンを用いる(
図2のPに相当)。最下位のスレーブ機器5には終端抵抗7を装着し、A8のSBU1ピンとB8のSBU2ピンとを用いて、終端抵抗7の装着有無を検出する。
このように、USB-TypeCのコネクタ6を1本用いるだけで、
図2に示すような配線が容易に可能となる。
【0021】
なお、シリアル通信としては同期シリアル通信(SPI通信、I2C通信)も用いることはできるが、同期シリアル通信は、同期をとるためのクロック信号線が必要になり、配線数が増える。一方、UART通信は調歩同期式であり、必要な配線数を最小限に抑えることができるため、UART通信を用いるのが好ましい。
【0022】
識別番号自動設定方法について説明する。
図4は、複数のスレーブ機器3,4,5のそれぞれが行うステップを示すフローチャートである。
【0023】
まず、識別番号自動設定装置1の電源を入れると、複数のスレーブ機器3,4,5は、自己に終端抵抗7が装着されているか検出する(S1)。次に、複数のスレーブ機器3,4,5のうち、自己に終端抵抗7が装着されていることを検出した(S1:YES)スレーブ機器5は、自己のID=1を設定する(S2)。次に、スレーブ機器5は、UART通信によって、自己のID=1を自己よりも1つ上位のスレーブ機器4に送信する(S3)。S1における検出手段には、スレーブ機器3,4,5が備えているCPU8(
図7参照)およびSBU1ピン・SBU2ピン(
図3参照)を用いることができる。S2における設定手段には、スレーブ機器5のCPU8とメモリ9とを用いることができる。S3における送信手段には、スレーブ機器5が備えているCPU8、およびコネクタ6(CC1ピンまたはCC2ピン)を用いることができる(
図1、
図3参照)。
【0024】
終端抵抗7が装着されていることを検出しなかった(S1:NO)スレーブ機器4は、最下位のスレーブ機器5からID値のデータを受信したかを検出する(S4)。検出手段には、スレーブ機器4が備えているCPU8を用いることができる。
【0025】
一定時間以内に、最下位のスレーブ機器5からID値のデータを受信していない場合(S4:NO)は、スレーブ機器4はIDエラーとなる(S8)。つまり、スレーブ機器4でのエラー検出をすることができる。最下位のスレーブ機器5からID値のデータを受信した場合(S4:YES)は、スレーブ機器4は受信したID値をインクリメントする(S5)。スレーブ機器5から受信したID値は1であるため、インクリメントした値は2となる。次に、スレーブ機器4はインクリメントした値=2を自己のIDとして設定する(S6)。次に、スレーブ機器4は、自己のID=2を自己よりも1つ上位のスレーブ機器3に、UART通信によって送信する(S7)。
【0026】
スレーブ機器3は、マスタ機器2に最も近い、最上位のスレーブ機器である。スレーブ機器3は、一定時間以内にID値のデータを受信していない場合(S4:NO)は、IDエラーとなる(S8)。つまり、スレーブ機器3でのエラー検出をすることができる。スレーブ機器4からID値のデータを受信した場合(S4:YES)は、スレーブ機器3は受信したID値をインクリメントする(S5)。スレーブ機器4から受信したID値は2であるため、インクリメントした値は3となる。次に、スレーブ機器3はインクリメントした値=3を自己のIDとして設定する(S6)。つまり、この時点で、最下位のスレーブ機器5はID=1、その1つ上位のスレーブ機器4はID=2、最上位のスレーブ機器3はID=3である。次に、スレーブ機器3は、自己のID=3を自己よりも1つ上位の機器であるマスタ機器2に、UART通信によって送信する(S7)。ID値=3を受信したマスタ機器2は、自己に接続されたスレーブ機器が3台であることを認識する。
【0027】
S5におけるインクリメント、S6におけるID設定は、スレーブ機器3,4のそれぞれが備えているCPU8とメモリ9とによって行われる(
図7参照)。S7における送信は、スレーブ機器3,4が備えているCPU8、およびコネクタ6(CC1ピンまたはCC2ピン)によって行われる。
【0028】
上記のようにして、マスタ機器2に直列に通信可能に接続された複数のスレーブ機器3,4,5のすべてに識別番号を自動的に設定することができる。上記の識別番号自動設定方法によれば、マスタ機器2から最も遠いスレーブ機器5から順に、ID=1,2,3が自動設定される。従来の方法ではIDを設定するたびに、マスタ機器20とスレーブ機器30,40,50との間で逐一通信が発生し、ID設定に時間がかかっていた。しかし、上記のような識別番号自動設定方法によれば、電源を入れれば最下位のスレーブ機器5から順にIDが設定されていくため、マスタ機器2からスレーブ機器3,4,5へのID設定のための通信が逐一発生しない。つまり、容易にID設定の時間を短縮することができる。
【0029】
なお、終端抵抗7は外付けであるため、最下位のスレーブ機器に装着するのを忘れた場合、ID設定が始まらず、所定時間内に最上位のスレーブ機器からマスタ機器2へのID値のデータが送信されない。これを検出し、マスタ機器2はエラー表示をすることができる。
【0030】
なお、スレーブ機器は4台以上接続されてもよい。その場合でも、最下位のスレーブ機器は
図4に示すS1~S3のステップを実行し、他のスレーブ機器は
図4に示すS1およびS4~S7のステップを、マスタ機器2に至るまで繰り返し実行する。このようにして、すべてのスレーブ機器に識別番号を自動的に設定することができる。
【0031】
次に、識別番号自動設定プログラムについて説明する(
図5~
図7参照)。
識別番号自動設定プログラム10は、複数のスレーブ機器3,4,5を、自己に終端抵抗7が装着されているか検出する手段F1として機能させる(
図5参照)。識別番号自動設定プログラム10は、次に、終端抵抗7を検出したスレーブ機器5を、自己の識別番号を設定する手段F2と、自己の識別番号を自己よりも1つ上位のスレーブ機器4に送信する手段F3として機能させる。
【0032】
次に、識別番号自動設定プログラム10は、スレーブ機器4を、スレーブ機器5が送信した識別番号を受信する手段F4として機能させる(
図6参照)。次に、識別番号自動設定プログラム10は、スレーブ機器4を、スレーブ機器5から受信した識別番号をインクリメントする手段F5と、インクリメントした値を自己の識別番号として設定する手段F6と、自己の識別番号を自己よりも1つ上位のスレーブ機器3に送信する手段F7として機能させる。
【0033】
次に、識別番号自動設定プログラム10は、スレーブ機器3を、スレーブ機器4が送信した識別番号を受信する手段F4として機能させる(
図6参照)。次に、識別番号自動設定プログラム10は、スレーブ機器3を、スレーブ機器4から受信した識別番号をインクリメントする手段F5と、インクリメントした値を自己の識別番号として設定する手段F6と、自己の識別番号を自己よりも1つ上位のマスタ機器2に送信する手段F7として機能させる。
【0034】
識別番号自動設定プログラム10は、CPU8が次の処理を制御するよう規定している。まず、CPU8は、自己(スレーブ機器3,4,5)の受信用外部接続インターフェイス12に終端抵抗7が装着されているかを検出する。次に、終端抵抗7を検出したスレーブ機器5のCPU8は、自己の識別番号を設定する(ID=1)。このとき、ID=1はメモリ9に記憶する。次に、スレーブ機器5のCPU8は、自己のID=1を自己よりも1つ上位のスレーブ機器4に送信する。送信の際は、送信用外部接続インターフェイス11に接続された、USB-TypeCのコネクタ6を用いる。
【0035】
終端抵抗7を検出しなかったスレーブ機器3,4のうち、自己よりも1つ下位のスレーブ機器からID値のデータを受信したスレーブ機器4のCPU8は、受信したID=1をインクリメントする(ID=2)。次に、CPU8は、インクリメントしたID=2を自己の識別番号として設定する。ID=2はメモリ9に記憶される。次に、スレーブ機器4のCPU8は、自己のID=2を自己よりも1つ上位のスレーブ機器3に送信する。
【0036】
スレーブ機器4からID値のデータを受信したスレーブ機器3のCPU8は、受信したID=2をインクリメントする(ID=3)。次に、CPU8は、インクリメントしたID=3を自己の識別番号として設定する。ID=3はメモリ9に記憶される。次に、スレーブ機器3のCPU8は、自己のID=3を自己よりも1つ上位のマスタ機器2に送信する。
【0037】
識別番号自動設定プログラムを上記のように規定し、それによって複数のスレーブ機器3,4,5を機能させることにより、容易にID設定の時間を短縮することができる。
【符号の説明】
【0038】
1 :識別番号自動設定装置
2 :マスタ機器
3,4,5 :スレーブ機器
6 :コネクタ
7 :終端抵抗
8 :CPU
9 :メモリ
10 :識別番号自動設定プログラム
11 :送信用外部接続インターフェイス
12 :受信用外部接続インターフェイス
20 :マスタ機器
30,40,50:スレーブ機器
60 :管理用データ線
70 :識別番号自動設定装置