JP4107110B2 - フィールドバスシステム及び接続確認方法並びにマスタ - Google Patents

フィールドバスシステム及び接続確認方法並びにマスタ Download PDF

Info

Publication number
JP4107110B2
JP4107110B2 JP2003062346A JP2003062346A JP4107110B2 JP 4107110 B2 JP4107110 B2 JP 4107110B2 JP 2003062346 A JP2003062346 A JP 2003062346A JP 2003062346 A JP2003062346 A JP 2003062346A JP 4107110 B2 JP4107110 B2 JP 4107110B2
Authority
JP
Japan
Prior art keywords
slave
frame
address
master
transmission
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.)
Expired - Lifetime
Application number
JP2003062346A
Other languages
English (en)
Other versions
JP2004274396A (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 JP2003062346A priority Critical patent/JP4107110B2/ja
Publication of JP2004274396A publication Critical patent/JP2004274396A/ja
Application granted granted Critical
Publication of JP4107110B2 publication Critical patent/JP4107110B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、フィールドバスシステム及び接続確認方法並びにマスに関するもので、特にマルチドロップの配線形態をとるフィールドバスシステムに適したものである。
【0002】
【従来の技術】
FA(ファクトリーオートメーション)で用いられるPLC(プログラマブルコントローラ)は、スイッチやセンサなどの入力機器のON/OFF情報を入力し、ラダー言語などで書かれたシーケンスプログラム(ユーザプログラム)に沿って論理演算を実行する。そして、PLCは、得られた演算結果にしたがって、リレー,バルブ,アクチュエータなどの出力機器に対し、ON/OFF情報の信号を出力することで制御が実行される。
【0003】
係るPLCの一形態として、各機能ごとに生成されたユニットを複数用意し、電気,機械的に連結して構成するものがある。係るタイプを構成するためのユニットとしては、電源ユニット,CPUユニット,I/Oユニット,マスタユニット等各種のものがある。PLCを構成するI/Oユニットが有する接続端子には、PLCの近くの場所に存在する入力機器や出力機器の接続線をつなぐ。
【0004】
そして、上記したマスタユニットのほうは、フィールドバス等の制御系ネットワークに接続され、その制御系ネットワークに接続された各種のスレーブと制御系ネットワークを介して通信可能となっている。このフィールドバスにおける配線は、マルチドロップ配線になっていて、ひとつのフィールドバスにマスタユニットと複数のスレーブとが接続できるようになっている。各スレーブは接続端子を有していて、その接続端子には、PLCから比較的に遠い場所に存在する入力機器や出力機器がつながれる。そしてマスタユニットは、各スレーブとの間でフィールドバス通信をしてフレームを送受信することにより、各スレーブにつながれている入力機器の入力信号(INデータ)を受け取るとともに、出力信号(OUTデータ)を各スレーブに対して送信する。通信の詳細を説明すると、マスタユニットから出力された送信フレームは、フィールドバスに接続された全てのスレーブ(ノード)に対して一度に到達する。そして、各スレーブには個々にノードアドレスが設定されており、送信フレームには宛先のノードアドレスを含む宛先データを付加しておく。これにより、各スレーブは、受信した送信フレームの宛先データを抽出し、自己宛の送信フレームか否かを判断し自己宛の場合にはその送信フレームを取り込み、自己宛でない場合には破棄するようになる。
【0005】
また、スレーブからマスタユニットへ向けて出力されるフレームも、同様に送信アドレスにマスタユニットのノードアドレスが付加されることにより、マスタユニットのみが受信することができる。そして、係るスレーブからマスタユニットに向けて出力されるフレームの送信タイミングであるが、各スレーブが一斉に送信すると、フィールドバス上で衝突が生じて通信不能となるので、予め指定された送信タイミングで、各スレーブが順次フレームを送信するような通信プロトコルをとっている。
【0006】
そして、この種の通信プロトコルにおけるマスタとスレーブのデータの送受は、図1に示すように、マスタユニットから一括送受信方式によりOUTフレームを送信する。このOUTフレーム中のOUTデータは、所定のOUTスレーブに受信される。なお、1つのOUTフレーム中のOUTデータ領域には、複数のOUTスレーブ用のOUTデータが格納されており、各OUTフレームは、OUTデータ領域中の自己用のOUTデータの格納位置がわかっているため、当該格納位置のOUTデータを取得する。
【0007】
一方、各INスレーブは、マスタユニットから一括送受信方式によりOUTフレームを受信すると、フレーム長と物理的遅延とを考慮してフレーム同士が重ならないような基本アイドルタイム毎の各々のタイミングで、INフレームIF0〜IF2をマスタユニットに送信する。
【0008】
マスタユニットでは、基本アイドルタイムに基づく各スレーブ毎のタイムスロット内でINフレームIF0〜IF2を受信し、各INフレームIF0〜IF2のヘッダであるスタートビットに基づいてINフレーム中のINデータIN0〜IN2を取込む。基本アイドルタイムを適切に設定することにより、各INスレーブからのINフレームの重なりを防止して、確実にINデータを送受することができる。
【0009】
さらに、上記したOUT/INデータの送受に加え、1回の通信サイクル中にスレーブが持つステータスをマスタユニットに通知するステータスフレームを送信するためのステータスフレームタイムスロットが用意されている。すなわち、OUTフレームのOUTデータ領域中に、ステータスフレーム要求ノードアドレスを書き込む。このステータスフレーム要求ノードアドレスは、ステータス情報の読み出し対象のスレーブのアドレスであり、このステータスフレーム要求ノードアドレスに一致するノードアドレスのスレーブは、OUTフレーム受信後、自己のステータス情報を格納したステータスフレームを送信する。
【0010】
マスタユニットは、このステータスフレームの受信の有無に基づき、ネットワーク構成を確認する。つまり、ステータスフレーム要求ノードアドレスで指定されたノードアドレスのスレーブからステータスフレームが返送されてくると、そのノードアドレスのスレーブが接続されるとともに、正常に動作していることを認識する。一方、ステータスフレームが返送されてこない場合には、そのノードアドレスのスレーブが接続されていないか、故障したと推定できる。
【0011】
従って、マスタユニットは、例えばノードアドレス#0から順にアドレスを1つずつ昇順させながら、OUTフレームを送信することにより、フィールドバスへの接続最大ノード数分だけOUTフレームを送信することにより、現在のスレーブの接続構成(正常に接続されたスレーブのノードアドレス,IN/OUT,入出力点数等)がわかる。そして、新規にネットワーク(フィールドバス)に追加してきたスレーブや、離脱したスレーブを知ることができる。なお、上記した従来技術は、例えば特許文献1や特許文献2に開示されている。
【0012】
【特許文献1】
特開平7―285950号公報
【特許文献2】
特開平9―128019号公報
【0013】
【発明が解決しようとする課題】
しかしながら、上記した従来のマルチドロップ方式のネットワークの場合、以下に示す問題がある。すなわち、接続されたノード数が多くなるとネットワークへの接続確認が面倒になってくる。接続台数が時には百ノード以上というように極端に多くなることもあり、1つずつ接続確認をする従来の方式では、時間がかかってしまう。
【0014】
そして、新規加入の確認は、1回受信すれば認識できるが、今まで接続されていたスレーブからステータスフレームが受信できない場合には、故障などにより離脱した場合以外に、通信エラーにより受信できないことも予想される。そのため、例えば3回以上連続して受信できない場合にはじめて離脱と判断するようなアルゴリズムをとる必要がある。よって、ノード数が増えると、離脱判定までに要する時間がさらに長時間かかってしまう。
【0015】
ところで、ステータスフレーム要求ノードアドレスに書き込むノードアドレスを複数設定すれば、1回のステータスフレームタイムスロット中に複数のスレーブからの応答を受けることができる。しかし、アドレスの設定をハードウェアで処理することから、例えば最初に#0から#3を設定し、次に#4から#7を設定するようなことは困難である。さらに、ソフトウェアによって処理すれば複数のノードアドレスをOUTデータ中に書き込むことができるものの、処理速度が遅くなるばかりでなく、OUTフレームのデータ長が長くなり、伝送時間も長くなるという問題がある。
【0016】
この発明は、伝送の効率がよいOUTデータ一括転送&INデータ転送一括ポーリングを特徴とするプロトコルでマルチドロップの配線形態をとっているフィールドバスシステムにおいて、たとえノード数が多くなってもスレーブの接続状況確認を容易に行うことができ、通信サイクルに影響せず、高速に確認することができるフィールドバスシステム及び接続確認方法並びにマスを提供することを目的とする。
【0017】
【課題を解決するための手段】
上記した目的を達成するための本発明に係る接続確認方法は、マスタと、複数のスレーブが、フィールドバスにマルチドロップに接続され、前記マスタからは非マスク領域に設定されるアドレスごとにOUTデータを一括して前記スレーブへ転送し、前記スレーブは自局に設定された送信タイミングにINデータを返送するようにしたフィールドバスシステムおける前記スレーブの接続確認方法である。そして、前記マスタは、前記スレーブの送信を許可するノードアドレスの複数のビットデータのうち非マスク領域に設定されるアドレスごとに、マスクされたビット数に応じた1回の通信サイクルで応答するスレーブの数を求め、前記マスクされた領域のアドレス情報に基づいて送信対象のスレーブの送信順と、前記送信タイミングを決定し、対応するスレーブにその決定した送信タイミングを設定し、前記マスクした状態でノードアドレスを指定して接続確認フレームの送信要求を発行する。そして、前記フィールドバスを介して前記送信要求を受信した前記スレーブは、前記指定されたノードアドレスと自己のノードアドレスを比較し、前記マスクした部分以外のビットデータが一致した場合に、自己のノードアドレスを含む接続確認フレームを前記マスタに向けて送信する。さらに、前記マスタは、前記スレーブからの接続確認フレームを受信することにより、そのスレーブが存在することを認識するようにした。
【0018】
また、上記した接続方法の発明を実施するのに適した本発明に係るフィールドバスシステムは、マスタと複数のスレーブが、フィールドバスに接続され、前記マスタからは非マスク領域に設定されるアドレスごとにOUTデータを一括して前記スレーブへ転送し、前記スレーブは自局に設定された送信タイミングにINデータを返送するようにしたフィールドバスシステムである。そして、前記マスタは、前記スレーブの送信を許可するノードアドレスの複数のビットデータのうち非マスク領域に設定されるアドレスごとに、マスクされたビット数に応じた1回の通信サイクルで応答するスレーブの数を求め、前記マスクされた領域のアドレス情報に基づいて送信対象のスレーブの送信順と、前記送信タイミングを決定し、対応するスレーブにその決定した送信タイミングを設定する手段と、前記マスクした状態でノードアドレスを指定して接続確認フレームの送信要求を発行する手段と、その送信要求に対応したスレーブからの接続確認フレームを受信した場合に、そのスレーブが存在すると判断する手段とを備え、前記スレーブは、前記フィールドバスを介して前記送信要求を受信した際に、前記指定されたノードアドレスと自己のノードアドレスを比較し、前記マスクした部分以外のビットデータが一致した場合に、自己が指定されたと判断し、自己のノードアドレスを含む接続確認フレームを前記マスタに向けて送信する手段を備えるようにした。
【0019】
さらに、上記した発明を実施するのに適した本発明にかかるマスタは、マスタから非マスク領域に設定されるアドレスごとにOUTデータを一括してスレーブへ転送し、前記スレーブでは自局に設定された送信タイミングにINデータを返送するようにしたフィールドバスシステムに接続するためのマスタであって、前記スレーブの送信を許可するノードアドレスの複数のビットデータのうち非マスク領域に設定されるアドレスごとに、マスクされたビット数に応じた1回の通信サイクルで応答するスレーブの数を求め、前記マスクされた領域のアドレス情報に基づいて送信対象のスレーブの送信順と、前記送信タイミングを決定し、対応するスレーブにその決定した送信タイミングを設定する手段と、前記マスクした状態で指定して接続確認フレームの送信要求を発行する手段と、その送信要求に対応したスレーブからの接続確認フレームを受信した場合に、そのスレーブが存在すると判断する手段とを備えるようにした。
【0021】
この発明によれば、マスタがノードアドレスを指定して接続確認の送信要求を出力(実施の形態では、OUT_frameといっしょに送信)し、その指定したノードアドレスを有するスレーブから接続確認フレーム(CN_frame)が返送されてくると、そのノードアドレスのスレーブが存在すると認識できる。このとき、各スレーブは、ノードアドレスを指定するに際し、所定ビットをマスクし、そのマスクされていない部分のアドレス情報のみを比較し、一致/不一致を判断する。従って、1つのビットをマスクすると、2つのノードアドレスが該当し、2つのビットをマスクすると、4つのノードアドレスが該当する。これにより、1つのノードアドレスで複数のノードアドレスを指定したのと同等の効果が得られる。
【0022】
よって、1回の通信で複数のスレーブから接続確認フレームを得ることができる。なお、マスクする位置は、実施の形態では下位nビットとしたが、本発明ではそれに限ることはなくどこでも良い。ただし、下位nビットとすると、有効な上位ビットが連続するとともに、その有効な上位ビットの値を1ずつ増加していくことにより全てのノードアドレスのチェックが行えるので、アドレスの設定がハードウェア処理にて可能となるので、高速かつ簡単に行えるため好ましい。
【0023】
また、マスクする領域は、予め決定しておき、各機器(マスタ,スレーブ)に設定するようにしても良いし、接続されるノード数等に応じて変更するためには、例えばマスタとして、前記マスクする領域を前記スレーブに通知する手段を備え、スレーブとしては、その通知に基づいてマスク位置を記憶し、接続確認の送信要求を受信した際に、前記記憶したマスク位置に基づいて自己宛か否かを判断すると良い。
【0026】
本発明によれば、1回の通信サイクルで複数のスレーブから接続確認フレームが出力される。従って、各スレーブが勝手に送信すると衝突を発生し、効率よくマスタユニットに伝送することができない。そこで、マスクした部分のアドレス情報に基づいて各スレーブごとに送信タイミングを適切に設定すると、衝突を生じることなくスムーズに送信することができる。
【0027】
【発明の実施の形態】
図2は、本発明の好適な一実施の形態を実現するシステム全体を示している。図2に示すように、PLC10は、CPUユニット11やマスタユニット12などの各機能ごとに生成されたユニットを連結することにより構成されている。その各ユニットはPLCバス(内部バスとも言う。図示せず)につながれていて、PLCの各ユニット間でバス通信をしてデータ通信ができるようになっている。そして、このマスタユニット12にはフィールドバス30が接続され、そのフィールドバス30に複数台の各スレーブ20がマルチドロップ接続によってつながれていて、マスタユニットと各スレーブとの間で通信が行われるうようになっている。さらに、マスタユニット12は、PLC10の内部バスを介してCPUユニット11内のIOメモリにアクセスし、IOデータ等の読み書きを行うようになっている。もう少し説明すると、マスタユニット12がスレーブ20の接続端子につながれた入力機器からの入力信号(オン/オフ状態)をフィールドバス通信によって取り込んで、マスタユニット12が取り込んだ入力信号(入力データ)を内部バス通信によってCPUユニット11に送信し、CPUユニット11が入力信号を受け取る。CPUユニット11は、その入力信号に基づいてユーザプログラムによって予め定められた論理演算をし、その演算結果を含んだ出力信号(出力データ)を内部バスを介してマスタユニット12に送信する。マスタユニットはその出力信号をフィールドバス通信によってスレーブに送信する。各ユニットでは受信した出力信号を接続端子に接続された出力機器に対して出力する。なお、入力信号と出力信号をあわせてI/Oデータと呼ぶことがある。つまり、INデータは入力機器からスレーブへ、スレーブからマスタユニットへ、マスタユニットからCPUユニットへと伝わる。また、OUTデータはCPUユニットからマスタユニットへ、マスタユニットからスレーブへ、スレーブから出力機器へと伝わる。
【0028】
マスタユニット12の構成は、図3に示すように、フィールドバスに接続され、実際にデータの送受を行う通信インタフェース12aと、その通信インタフェース12aを介してマスタ−スレーブ間通信をし、スレーブ20との間でI/Oデータの送受を行ったり、所定のコマンドの送信並びにそれに基づくレスポンスの受信を行うマスタ用ASIC12bと、各種の制御を行うMPU12dと、各種の制御実行時にワークエリア等として使用されるRAM12cと、上記制御を行うプログラムや、各種の設定データ等が格納されたEEPROM12eと、CPUユニットなどと内部バス通信を行うためのインタフェース12hと、動作状態(通信状態)や異常/正常などを示すLED表示部12f並びにアドレスの設定などを行うための設定スイッチ12gを備えている。
【0029】
MPU12dが行う制御としては、CPUユニット11その他のユニット等と通信したり、マスタ用ASIC12bを動作させたりするようになっている。特に本発明との関係でいうと、フィールドバス30に接続されたスレーブ20と通信をし、二重アドレスが発生していないかをチェックするようになっている。具体的な処理機能は後述する。
【0030】
スレーブ20は、図4に示すように、フィールドバスに接続され、実際にマスタユニット12との間でI/Oデータや各種メッセージ等の送受を行う通信インタフェース20aと、その通信インタフェース20aを介して取得したマスタ−スレーブ間通信をし、I/Oデータの送受を行ったり、マスタユニット12からの所定のコマンドの受信並びにそれに基づくレスポンスの送信を行うスレーブ用ASIC20bと、各種の制御を行うMPU20dと、上記制御を行うプログラムや、各種の設定データ,IOデータ等が格納されたEEPROM20eと、端子台の構造となっていて入力機器または出力機器の配線を接続してI/Oデータの送受を行うI/O部20jと、動作状態(通信状態)や異常/正常などを示すLED表示部20f並びにノードアドレスの設定などを行うための設定スイッチ20gを備えている。さらに、入力電圧(24V)を5Vに降圧し、スレーブ20内の各素子に電源供給する電源部20iを備えている。なお、スレーブには3種類あって、それぞれ入力スレーブ、出力スレーブ、入出力スレーブがある。例えば入力スレーブは、入力機器を接続するのみであり、INデータを格納しINデータを送信する構成となっている。この実施形態においては、入出力スレーブを例に挙げて説明する。
【0031】
次に、本発明の要部となる通信プロトコルについて説明する。まず、上記したマスタユニット12並びにスレーブ20が発行するコマンドは、以下のようになっている。図5に示すように、本プロトコルの通信サイクルの開始タイミングはマスタ局であるマスタユニット12が管理する。そして、通信サイクルはOUT_frameから始まり,CN_frame,EVE_frame,IN_frameとつづく。マスタユニットと各スレーブとの間の通信サイクルの開始タイミングは、OUT_frameの正常受信完了をもって合わせられる。つまり通信同期のタイミングをOUT_frameの正常受信完了タイミングとしているわけである。そして、それにつづくCN_frame,EVE_frame,IN_frameのそれぞれのフレーム内容(通信データサイズ、通信タイミング、通信サイクルなど)は常に固定になっているので、各フレームの送信タイミングは、OUT_frameの正常受信完了を開始タイミングとして予め定められた時間監視により行う。
【0032】
ここで、OUT_frameは、マスタユニット12からスレーブ20へのOUTデータ転送用フレームであって、このOUT_frameに各スレーブに対して送信するOUTデータが含まれている。また受信する側の各スレーブ20にとっては、このOUT_frameが通信サイクルの開始を表すフレームとなる。つまり、各スレーブ20はこのOUT_frameの受信完了時点から計時を開始すべく内部カウンタを起動(タイマ起動)し、予め設定したそれぞれの送信タイミングで所定のフレームをマスタユニット12に対して送信する。
【0033】
そして、OUT_frameのデータ構造は、図6に示すようになっている。すなわち、OUT_frameは、「フレームヘッダ」と、マスタユニット12から所定のスレーブ(OUTスレーブ)20へ送る出力データである「OUTデータ」と、フレームチェックシーケンスである「CRC」からなる。
【0034】
さらに、フレームヘッダは、フレームの開始を示す「スタート」と、フレームの識別コード(プロトコル制御コード)を示す「コマンド」と、接続確認フレーム(CN_frame)を送信許可するノードアドレスを登録する「CN_frame送信要求アドレス」と、イベントフレーム(EVE_frame)を送信許可するノードアドレスを登録する「EVENT送信許可アドレス」と、各スレーブでのOUTデータ位置とINフレーム送出位置の登録バージョンを登録する「ドメインバージョン」と、OUTデータのデータ長を登録する「レングス」とを備えている。
【0035】
さらに、「OUTデータ」は、複数のブロック(#0から#n)から構成される。一例としては、図7に示すようにWORD単位で定義することができる。なお、1つのブロックの任意ビット(図では16ビット分)のOUTデータが、1つのOUTスレーブに対応している。しかしこれに限っていなく、例えばOUTスレーブがもっと多くの出力データ(例えば32ビット)を扱う多点スレーブの場合には、複数(例えば2個)のブロックを1つのOUTブロックに割り当てることもある。そして、係る割り当ては、マスタユニット12が行う。つまり、マスタは、各OUTスレーブ宛のOUTデータをOUT_frameのどこにどれだけの点数を割り付けるかの管理を行っており、通常スレーブ用のOUTデータは、OUT_frameの任意の場所に割り付けることができる。そしてOUTスレーブのそれぞれは自局が受け取るOUTデータの割り当場所を記憶している。
【0036】
そして、係る割り当てに基づきマスタユニット12とスレーブ20(OUTスレーブ)との間で、以下に示す手順によりOUTデータ転送が実行される。換言すると、マスタユニット12のMPU12dや、スレーブ20のMPU20dが、係る処理を実行する機能を有する。この点は、以下に示すその他のフレーム転送においても同様である。
【0037】
まず、Bus Configurationで送信バッファの各データ(Word単位)とOUT_frameでの位置の対応テーブルを作成する。つまり、どのOUTスレーブ用のOUTデータをどのブロックに格納して送信するかの関係を特定する。これは、例えば各OUTスレーブのステータス(通常,多点,少点数)を取得しておくことにより、各スレーブで必要なブロック数がわかるので、ノードアドレス順に先頭からその必要なブロック数分だけ順次割り当てることにより対応テーブルを作成できる。
【0038】
次いで、マスタユニット12は、送信起動により上記対応テーブルに従ってOUT_frameを作成し、送信する。これにより、OUT_frameは、フィールドバス30を介して各スレーブ20に伝達される。
【0039】
各スレーブ20は、OUT_frameを正常受信すると、OUTデータ中のマスタが設定したOUTデータ開始エリア(マスタが設定)から自局のOUTデータサイズ(外部端子モード設定により決まる)だけのデータを取り出し、受信バッファに格納する。そしてMPU20dとASIC20bとの動作により、取り込んだOUTデータをI/Oバッファに転送し、自局の接続端子を介して接続された出力機器に対してOUTデータを出力することで、OUTデータリフレッシュが行われる。
【0040】
図5中のIN_frameは、スレーブ(INスレーブ)20からマスタユニット12へのINデータ転送用フレームである。どのスレーブがいつ、どれだけのデータサイズのIN_frameを転送するかは、Bus Configuration時にマスタユニット12が設定する。
【0041】
このIN_frameのデータ構造は、図8に示すようになっている。ここで、「スタート」はフレームの開始を示すもので、「コマンド」はフレーム識別コード,プロトコル制御コードであり、「宛先アドレス」はこのフレームに格納されたINデータを送信する宛先アドレスであり、「送信元アドレス」はこのINデータを送信したノード(INスレーブ)に設定された送信元アドレスであり、「レングス」は送信するINデータのデータ長であり、「INデータ」は送信する内容であるINデータであり、「CRC」はフレームチェックシーケンスである。
【0042】
そして、このIN_frameを用いたINデータの転送は、まずマスタユニット12が、各INスレーブ20が送信するIN_frameがOUT_frame以降のどの時間帯に送信され、どれだけのフレーム長(点数)を持っているかの管理を行っている。そして、IN_frame受信時、マスタユニット12は、IN_frameのフレームヘッダにある送信元アドレスによって、どのスレーブからのINデータかを判別する。なお、各スレーブ20でのINデータのラッチ(INリフレッシュ)は、OUT_frameの正常受信直後としている。INリフレッシュとは、スレーブ20の接続端子につながれた入力機器のON/OFF状態をI/Oバッファに取り込む動作をいう。従って、全ノードのINデータの同時性を保証することが出来る。なお、取り込んだINデータは、送信バッファに送られIN_frameによってマスタユニット12へと送られる。結局、各スレーブでOUT_frameを正常受信完了すると、タイマ起動をするとともに、OUTスレーブの場合にはOUTリフレッシュを始め、いっぽうINスレーブの場合にはINリフレッシュを始め、IN/OUTスレーブの場合はINリフレッシュおよびOUTリフレッシュを行う。
【0043】
そして、具体的には、マスタユニット12とスレーブ20(OUTスレーブ)との間で、以下に示す手順によりINデータ転送が実行される。すなわち、まずマスタユニット12が、送信起動によりOUT_frameを作成し、送信する。
【0044】
各INスレーブ20は、OUT_frameを正常受信したならば、IN_frameタイムドメインのためのタイマを起動する。また、正常受信した時の自局のINデータを内部バッファに取り込む。そして、IN_frameタイムドメインを待って、内部バッファに格納しておいた自局のINデータをIN_frameに乗せて送信する。
【0045】
つまりIN_frameタイムドメインは、Bus Configuration時にマスタユニットが設定したOUT_frame受信してから各スレーブがIN_frameを送信するまでの経過時間であり、各スレーブごとに設定される。従って、各スレーブは、OUT_frameの正常受信に伴い同時にタイマ(カウンタ)を起動させ、それぞれ設定された所定の時間が経過した際に、IN_frameを送信することになる。従って、各スレーブに設定するタイムドメインを、フレーム長にあわせて適宜に設定することにより、各IN_frameは、衝突することなく送信することができる。
【0046】
一方、受信側(マスタユニット12)は、CRCチェックを正常に行えたならばIN_frameを正常受信する。そして、送信元アドレスをチェックし、フレームに格納されたINデータを受信バッファに格納する。
【0047】
EVE_frameは、通信サイクル中のメッセージデータ転送フレームである。いつどのノードが転送するかはマスタが決定し、OUT_frame中のEVENT送信許可アドレスに格納するノードアドレスで通知する。このEVE_frameはコマンドフレームとレスポンスフレームの2フレームで1セットとなる。
【0048】
このフレームのデータ構造は、図9に示すようになっている。ここで、「スタート」はフレームの開始を示すもので、「コマンド」はフレーム識別コード,プロトコル制御コードであり、「宛先アドレス」はこのイベントデータを送信する宛先アドレスであり、「送信元アドレス」はこのイベントデータを送信したノードに設定された送信元アドレスであり、「レングス」は送信するイベントデータのデータ長であり、「イベントデータ」は送信する内容であるイベントデータであり、「CRC」はフレームチェックシーケンスである。
【0049】
そして、イベント転送の用途としては、ステータス読み出しと書き込みのためのイベントデータ転送(マスタユニット12からスレーブ20宛)と、アプリケーションが使用するイベントデータ転送がある。
【0050】
具体的には、マスタユニット12とスレーブ20(OUTスレーブ)との間で、以下に示す手順によりイベントデータ転送が実行される。すなわち、マスタユニット12のファームウェアが、1つの通信サイクル内でどのノードがEVE_frameを送信するかを、毎サイクルごとに決定(設定)する。
【0051】
そこで、マスタユニット12が通信サイクル内でイベントデータ転送を行う場合には、まず、マスタユニット12が送信するタイミングでOUT_frameのイベント送信許可アドレスに自局ノードアドレスをのせて送信する。このOUT_frameを正常受信したスレーブ20は、イベント送信許可アドレスが自局でないので、EVE_frameは送信しない。そして、マスタユニット12は、上記したOUT_frameのイベント送信許可アドレスでマスタユニット12のアドレスが指定されているため、OUT_frame送信後、EVE_frameタイムドメインとなったらEVE_frameを送信する。一方、イベント送信許可アドレスにスレーブのアドレスを設定すると、所定のタイミングで該当するスレーブからEVE_frameが返送されてくる。
【0052】
CN_frameは、ネットワークに接続されているかどうかを確認するための接続確認用フレームである。すなわち、OUT_frame中のCN_frame送信要求アドレスで指定されたスレーブが、レスポンスして返送するフレームであり、図10に示すようなデータ構造をとっている。ここで、「スタート」はフレームの開始を示すもので、「コマンド」はフレーム識別コード,プロトコル制御コードであり、「送信元アドレス」はこのCN_frameを送信したスレーブに設定された送信元アドレスであり、「CRC」はフレームチェックシーケンスである。そして、「コマンド」には、加入ステータス状態のどれかを特定する2ビットのコードが格納される。ここで、加入ステータス状態とは、「加入済みスレーブ」と「未加入スレーブ」がある。さらに「二重アドレスで待機中」を加えることもできる。
【0053】
次に、Bus Configurationについて説明する。この処理は、ネットワーク初期化時に行うもので、図11に示すフローチャートを実行する。すなわち、マスタユニット12は、ネットワークに存在しうる全てのスレーブに対し、ステータス読み出しコマンド送信する(ST1)。つまり、マスタユニット12はイベントフレーム(EVE_frame)を用いて、各スレーブが持つステータス情報を読み出す。
【0054】
そして、ステップ1で応答のあったスレーブがフィールドバス(ネットワーク)に実際に接続されているスレーブとして認識する(ST2)。これにより、マスタユニットはバスの構成情報を作成する。そして、ステップ2で応答のあったスレーブの属性(in,out,点数など)を記録する(ST3)。
【0055】
次に、全てのINフレーム長を確定し、OUT_frame以降に、どのノードがいつIN_frameを送信すべきかを算出する(ST4)。すなわち、ステップ3で記憶した各スレーブの属性に基づき、INスレーブの点数等を取得する。これにより、各INスレーブのIN_frameのフレーム長を求めることができる。そして、IN_fraemを送信するINスレーブの送信順番(例えば、接続されたスレーブのノードアドレスの小さい順)を決めると、フレーム長から各IN_frameの送信に要する時間がわかるので、それに一定マージンを付加することにより、OUT_fraemを受信してから各INスレーブが送信開示するまでの待機時間(IN_frameタイムドメイン)を算出することができる。
【0056】
そして、ステップ2で応答のあったノード全てに対し、ステータス書き込みコマンドを送信する(ST5)。その際、スレーブ毎に、ステップ4で算出した値を元にIN_frameタイムドメインを書き込む。つまり、このスレーブ20のレジスタに、IN_frameタイムドメインが設定される。このIn_frameタイムドメインは、タイマ値(カウンタ値)である。そして、実際のIO情報の送受に際しては、各スレーブは、OUT_frameを正常受信後タイマ(カウンタ)を起動し、そのタイマ値がレジスタに登録した値に一致すると、自己のIn_frameの送信タイミングに来たと判断し、送信処理をする。これにより、各スレーブからのIN_frameが衝突することなく適宜のタイミングで送信されることになる。
【0057】
また、マスタユニット12からのネットワーク加入許可をセットすることで、スレーブ20はネットワークへ加入状態となる。そして、加入ステータス状態とは、「加入済みスレーブ」にセットされる。
【0058】
一方、スレーブは、マスタユニット12からのステータス情報の読み出し、書き込みが終了するまでIOリフレッシュを実行しない。具体的には、INデータについては、スレーブ20のステータス情報/INデータリフレッシュ許可がアサートされた時点でリフレッシュを開始し、IN_frameを送出することが出来るようになる。また、OUTデータについては、OUT_frame中のOUTデータのリフレッシュ許可フラグによって、スレーブでのOUTデータのリフレッシュ開始が許可される。
【0059】
上記したように接続構成を認識し、通常の通信サイクルを実行してIOデータの送受を行う。このとき、マスタユニット12は、適宜のタイミングで、ネットワークの状態(加入ステータスの変更の有無等)を監視することができる。すなわち、マスタユニット12は、▲1▼加入済みのスレーブが接続し続けているか、▲2▼新たなスレーブが接続されていないか等を監視する。これが本発明で言う接続確認である。上記各確認の概略を説明すると、以下のようになっている(もちろん、▲1▼,▲2▼のように加入ステータスで分けて確認をしなくても良い)。
【0060】
▲1▼加入済みのノードが接続し続けているか
マスタユニット12から加入済みスレーブに対してだけに、加入済みスレーブに対する要求モードによる定期的なポーリング(OUT_frameにて)をかける。ポーリングを受けた加入済みのスレーブはCN_frame(加入済みステータスを付加)をマスタに向け返送する。これにより、加入済みのノードが接続し続けているかを判定する。
【0061】
▲2▼新たなノードが接続されていないか
電源立ち後れなどで初期時にネットワークに加入できなかったスレーブが後から加入することがある。従って、マスタユニット12から全スレーブに向け、未加入スレーブに対する要求モードによる定期的なポーリング(OUT_frameにて)をかける。ポーリングを受けたスレーブ(加入ステータスが「未加入スレーブ」)は、CN_frame(未加入ステータスを付加)をマスタに向け返送する。
【0062】
ここで本発明では、上記した接続確認処理を実行するに際し、CN_frame送信要求アドレスを1つ指定するにより複数のスレーブからCN_frameの返送を受けることができるようにした。つまり、CN_frame送信要求アドレスにて、2または4または8ノードまとめてCN_frameを要求可能とした。
【0063】
まず、本実施の形態では、OUT_frame中の接続確認フレーム(CN_frame)送信要求アドレスを設定するに際し、下位のnビット分をマスクするようにした。すなわち、まずマスタユニット12側の接続確認フレーム送信要求アドレスレジスタは、図12に示すようなデータ構造となる。このレジスタに格納された値が、OUT_frameの接続確認フレーム(CN_frame)送信要求アドレスに設定される。CN_frame送信要求アドレス[7:0]には、CN_frameの送信を要求するスレーブのアドレスが格納される。
【0064】
そして、マスクする下位ビットの指定は、CN_frameの要求アドレスの下位bitマスクレジスタ[2:0]を用いて行う。すなわち、「000」の場合には、マスクをかけず、「001」は下位1ビットをマスクし、「011」は下位2ビットをマスクし、「111」は下位3ビットをマスクする。
【0065】
換言すると、CN_frameの要求アドレスの下位bitマスクレジスタの値が「000」とすると、CN_frame送信要求アドレスで示したスレーブ宛となる。これが、従来からある通常の指定方法である。そして、マスクレジスタの値が「001」にすると、下位1ビットがマスクされるので、下位1ビットは、「0」,「1」のいずれも該当するため、上位7ビットと一致するスレーブ宛となる。同様に、「011」の場合には、下位2ビットは「00」,「01」,「10」,「11」のいずれも該当するため、上位6ビットと一致するスレーブ宛となる。さらに、「111」の場合には、下位3ビットは「000」,「001」,「010」,「011」,「100」,「101」,「110」,「111」のいずれも該当し、上位5ビットと一致するスレーブ宛となる。
【0066】
そして、一例を示すと図14のようになる。つまり、CN_frame送信要求アドレスが「00011000」(#24)を指定している場合に、下位bitマスクが「000」の場合には、ノードアドレス#24のみが宛先となるが、下位bitマスクが「001」の場合には、ノードアドレス#24,#25の2つが宛先となる。また、下位bitマスクが「011」の場合には、ノードアドレス#24〜#27の4つが宛先となる。さらに、下位bitマスクが「111」の場合には、ノードアドレス#24〜#31の8つが宛先となる。このように、アドレスを1つ指定するだけで、複数の宛先を指定したのと同様の効果を奏することができる。
【0067】
また、上記したアドレスの指定を行うことにより、複数のスレーブ20からCN_frameが返送されてくるため、マスタユニット12は、どのアドレスのスレーブ20が送られてきたかを判断し、記憶保持する必要がある。そこで、本実施の形態では、図15に示すように、CN_frame受信チェックレジスタ[7:0]を設け、受信したCN_frameのアドレスに基づき、対応するレジスタのフラグをONにする。つまり、受信したCN_frameのノードアドレスが、接続確認フレーム送信要求アドレスのマスクされない上位ビットが一致することを条件とし、さらにマスクした下位ビットの値に応じて所定のアドレスをONにするもので、具体的には以下の通りである。
【0068】
すなわち、下位ビットマスクが「000」の場合には、CN_frame送信要求アドレス(9ビット)と一致した場合に、CN_frame受信チェックレジスタ[0]を「1」にし、それ以外のCN_frame受信チェックレジスタ[1]〜[7]は使用しない。また、下位ビットマスクが「001」の場合には、CN_frame送信要求アドレスの上位8ビットと一致することを条件とし、さらに、下位1ビットが「0」の場合に、CN_frame受信チェックレジスタ[0]を「1」にし、下位ビットが「1」の場合にCN_frame受信チェックレジスタ[1]を「1」にする。そして、それ以外のCN_frame受信チェックレジスタ[2]〜[7]は使用しない。
【0069】
また、下位ビットマスクが「011」の場合には、CN_frame送信要求アドレスの上位7ビットと一致することを条件とし、さらに、下位2ビットが「00」の場合に、CN_frame受信チェックレジスタ[0]を「1」にし、下位2ビットが「01」の場合にCN_frame受信チェックレジスタ[1]を「1」に、下位2ビットが「10」の場合に、CN_frame受信チェックレジスタ[2]を「1」にし、下位ビットが「11」の場合にCN_frame受信チェックレジスタ[3]を「1」にする。そして、それ以外のCN_frame受信チェックレジスタ[4]〜[7]は使用しない。
【0070】
また、下位ビットマスクが「111」の場合には、CN_frame送信要求アドレスの上位6ビットと一致することを条件とし、さらに、下位3ビットが「000」の場合に、CN_frame受信チェックレジスタ[0]を「1」にし、下位3ビットが「001」の場合にCN_frame受信チェックレジスタ[1]を「1」にし、下位3ビットが「010」の場合に、CN_frame受信チェックレジスタ[2]を「1」にし、下位3ビットが「011」の場合にCN_frame受信チェックレジスタ[3]を「1」に、下位3ビットが「100」の場合に、CN_frame受信チェックレジスタ[4]を「1」にし、下位3ビットが「101」の場合に、CN_frame受信チェックレジスタ[5]を「1」にし、下位3ビットが「110」の場合にCN_frame受信チェックレジスタ[6]を「1」にし、下位3ビットが「111」の場合に、CN_frame受信チェックレジスタ[7]を「1」にする。
【0071】
これにより、マスタユニット12は、OUT_frameのCN_frame要求アドレスで指定したアドレス値と、CN_frame受信チェックアドレスの状態から、フィールドバスに接続された正常なスレーブのノードを認識できる。つまり、CN_frameチェックレジスタが「1」の場合には、該当するアドレスのノードが存在し、「0」ならば存在しないと判断できる。
【0072】
一方、スレーブ20には、例えば図16に示すようなCN_frame制御レジスタを設けている。このレジスタは、マスタユニット12のCN_frame送信要求アドレスの下位ビットマスタレジスタと同様の値が設定される。この設定は、マスタユニット12がステータス書き込みコマンドを発行するにより行うことができる。
【0073】
そして、OUT_frameを受信した各スレーブは、取得したCN_frameの要求アドレスと自局アドレスとを比較し、マスク部分以外の上位ビットの値が一致した場合には、自己宛と判断し、Cn_frameを送信する。これにより、下位ビットマスクが「000」以外の場合には、複数のノードから送信される。
【0074】
そこで、各スレーブ20には、図17に示すようなレジスタを用意し、そのレジスタにステータス書き込みコマンドによりCN_frameタイムドメインを設定する。このCN_frameタイムドメインは、図18に示すようにOUT_frameを受信してから、自己のCN_frameを送信するまでの時間であり、MARKシンボル単位で設定する。CN_fraemのフレーム長から、1つのCN_frameの送信時間が求められるので、各スレーブからのCN_frameが衝突しないように時間差を設けて送信するようにCN_frameタイムドメインを設定する。一例を示すと、1番目に発するスレーブ20のCN_frameタイムドメインは、h‘0000にし、2番目はh‘00D7にし、3番目はh‘01A7にし、4番目はh‘0277にし、5番目はh‘0347にし、6番目はh‘0417にし、7番目はh‘04E7にし、8番目はh‘05B7をセットすることができる。
【0075】
そして、本実施の形態では、下位3ビットをマスクした場合に8個のCN_fraemが送信されるため、上記8個の各値をノードアドレスの小さい順に設定することにより、適切なタイミングでCN_fraemを送信することができる。また、下位2ビットをマスクした場合には、上記したCN_frameタイムドメインの1番目から4番目の各値をノードアドレスの小さい順に設定することになる。下位1ビットをマスクした場合には、上記したCN_frameタイムドメインの1番目と2番目の各値をノードアドレスの小さい順に設定することになる。
【0076】
次に上記した接続確認を行うためのマスタユニット12並びにスレーブ20の処理機能を説明する。図19はマスタユニット12の機能であり、図20はスレーブ20の機能である。この例では、加入スレーブはノードアドレス#0から#63までの64台あるものとした。
【0077】
ネットワークに加入している全てのスレーブに対し、CN_frame要求アドレスの下位bitマスク設定[1:0]の値をEVE_frameにて書き込み要求する(ST11)。例えば、「7H」(111)を書き込む。また、スレーブのCN_frameタイムドメイン[7:0]についても同様に書き込む。つまり、例えば下位bitマスクに111を設定した場合には、下位3ビットが、「000」のノードアドレスを持つスレーブのCN_frameタイムドメインは、「h‘0000」をセットする。同様に、「001」は「h‘00D7」,「010」は「h‘01A7」,「011」は「h‘0277」,「100」は「h‘0347」,「101」は「h‘0417」,「110」は「h‘04E7」,「111」は「h‘05B7」をセットする。
【0078】
次に、CN_frame要求アドレスの下位bitマスク[2:0]に、スレーブにセットしたのと同じ値(例えば7H)をセットする(ST12)。これにより、スレーブとマスタユニットにおけるマスクする下位のビット数の設定が一致する。
【0079】
そして、N=0にするとともに(ST13)、CN_frame送信要求アドレス中の非マスク領域にNをセットし、OUT_frameを送信する(ST14)。この例では、下位3ビットをマスクするとともに、ノードアドレスは全体で9ビット(図14等参照)としたため、上位7ビットをNにセットする。これにより、#0がセットされる。また、マスクの効果により、#0から#7を指定することになる。
【0080】
上記指定した8個分のノードアドレスに該当するスレーブから順次CN_frameが返送されてくるので、それを受信するとともに、CN_frame受信チェックレジスタの所定アドレスのフラグを立てる(1にする)。そして、そのCN_frame受信レジスタの状態をチェックする(ST15)。これにより、CN_framを送ってきたノードアドレスを認識し、接続されたスレーブを認識することができる。
【0081】
そして、Nが8以上か否かを判断し(ST16)、8未満の場合にはNを1インクリメントして(ST17)ステップ14に戻り、新たにCN_frame送信要求アドレスをセットしOUT_frameを送信する。Nが8になるまでステップ4から7を繰り返し実行する。これにより、#0から#63までのアドレスに対して接続の有無の確認をすることができる。
【0082】
なお、上記した例では、下位3ビットをマスクするとともに、ノード数が64台としたため、Nを8に設定したが、本発明はこれに限ることはなく、ノード数やマスクするビット数に合わせてNを設定することになる。
【0083】
一方、スレーブ20側の処理としては、図20に示すように、OUT_frameを受信すると、フレーム中の接続確認フレーム送信要求アドレスをチェックする(ST21)。次いで、CN_frame要求アドレスの下位bitマスク設定[1:0]の値をチェックする(ST22)。そして、自局がCN_frameを送信するべきかどうか判断する(ST23)。つまりマスクされていない上位ビットのアドレスが、自局アドレスと一致しているか否かを判断する。そして、一致していない場合には、次の受信を待ち、一致した場合には、CN_frameを送信する(ST24)。
【0084】
なお、スレーブのステータス情報には加入ステータスが格納されているため、OUT_frameは、前回までに加入していたもの(加入済みスレーブのみが対象)としても良いし、前回まで未加入のものも含めても良い。加入ステータスを分ける場合には、未加入スレーブに対する問い合わせも適宜のタイミングを行うことになる。このように加入ステータスごとに分けることにより、例えば、加入済みと未加入のスレーブで、同一のアドレスが存在する場合には、二重アドレスの発生を検知することができ、未加入スレーブの加入を抑止することができる。また、二重アドレス発生と判断した場合は、該当するノードアドレスの未加入スレーブに対しては、加入ステータスを二重アドレスにより待機中に変更し、ノードアドレスを変更しない限りネットワークに接続できないようにすると良い。もちろん、本発明では、そのように加入ステータスと未加入ステータスの区別をしなくてもよい。
【0085】
さらにまた、図19に示す処理は、NがMAX(図示の場合には8)になって一度処理が終了し、その次の接続確認処理をステップ1から再度実行するようにすると、未加入スレーブに対しても、ステップ1の処理を実行することによりマスクが設定されるのでよいが、マスクの設定をシステムの立ち上げ(電源投入)時に行うようにすると、その後に追加されたスレーブはマスクがされないので、マスクされた下位ビットが全て0になるアドレス以外のスレーブは応答することができなくなる。その場合には、適当なタイミングで、EVE_frameにて加入ステータスが未加入スレーブのものに対してCN_frameの応答を要求することにより、追加されたスレーブを確認できる。そして、応答があったアドレスに対してマスクの設定を行うことにより、それ以降は、上記したマスクを利用した複数スレーブに対するCN_frameの要求に対応することができるようになる。
【0086】
なお、上記した説明では、このCN_frameタイムドメインの決定や、マスクするエリアの決定は、マスタユニットで行うようにしたが、ツールを用いて算出し、そのツールで算出した値をマスタユニット12にダウンロードし、マスタユニット12はそのダウンロードした値に基づいて、各スレーブに対してステータス書き込みを行うようにしても良い。
【0087】
【発明の効果】
以上のように、この発明では、ノードアドレスの一部をマスクすることにより、1つのアドレス指定で複数のアドレスを指定したのと同等の効果が得られ、1回の通信サイクルで複数のスレーブから接続確認フレームを受信できる。そのため、接続されるノード数が多くなってもスレーブの接続状況確認を容易かつ高速に行うことができる。
【図面の簡単な説明】
【図1】従来例を示す図である。
【図2】本実施の形態のフィールドバスシステムの一例を示す図である。
【図3】マスタユニットの内部構造を示すブロック図である。
【図4】スレーブの内部構造を示すブロック図である。
【図5】通信サイクルにおいて送受されるフレームを示す図である。
【図6】OUT_frameのデータ構造を示す図である。
【図7】OUTデータの内部構造の一例を示す図である。
【図8】IN_frameのデータ構造を示す図である。
【図9】EVE_frameのデータ構造を示す図である。
【図10】CN_frameのデータ構造を示す図である。
【図11】Bus Configurationを説明するフローチャートである。
【図12】CN_frame送信要求アドレスを示す図である。
【図13】CN_frame要求アドレスの下位bitマスタのデータ構造を示す図である。
【図14】マスク状況と、宛先ノードの関係を示す図である。
【図15】CN_frame受信チェックレジスタのデータ構造を示す図である。
【図16】CN_frame制御レジスタのデータ構造の一例を示す図である。
【図17】CN_frameタイムドメインを格納するレジスタのデータ構造を示す図である。
【図18】CN_frameの送信タイミングを示す図である。
【図19】マスタの機能を説明するフローチャートである。
【図20】スレーブの機能を説明するフローチャートである。
【符号の説明】
10 PLC
11 CPUユニット
12 マスタユニット
12a 通信インタフェース
12b マスタ用ASIC
12c RAM
12d MPU
12e EEPROM
12f LED表示部
12g 設定スイッチ
12h インタフェース
20 スレーブ
20a 通信インタフェース
20b スレーブ用ASIC
20d MPU
20e EEPROM
20f LED表示部
20g 設定スイッチ
20i 電源部
20j I/O部
30 フィールドバス

Claims (4)

  1. マスタと、複数のスレーブが、フィールドバスに接続され、前記マスタからは非マスク領域に設定されるアドレスごとにOUTデータを一括して前記スレーブへ転送し、前記スレーブは自局に設定された送信タイミングにINデータを返送するようにしたフィールドバスシステムおける前記スレーブの接続確認方法であって、
    前記マスタは、前記スレーブの送信を許可するノードアドレスの複数のビットデータのうち非マスク領域に設定されるアドレスごとに、マスクされたビット数に応じた1回の通信サイクルで応答するスレーブの数を求め、前記マスクされた領域のアドレス情報に基づいて送信対象のスレーブの送信順と、前記送信タイミングを決定し、対応するスレーブにその決定した送信タイミングを設定し、前記マスクした状態でノードアドレスを指定して接続確認フレームの送信要求を発行し、
    前記フィールドバスを介して前記送信要求を受信した前記スレーブは、前記指定されたノードアドレスと自己のノードアドレスを比較し、前記マスクした部分以外が一致した場合に、自己のノードアドレスを含む接続確認フレームを前記マスタに向けて送信し、
    前記マスタは、前記スレーブからの接続確認フレームを受信することにより、そのノードアドレスのスレーブが存在することを認識することを特徴とする接続確認方法。
  2. マスタと、複数のスレーブが、フィールドバスに接続され、前記マスタからは非マスク領域に設定されるアドレスごとにOUTデータを一括して前記スレーブへ転送し、前記スレーブは自局に設定された送信タイミングにINデータを返送するようにしたフィールドバスシステムであって、
    前記マスタは、
    前記スレーブの送信を許可するノードアドレスの複数のビットデータのうち非マスク領域に設定されるアドレスごとに、マスクされたビット数に応じた1回の通信サイクルで応答するスレーブの数を求め、前記マスクされた領域のアドレス情報に基づいて送信対象のスレーブの送信順と、前記送信タイミングを決定し、対応するスレーブにその決定した送信タイミングを設定する手段と、
    前記マスクした状態でノードアドレスを指定して接続確認フレームの送信要求を発行する手段と、その送信要求に対応したスレーブからの接続確認フレームを受信した場合に、そのスレーブが存在すると判断する手段とを備え、
    前記スレーブは、前記フィールドバスを介して前記送信要求を受信した際に、前記指定されたノードアドレスと自己のノードアドレスを比較し、前記マスクした部分以外が一致した場合に、自己が指定されたと判断し、自己のノードアドレスを含む接続確認フレームを前記マスタに向けて送信する手段を備えたことを特徴とするフィールドバスシステム。
  3. マスタから非マスク領域に設定されるアドレスごとにOUTデータを一括してスレーブへ転送し、前記スレーブでは自局に設定された送信タイミングにINデータを返送するようにしたフィールドバスシステムに接続するためのマスタであって、
    前記スレーブの送信を許可するノードアドレスの複数のビットデータのうち非マスク領域に設定されるアドレスごとに、マスクされたビット数に応じた1回の通信サイクルで応答するスレーブの数を求め、前記マスクされた領域のアドレス情報に基づいて送信対象のスレーブの送信順と、前記送信タイミングを決定し、対応するスレーブにその決定した送信タイミングを設定する手段と、
    前記マスクした状態でノードアドレスを指定して接続確認フレームの送信要求を発行する手段と、
    その送信要求に対応したスレーブからの接続確認フレームを受信した場合に、そのスレーブが存在すると判断する手段とを備えたことを特徴とするマスタ。
  4. 前記マスクする領域を前記スレーブに通知する手段を備えたことを特徴とする請求項3に記載のマスタ。
JP2003062346A 2003-03-07 2003-03-07 フィールドバスシステム及び接続確認方法並びにマスタ Expired - Lifetime JP4107110B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003062346A JP4107110B2 (ja) 2003-03-07 2003-03-07 フィールドバスシステム及び接続確認方法並びにマスタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003062346A JP4107110B2 (ja) 2003-03-07 2003-03-07 フィールドバスシステム及び接続確認方法並びにマスタ

Publications (2)

Publication Number Publication Date
JP2004274396A JP2004274396A (ja) 2004-09-30
JP4107110B2 true JP4107110B2 (ja) 2008-06-25

Family

ID=33124292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003062346A Expired - Lifetime JP4107110B2 (ja) 2003-03-07 2003-03-07 フィールドバスシステム及び接続確認方法並びにマスタ

Country Status (1)

Country Link
JP (1) JP4107110B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4961589B2 (ja) * 2007-01-26 2012-06-27 株式会社安川電機 ネットワークシステムおよびスレーブ同期方法
JP7359640B2 (ja) * 2019-10-25 2023-10-11 株式会社 エニイワイヤ 組立用物品管理システム
CN111275953B (zh) * 2020-01-17 2024-05-03 杭州海兴电力科技股份有限公司 基于智能终端的电力设备通讯系统及方法
CN116938691B (zh) * 2023-09-19 2023-12-26 钛玛科(北京)工业科技有限公司 一种设备系统网络中的主机搭建方法及系统

Also Published As

Publication number Publication date
JP2004274396A (ja) 2004-09-30

Similar Documents

Publication Publication Date Title
US6850992B2 (en) Address assignment method for at least one bus device that has recently been connected to a bus system
US7051143B2 (en) Method, system and program for the transmission of modbus messages between networks
US6134665A (en) Computer with remote wake up and transmission of a status packet when the computer fails a self test
JP2006191337A (ja) バス間のメッセージ転送を行うゲートウエイ装置及びそれを使用したネットワークシステム
JP4107110B2 (ja) フィールドバスシステム及び接続確認方法並びにマスタ
JP4596448B2 (ja) バスシステムの加入者におけるプログラム中断を発生させる方法,その装置及びバスシステム
JP3321467B2 (ja) 聴取可能な通信加入機器、通信方法および聴取可能な通信加入機器を有する通信システム
JP2004280304A (ja) フィールドバスシステム及び通信方法並びにマスタ及びスレーブ
JP4023342B2 (ja) フィールドバスシステムにおける二重アドレス検知方法及びスレーブ並びにマスタ及びフィールドバス
WO1993005602A1 (en) Multiplex transmission system
US20170187650A1 (en) Switch unit, ethernet network, and method for activating components in an ethernet network
WO2021010166A1 (ja) シリアル通信方法及びシリアル通信システム
JP2002073121A (ja) ネットワーク制御システム、その通信モジュール、及びリモート制御方法
WO2012111229A1 (ja) 通信システム
US10795848B2 (en) Dual way communication method, system, and master device thereof
WO2019088226A1 (ja) 制御システム、排他制御方法、対象装置
JPH10232704A (ja) 二重化プログラマブルコントローラ
JP4006605B2 (ja) リピータ遅延影響の低減化
JP2007243322A (ja) ゲートウェイ装置、データ転送方法及びプログラム
JPH02128540A (ja) データ通信方法およびそのシステム
US11582062B2 (en) Relay device
WO2006030697A1 (ja) 通信装置、通信制御方法、通信制御プログラム及び通信制御プログラムを記録したコンピュータ読み取り可能な記録媒体
CN101645195B (zh) 识别电文边界
JP3947090B2 (ja) データ伝送方法
JPH06149320A (ja) プログラマブルコントローラのリモートi/oシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080222

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: 20080311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080324

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110411

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4107110

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130411

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130411

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140411

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term