JP2004280304A - フィールドバスシステム及び通信方法並びにマスタ及びスレーブ - Google Patents
フィールドバスシステム及び通信方法並びにマスタ及びスレーブ Download PDFInfo
- Publication number
- JP2004280304A JP2004280304A JP2003068922A JP2003068922A JP2004280304A JP 2004280304 A JP2004280304 A JP 2004280304A JP 2003068922 A JP2003068922 A JP 2003068922A JP 2003068922 A JP2003068922 A JP 2003068922A JP 2004280304 A JP2004280304 A JP 2004280304A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- slave
- data
- master
- transmission timing
- 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
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
【解決手段】スレーブ20に格納された入出力点数を含むステータス情報に基づいて決定されるINフレームのフレーム長と、INフレームを送信するスレーブの順番に基づいて算出される各INフレームの送信タイミングを、各スレーブのレジスタに記憶する。マスタからのOUT_frameを各スレーブが受信するとタイマを起動し、そのタイマ値がレジスタに格納された送信タイミングになると、各INスレーブが自己のINフレームを送信する。送信タイミングは、等間隔ではなく、フレーム長に応じて決定しているので、各In_frameが衝突することなく送信可能となる。
【選択図】 図11
Description
【発明の属する技術分野】
この発明は、フィールドバスシステム及び通信方法並びにマスタ及びスレーブに関するもので、特にマルチドロップの配線形態をとるフィールドバスシステムに適したものである。
【0002】
【従来の技術】
FA(ファクトリーオートメーション)で用いられるPLC(プログラマブルコントローラ)は、スイッチやセンサなどの入力機器のON/OFF情報を入力し、ラダー言語などで書かれたシーケンスプログラム(ユーザプログラム)に沿って論理演算を実行する。そして、PLCは、得られた演算結果にしたがって、リレー,バルブ,アクチュエータなどの出力機器に対し、ON/OFF情報の信号を出力することで制御が実行される。
【0003】
係るPLCの一形態として、各機能ごとに生成されたユニットを複数用意し、電気,機械的に連結して構成するものがある。係るタイプを構成するためのユニットとしては、電源ユニット,CPUユニット,I/Oユニット,マスタユニット等各種のものがある。PLCを構成するI/Oユニットが有する接続端子には、PLCの近くの場所に存在する入力機器や出力機器の接続線をつなぐ。
【0004】
そして、上記したマスタユニットは、フィールドバス等の制御系ネットワークに接続され、その制御系ネットワークに接続された各種のスレーブと制御系ネットワークを介して通信可能となっている。このフィールドバスにおける配線は、マルチドロップ配線になっていて、ひとつのフィールドバスにマスタユニットと複数のスレーブとが接続できるようになっている。各スレーブは接続端子を有していて、その接続端子には、PLCから比較的に遠い場所に存在する入力機器や出力機器がつながれる。そしてマスタユニットは、各スレーブとの間でフィールドバス通信をしてフレームを送受信することにより、各スレーブにつながれている入力機器の入力信号(INデータ)を受け取るとともに、出力信号(OUTデータ)を各スレーブに対して送信する。このマルチドロップ配線の上での通信の詳細を説明すると、マスタユニットから出力された送信フレームは、フィールドバスに接続された全てのスレーブ(ノード)に対して一度に到達する。そして、各スレーブには個々にノードアドレスが設定されており、送信フレームには、宛先のノードアドレスを含む宛先データを付加しておく。これにより、各スレーブは、受信した送信フレームの宛先データを抽出し、自己宛の送信フレームか否かを判断し自己宛の場合にはその送信フレームを取り込み、自己宛でない場合には破棄するようになる。
【0005】
また、スレーブからマスタユニットへ向けて出力されるフレームも、同様に送信アドレスにマスタユニットのノードアドレスが付加されることにより、マスタユニットのみが受信することができる。そして、係るスレーブからマスタユニットに向けて出力されるフレームの送信タイミングであるが、各スレーブが一斉に送信すると、フィールドバス上で衝突が生じて通信不能となるので、予め指定された送信タイミングで、各スレーブが順次フレームを送信するような通信プロトコルをとっている。
【0006】
そして、この種の通信プロトコルにおけるマスタとスレーブのデータの送受は、例えば特許文献1に示された「PLCのリモートI/Oシステム及びPLCのリモートI/Oシステムの実行方法」などがある。この特許文献1に開示された方法を簡単に説明すると、図1に示すように、マスタユニットから一括送受信方式により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データIN0〜IN2を取込む。基本アイドルタイムを適切に設定することにより、各INスレーブからのINデータの重なりを防止して、確実にINデータを送受することができる。
【0009】
【特許文献1】
特開平09−128019
【0010】
【発明が解決しようとする課題】
しかしながら、上記した従来のマルチドロップ方式のネットワークの場合、以下に示す問題がある。すなわち、フレーム長が通常の8点に合わせて設定された固定であるので、16点その他の多点スレーブや、1〜2点といった少点数スレーブなど多様なスレーブユニットを混在させることができなかった。
【0011】
また、フレーム長が固定の状態で多点スレーブに適用する場合には、複数回に分けて送信することにより対応できる。すなわち、仮に16点とすると、上位の8点分を最初に送り、次に下位の8点分を送信するというように2回に分けて送信することができる。そして、マスタ側では、2回に分けて受信したデータを合成し、1つのINデータとして扱うようになる。しかし、そのようにすると1回目と2回目の間にデータが変更された場合には、異なるタイミングのデータから1つのINデータが生成されてしまい、データの同期性を保証できないという問題がある。
【0012】
さらに、フレーム長を多点スレーブに適用するように固定しているので、少点数スレーブの場合は、点数が少ないので通常のスレーブ(多点スレーブ)に合わせたフレーム長でもデータを送信することは可能であるが、多点スレーブの点数と少点スレーブの点数の差だけ使用しないデータエリアが存在するので無駄が生じることになり、好ましくない。
【0013】
さらにまた、フィールドバスに接続するスレーブの数が増加すると、フィールドバスを構成するケーブル長も長くなり、波形整形を行うリピータを挿入する必要が生じる。しかし、リピータを通過する際に、遅延が生じるので、局遅延の大きなリピータを幹線に挿入すると、基本アイドルタイム内でフレームを送信することができなくなる。従って、係るリピータを使用することができず、ネットワーク構成に制限が生じる。また、リピータでの局遅延を考慮して基本アイドルタイムを設定すると、リピータを介さないで通信するINスレーブからのINデータでは、基本アイドルタイム内でデータを送信していない期間が長くなり、伝送効率が悪くなる。
【0014】
この発明は、伝送の効率がよいOUTデータ一括転送&INデータ転送一括ポーリングを特徴とするプロトコルでマルチドロップの配線形態をとっているフィールドバスシステムであっても、スレーブの情報量,ノード数,耐ノイズ性をアプリケーションの要求に応じて柔軟に対応させることが出来るフィールドバスシステム及び通信方法並びにマスタ及びスレーブを提供することを目的とする。
【0015】
【課題を解決するための手段】
上記した目的を達成するための本発明に係る通信方法は、マスタと複数のスレーブがフィールドバスに接続され、マスタとスレーブとの間でOUTデータとINデータとを通信するようにしたフィールドバスシステムにおけるフレームの通信方法を前提とする。そして、前記マスタは、まず、前記スレーブに格納された入出力点数を含むステータス情報を読み出す。そして、その読み出した前記ステータス情報に基づいて、各スレーブがINデータを送信するためのINフレームのフレーム長と、前記INフレームを送信するスレーブの順番から各INフレームの送信タイミングを決定し、いったん記憶する。そして前記マスタは、対応するスレーブにその決定したINフレームの送信タイミングの情報を、OUTデータを送信するフレーム中に含めて送信する。前記スレーブは、前記マスタから送られてきた前記送信タイミングを取得するとともに記憶手段に記憶保持する。いっぽう送信されてきた前記OUTデータのなかから自己宛のOUTデータがあれば取得する。このOUTフレームを正常に受信した後、前記記憶保持した送信タイミングになると、自己のINフレームを、マスタへ送信する。
【0016】
係る方法を実施するのに適した本発明に係るフィールドバスシステムでは、例えば、マスタと、複数のスレーブが、フィールドバスに接続され、前記マスタからはOUTデータを一括して前記スレーブへ転送し、前記スレーブは自局の決められた時間帯にINデータを返送するようにしたフィールドバスシステムであって、前記マスタは、前記スレーブに格納された入出力点数を含むステータス情報を読み出し、その読み出した前記ステータス情報に基づいて決定される各スレーブがINデータを送信するためのINフレームのフレーム長と、前記INフレームを送信するスレーブの順番から各INフレームの送信タイミングを決定し、前記マスタは、対応するスレーブにその決定したINフレームの送信タイミングを設定し、前記スレーブは、前記一括して転送されてきた前記OUTデータを受信後、前記設定された送信タイミングになると、自己のINフレームを送信するように構成することである。
【0017】
さらに、この方法を実施するのに適した本発明に係るマスタとしては、フィールドバスに接続されたスレーブに格納された入出力点数を含むステータス情報を読み出す機能と、その読み出した前記ステータス情報に基づいて決定される各スレーブがINデータを送信するためのINフレームのフレーム長と、前記INフレームを送信するスレーブの順番から算出される各INフレームの送信タイミングを、対応するスレーブに通知する機能を備えることである。
【0018】
また、この方法を実施するのに適した本発明に係るスレーブとしては、入出力点数等のステータス情報を記憶保持し、前記マスタからステータス読み出し要求に対して、前記ステータス情報を返送する機能と、前記マスタから送られてくる自己のINデータを送信するためのINフレームの送信タイミングを記憶手段に格納する機能と、前記マスタから一括して転送されてきたOUTデータを受信後、前記記憶手段に格納された送信タイミングになった際に、INフレームを送信する機能を備えることである。
【0019】
送信タイミングは、実施の形態では、IN_frameタイムドメインに対応する。また、マスタが持つ送信タイミングを通知する機能は、実施の形態では、ステータス書き込みコマンドを送信する機能に対応する。
【0020】
例えばスレーブの入出力点数が異なると、INデータを送信するために必要なINフレーム(IN_frame)の過不足の無いフレーム長も異なる。そこで、マスタはスレーブが持つ入出力点数のように、フレーム長に影響のあるステータス情報を読み出し、それに基づいて、各スレーブがINフレームを送信するのにかかる時間を求めることができる。そして、INフレームの送信順がわかると、各スレーブは、OUTデータ(OUT_frame)を受信してからどのくらいの時間経過後にINフレームを送信すればよいかを求めることができる。そこで、各スレーブごとに送信タイミングを求め、各スレーブに求めた送信タイミングを通知する。
【0021】
スレーブは、通知を受けた送信タイミングを記憶保持しておき、実際のIOデータの送受に際しては、各スレーブは、前記マスタから一括して転送されてきたOUTデータを受信後、タイマなどの計時手段などを用いて送信タイミングになるのを監視し、送信タイミングになったならば、自己のINフレームを送信する。送信タイミングは、複数のスレーブが同時期にINフレームを送信しないように調整されているため、衝突することなく他のノード(マスタ)に伝達できる。しかも、送信タイミングの設定は、マスタ側から行うため、例えば多点スレーブの場合には、送信に要する時間が長くなるので、その多点スレーブの次に送信するスレーブの送信タイミングは、遅めに設定することにより、必要以上に各INフレームの送信間隔が長くなることを抑制しつつ、異なる入出力点数のスレーブの混在を許容することができる。
【0022】
また、本発明に係るフィールドバスシステムの別の解決手段としては、上記したフィールドバスシステムを前提とし、前記スレーブは、同一のINデータのフレームを連続して送信する多連送モードを有し、前記ステータス情報は、前記多連送モードか否かの情報を含み、前記マスタは、前記多連送モードで送信されてきた複数のINデータの内の少なくとも1つを正常に受信したときにINデータの転送を正常完了するように構成することもできる。もちろん、係る多連送モードに対する対応は無くても良い。
【0023】
そして、このシステムを構築するために適した本発明に係るマスタとしては、多連送モードで送信されてきた複数のINデータの内の少なくとも1つを正常に受信したときにINデータの転送を正常完了する機能を備えることである。
【0024】
また、このシステムを構築するために適した本発明に係るスレーブとしては、同一のINデータのフレームを連続して送信する多連送モードを実行する機能を有し、前記ステータス情報は、前記多連送モードで送信するか否かの情報を含むことである。
【0025】
もちろん、通信相手のスレーブが多連送モードか否かはステータス情報に格納されており、多連送モードの場合には、それだけそのスレーブがINフレームを送信するのに必要な時間が長くなるので、それに応じて、それ以降のスレーブの送信タイミングを遅らせる。係る調整は、実際のINフレームの送信をするのに先立ち行われる。
【0026】
これにより、ノイズ等が多く通信環境が悪い箇所においても、複数回同じINフレームを送信することにより、少なくとも1つはマスタに伝達させることができる。そして、本発明では、同一内容のデータが複数回受信されるが、そのうちの1つでも正常に受信したものがあれば、それを正規のINデータとして処理するようにしたので、確実にマスタはINフレームを取得できる。
【0027】
さらにまた、本発明に係るフィールドバスシステムでは、前記フィールドバスにリピータが挿入されている場合に、フレームがそのリピータを通過する際に生じるリピート遅延時間を考慮して、前記INフレームの送信タイミングが設定されるとよい。
【0028】
フィールドバスのケーブル長が長くなると、波形が歪み、伝送エラーになる確率が増えてくる。そこで、係る場合にはリピータを設置するが、そのリピータを通過する際に遅延が生じる。そこで、係る遅延も考慮して送信タイミングを設定することにより、INフレームの衝突が発生することなく、伝送することができる。
【0029】
【発明の実施の形態】
図2は、本発明の好適な一実施の形態を実現するシステム全体を示している。図2に示すように、PLC10と各種のスレーブ20が、フィールドバス30を介して接続されネットワークシステムを構築している。
【0030】
PLC10は、CPUユニット11やマスタユニット12などの各機能ごとに生成されたユニットを連結することにより構成されている。その各ユニットはPLCバス(内部バスとも言う。図示せず)につながれていて、PLCの各ユニット間でバス通信をしてデータ通信ができるようになっている。そして、このマスタユニット12は、フィールドバス30に接続され、そのフィールドバス30に複数台の各スレーブ20がマルチドロップ接続によってつながれて、マスタユニット12と各スレーブ20との間で通信を行うようになっている。さらに、マスタユニット12は、PLC10の内部バスを介してCPUユニット11のIOメモリにアクセスし、IOデータ等の読み書きを行うようになっている。
【0031】
さらに説明すると、マスタユニット12がスレーブ20の接続端子につながれた入力機器からの入力信号(オン/オフ状態)をフィールドバス通信によって取り込んで、マスタユニット12が取り込んだ入力信号(入力データ)を内部バス通信によってCPUユニット11に送信し、CPUユニット11が入力信号を受け取る。CPUユニット11は、その入力信号に基づいてユーザプログラムによって予め定められた論理演算をし、その演算結果を含んだ出力信号(出力データ)を、内部バスを介してマスタユニット12に送信する。マスタユニットはその出力信号をフィールドバス通信によってスレーブに送信する。各ユニットでは受信した出力信号を接続端子に接続された出力機器に対して出力する。
【0032】
なお、入力信号と出力信号をあわせてI/Oデータと呼ぶことがある。つまり、INデータは入力機器からスレーブへ、スレーブからマスタユニットへ、マスタユニットからCPUユニットへと伝わる。また、OUTデータはCPUユニットからマスタユニットへ、マスタユニットからスレーブへ、スレーブから出力機器へと伝わる。
【0033】
マスタユニット12は、図3に示すように、フィールドバスに接続され、実際にデータの送受を行う通信インタフェース12aと、その通信インタフェース12aを介してマスタ−スレーブ間通信をし、スレーブ20との間でI/Oデータの送受を行ったり、所定のコマンドの送信並びにそれに基づくレスポンスの受信を行うマスタ用ASIC12bと、各種の制御を行うMPU12dと、各種の制御実行時にワークエリア等として使用されるRAM12cと、上記制御を行うプログラムや、各種の設定データ等が格納されたEEPROM12eと、CPUユニットなどと内部バスを介して通信を行うためのインタフェース12hと、動作状態(通信状態)や異常/正常などを示すLED表示部12f並びにアドレスの設定などを行うための設定スイッチ12gを備えている。
【0034】
MPU12dが行う制御としては、CPUユニット11その他のユニット等と通信したり、マスタ用ASIC12bを動作させたりするようになっている。特に本発明との関係でいうと、フィールドバス30に接続されたスレーブ20と通信をし、二重アドレスが発生していないかをチェックするようになっている。具体的な処理機能は後述する。
【0035】
スレーブ20は、図4に示すように、フィールドバスに接続され、実際にマスタユニット12との間でI/Oデータや各種メッセージ等の送受を行う通信インタフェース20aと、その通信インタフェース20aを介して取得したマスタ−スレーブ間通信をし、I/Oデータの送受を行ったり、マスタユニット12からの所定のコマンドの受信並びにそれに基づくレスポンスの送信を行うスレーブ用ASIC20bと、各種の制御を行うMPU20dと、上記制御を行うプログラムや、各種の設定データ,IOデータ等が格納されたEEPROM20eと、端子台の構造となっていて入力機器または出力機器(I/O機器)の配線を接続しI/Oデータの送受を行うI/O部20jと、動作状態(通信状態)や異常/正常などを示すLED表示部20f並びにノードアドレスの設定などを行うための設定スイッチ20gを備えている。さらに、入力電圧(24V)を5Vに降圧し、スレーブ20内の各素子に電源供給する電源部20iを備えている。なお、スレーブには3種類あって、それぞれ入力スレーブ、出力スレーブ、入出力スレーブがある。例えば入力スレーブは、入力機器を接続するのみであり、INデータを格納しINデータを送信する構成となっている。
【0036】
次に、本発明の要部となる通信プロトコルについて説明する。まず、上記したマスタユニット12並びにスレーブ20が発行するコマンドは、以下のようになっている。図5に示すように、本プロトコルの通信サイクルの開始タイミングはマスタ局であるマスタユニット12が管理する。そして、通信サイクルはOUT_frameから始まり,EVE_frame,IN_frameとつづく。各フレームの送信タイミングは、予め定められた時間監視により行う。
【0037】
送信タイミングの時間監視の説明をすると、マスタユニットと各スレーブとの間の通信サイクルの開始タイミングは、OUT_frameの正常受信完了をもって合わせられる。つまり、通信同期のタイミングをOUT_frameの正常受信完了タイミングとしているわけである。そして、それにつづくEVE_frame,IN_frameのそれぞれのフレーム内容(通信データサイズ,通信タイミング,通信サイクルなど)は常に固定になっている。このようにマスタユニット12とスレーブ20との間では、毎周期で同じ通信サイクル、かつ通信タイミングで通信が行われる。なお、図示はしていないが、OUT_frameとEVE_frameとの間に、互いの接続確認をするためのCN_frameを送信するサイクルを設けても良い。
【0038】
ここで、OUT_frameは、マスタユニット12からスレーブ20へのOUTデータ転送用フレームであって、このOUT_frameに各スレーブに対して送信するOUTデータが含まれている。また受信する側の各スレーブ20にとっては、このOUT_frameが通信サイクルの開始を表すフレームとなる。つまり、各スレーブ20はこのOUT_frameの受信完了時点から計時を開始すべく内部カウンタ(タイマ)を起動し、予め設定した送信タイミングで所定のフレームをマスタユニット12に対して送信する。
【0039】
そして、OUT_frameのデータ構造は、図6に示すようになっている。すなわち、OUT_frameは、「フレームヘッダ」と、マスタユニット12から所定のスレーブ(OUTスレーブ)20へ送る出力データである「OUTデータ」と、フレームチェックシーケンスである「CRC」からなる。
【0040】
さらに、フレームヘッダは、フレームの開始を示す「スタート」と、フレームの識別コード(プロトコル制御コード)を示す「コマンド」と、イベントフレームを送信許可するノードアドレスを登録する「EVENT送信許可アドレス」と、各スレーブでのOUTデータ位置とINフレーム送出位置の登録バージョンを登録する「ドメインバージョン」と、OUTデータのデータ長を登録する「レングス」とを備えている。
【0041】
なお、CN_frameも送信する場合には、フレームヘッダに、「コマンド」に続いて、接続確認フレーム(CN_frame)を送信許可するノードアドレスを登録する「CN_frame送信要求アドレス」を挿入するとよい。CN_frameは、ネットワークに接続されているかどうかを確認するための接続確認用フレームである。必要に応じて、OUT_frame中にCN_frame送信要求アドレスを挿入し、その要求アドレスで指定されたスレーブが、レスポンスして返送するようにする。そのフレームのデータ構造を説明すると、スタート,コマンド,送信元アドレス.CRCからなっている。「スタート」はフレームの開始を示すもので、「コマンド」はフレーム識別コード,プロトコル制御コードであり、「送信元アドレス」はこのCN_frameを送信したスレーブに設定された送信元アドレスであり、「CRC」はフレームチェックシーケンスである。そして、「コマンド」には、加入ステータス状態のどれかを特定する2ビットのコードが格納される。ここで、加入ステータス状態とは、「加入済みスレーブ」と「未加入スレーブ」がある。さらに「二重アドレスで待機中」を加えることもできる。
【0042】
さてOUT_frameの説明に戻ると、「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データの割り当場所を記憶している。
【0043】
そして、係る割り当てに基づきマスタユニット12とスレーブ20(OUTスレーブ)との間で、以下に示す手順によりOUTデータ転送が実行される。換言すると、マスタユニット12のMPU12dや、スレーブ20のMPU20dが、係る処理を実行する機能を有する。この点は、以下に示すその他のフレーム転送においても同様である。
【0044】
まず、後述するBus Configurationで送信バッファの各データ(Word単位)とOUT_frameでの位置の対応テーブルを作成する。つまり、どのOUTスレーブ用のOUTデータをどのブロックに格納して送信するかの関係を特定する。これは、例えば各OUTスレーブのステータス(通常,多点,少点数)を取得しておくことにより、各スレーブで必要なブロック数がわかるので、ノードアドレス順に先頭からその必要なブロック数分だけ順次割り当てることにより対応テーブルを作成できる。
【0045】
次いで、マスタユニット12は、送信起動により上記対応テーブルに従ってOUT_frameを作成し、送信する。これにより、OUT_frameは、フィールドバス30を介して各スレーブ20に伝達される。
【0046】
各スレーブ20は、OUT_frameを正常受信すると、OUTデータ中のマスタが設定したOUTデータ開始エリア(マスタが設定)から自局のOUTデータサイズ(外部端子モード設定により決まる)だけのデータを取り出し、受信バッファに格納する。そしてMPU20dとASIC20bとの動作により、取り込んだOUTデータをI/Oバッファに転送し、自局の接続端子を介して接続された出力機器に対してOUTデータを出力することで、OUTデータリフレッシュが行われる(図8参照)。図示のように、例えば多点スレーブのOUTスレーブ#1のOUTデータサイズが2ブロック分で、通常のOUTスレーブ#2のOUTデータサイズが1ブロック分とすると、そのようにブロックサイズを設定しておくことにより、異なる点数のOUTスレーブに対してもOUTデータの送信が可能となる。
【0047】
IN_frameは、スレーブ(INスレーブ)20からマスタユニット12へのINデータ転送用フレームである。どのスレーブがいつ、どれだけのデータサイズのIN_frameを転送するかは、Bus Configuration時にマスタユニット12が設定する。
【0048】
このIN_frameのデータ構造は、図9に示すようになっている。ここで、「スタート」はフレームの開始を示すもので、「コマンド」はフレーム識別をするために必要なコード,プロトコルの制御をするためのコードの情報が含まれている。「宛先アドレス」はこのフレームに格納されたINデータを送信する宛先アドレスであり、「送信元アドレス」はこのINデータを送信したノード(INスレーブ)に設定された送信元アドレスであり、「レングス」は送信するINデータのデータ長であり、「INデータ」は送信する内容であるINデータであり、「CRC」はフレームチェックシーケンスである。
【0049】
さらに、本実施の形態では、図9に示す通常のIN_frameに加えて、図10に示す多連送フレームの送信も可能となっている。この多連送フレームは、はコマンド〜CRCまでの同じデータ列をn個だけ連続したものを1つのフレームとして送信する。つまり、ノイズ環境下でもINデータを確実に転送するため、1つのスレーブから転送されるINデータフレームを連続して送信し、マスタ側ではそれらの内のどれかを正常に受信したときにINデータの転送を正常完了する。
【0050】
通常のIN_frameと、多連送フレームのIN_frameは、各スレーブごとに選択することができ、さらに、多連送フレームにした場合の繰り返し数(n)の値もスレーブごとに選択できる。各スレーブがどちらのフレーム(多連層の場合にはさらに「n」の値)を用いるかは、例えば、マスタユニット12が決定し、各スレーブ20に通知することにより設定するようにすることもできるし、ツール或いは設定スイッチを操作することによりステータス情報として各スレーブ20側で設定・保有し、マスタユニット12はそのスレーブ20のステータス情報を読み出すことにより認識するようにすることもできる。また、各スレーブ20は、IN_frame中のコマンドに係る設定情報を格納する。
【0051】
そして、このIN_frameを用いたINデータの転送は、まずマスタユニット12が、各INスレーブ20が送信するIN_frameがOUT_frame以降のどの時間帯に送信され、どれだけのフレーム長(点数)を持っているかの管理を行っている。そして、IN_frame受信時、マスタユニット12は、IN_frameのフレームヘッダにある送信元アドレスによって、どのスレーブからのINデータかを判別する。また、各スレーブ20でのINデータのラッチ(INリフレッシュ)は、OUT_frameの正常受信直後としている。従って、全ノードのINデータの同時性を保証することが出来る。さらに、多点スレーブの場合でも、その多点の全てのデータを一回で送信できるので、データの同時性が確保できる。
【0052】
INリフレッシュとは、スレーブ20の接続端子につながれた入力機器のON/OFF状態をI/Oバッファに取り込む動作をいう。なお、取り込んだINデータは、送信バッファに送られIN_frameによってマスタユニット12へと送られる。結局、各スレーブでOUT_frameを正常受信完了すると、タイマ起動をするとともに、OUTスレーブの場合にはOUTリフレッシュを始め、一方INスレーブの場合にはINリフレッシュを始め、IN/OUTスレーブの場合はINリフレッシュおよびOUTリフレッシュを行う。
【0053】
そして、具体的には、マスタユニット12とスレーブ20(OUTスレーブ)との間で、以下に示す手順によりINデータ転送が実行される。すなわち、まずマスタユニット12が、送信起動によりOUT_frameを作成し、送信する。
【0054】
各INスレーブ20は、OUT_frameを正常受信したならば、IN_frameタイムドメインのためのタイマを起動する。また、正常受信した時の自局のINデータを内部バッファに取り込む。そして、IN_frameタイムドメインを待って、内部バッファに格納しておいた自局のINデータをIN_frameに乗せて送信する。つまりIN_frameをタイムドメインは、後述するように、Bus Configuration時にマスタユニットが設定したOUT_frameを受信してから各スレーブがIN_frameを送信するまでの経過時間であり、各スレーブごとに設定される。従って、各スレーブは、OUT_frameの正常受信に伴い同時にタイマを起動させ、それぞれ設定された所定の時間が経過した際に、IN_frameを送信することになる(図11参照)。従って、各スレーブに設定するタイムドメインを、「多点スレーブか否か」や「多連送フレームか否か」などを考慮してフレーム長に合わせて適宜に設定することにより、各IN_frameは、衝突することなく送信することができる。
【0055】
一方、受信側(マスタユニット12)は、CRCチェックを正常に行えたならばIN_frameを正常受信する。そして、送信元アドレスをチェックし、フレームに格納されたINデータを受信バッファに格納する。
【0056】
また、多連送フレームの場合には、n回の受信のうち1回でも正常受信した場合には、その正常受信したデータをINデータとし、受信バッファに格納する。つまり、通常この種の多連送フレームの場合、受信したデータが一致した場合に、データ化けなどが無い場合に、正規のものと判断するようにしたが、本実施の形態では、1つでも正常受信した場合には、それを正規のものと判断して記憶保持するようにした。なお、複数のIN_frameが正常受信されてもそれらのデータ間の一致チェックは行わないようにしている。従って、エラー処理は、多連送された全てのIN_frameがエラーだった場合のみとなる。このように複数のIN_frame間の一致チェック処理を省略することにより、短時間で確実にINデータの送信をするとができる。
【0057】
EVE_frameは、通信サイクル中のメッセージデータ転送フレームである。いつどのノードが転送するかはマスタが決定し、OUT_frame中のEVENT送信許可アドレスに格納するノードアドレスで通知する。このEVE_frameはコマンドフレームとレスポンスフレームの2フレームで1セットとなる。
【0058】
このフレームのデータ構造は、図12に示すようになっている。ここで、「スタート」はフレームの開始を示すもので、「コマンド」はフレーム識別コード,プロトコル制御コードであり、「宛先アドレス」はこのイベントデータを送信する宛先アドレスであり、「送信元アドレス」はこのイベントデータを送信したノードに設定された送信元アドレスであり、「レングス」は送信するイベントデータのデータ長であり、「イベントデータ」は送信する内容であるイベントデータであり、「CRC」はフレームチェックシーケンスである。
【0059】
そして、イベントデータ転送の用途としては、ステータス読み出しと書き込みのためのイベントデータ転送(マスタユニット12からスレーブ20宛)と、アプリケーションが使用するイベントデータ転送がある。
【0060】
具体的には、マスタユニット12とスレーブ20(OUTスレーブ)との間で、以下に示す手順によりイベントデータ転送が実行される。すなわち、マスタユニット12のファームウェアが、1つの通信サイクル内でどのノードがEVE_frameを送信するかを、毎サイクル毎に決定(設定)する。
【0061】
そこで、マスタユニット12が、通信サイクル内でイベントデータ転送を行う場合には、図13に示すように、まず、マスタユニット12が送信するタイミングでOUT_frameのイベント送信許可アドレスに自局ノードアドレスをのせて送信する(▲1▼)。このOUT_frameを正常受信したスレーブ20は、イベント送信許可アドレスが自局でないので、EVE_frameは送信しない。
【0062】
また、上記した▲1▼で送信したOUT_frameのイベント送信許可アドレスでマスタユニット12のアドレスが指定されているため、マスタユニット12は、OUT_frame送信後、EVE_frameタイムドメインとなったらEVE_frameを送信する(▲2▼)。
スレーブ20が、上記▲2▼により発行されたEVE_frameを正常受信すると、自局宛か否かを判断し、自局宛の場合には受信データを参照する。そして、レスポンスの要求があった場合には、レスポンスを返し(▲3▼)、無ければ受信したまま処理を終了する。
【0063】
上記のレスポンスがEVE_frameで返送されると、各ノードはそれを受信する。そして、マスタユニット12はそのEVE_frameを正常受信し、自局宛ならば受信データを参照する。
【0064】
このようなEVE_frameの送受が完了すると、各INスレーブは、上記したIN_frameの処理に従って、所定のタイミングでIN_frameを送信することになる(▲4▼)。
【0065】
一方、スレーブ20が通信サイクル内にイベントデータ転送を行うようにさせたい場合には、図14に示すように、まずマスタユニット12が、OUT_frameの送信前に送信許可を与えるスレーブのアドレスを決定し、そのアドレスをOUT_frameのイベント送信許可アドレスに乗せて送信する(▲1▼)。
【0066】
正常受信されたOUT_frameで指定されたイベント送信許可アドレスが自局か否かを判断し、自局ならばEVE_frameを送信する準備をするとともに、タイマを起動する。もちろん、自局でない場合には送信準備をしない。従って、図13の場合には、OUTフレームのイベント送信許可アドレスで#nが指定されているとすると、スレーブ#mはEVE_frameの送信準備をしないが、スレーブ#nはEVE_frameの送信準備をする。
【0067】
次いで、OUT_frame受信後、EVE_frameタイムドメインとなったら(上記タイマにより計測)、上記準備したEVE_frameを送信する(▲2▼)。
この▲2▼で送信されたEVE_frameを正常受信した各ノード(マスタユニットの場合もあれば他のスレーブの場合もある)は、送信先アドレスを確認し、自局宛ならば受信データを参照し、さらにレスポンスの要求があったら、レスポンスを返す。もちろん、自局宛でない場合にはなにもしない。
【0068】
このようなEVE_frameの送受が完了すると、各INスレーブは、上記したIN_frameの処理に従って、所定のタイミングでIN_frameを送信することになる(▲3▼)。
【0069】
次に、Bus Configurationについて説明する。この処理は、ネットワーク初期化時に行うもので、図15に示すフローチャートに従って実行する。すなわち、まず、マスタユニット12は、ネットワークに存在しうる全てのスレーブに対し、ステータス読み出しコマンド送信する(ST1)。つまり、マスタユニット12はイベントフレーム(EVE_frame)を用いて、各スレーブが持つステータス情報を読み出す。
【0070】
そして、ステップ1で応答のあったスレーブがフィールドバス(ネットワーク)に実際に接続されているスレーブとして認識する(ST2)。これにより、マスタユニットはバスの構成情報を作成する。そして、ステップ2で応答のあったスレーブの属性(in,out,点数,多連送inかなど)を記録する(ST3)。
【0071】
次に、全てのINフレーム長を確定し、OUT_frame以降に、どのノードがいつIN_frameを送信すべきかを算出する(ST4)。すなわち、ステップ3で記憶した各スレーブの属性に基づき、INスレーブの点数並びに多連送する場合にはその回数を取得する。これにより、各INスレーブのIN_frameのフレーム長を求めることができる。そして、IN_frameを送信するINスレーブの送信順番(例えば、ノードアドレス順)を決めると、フレーム長から各IN_frameの送信に要する時間がわかるので、それに一定マージンを付加することにより、OUT_frameを受信してから各INスレーブが送信開示するまでの待機時間(IN_frameタイムドメイン)を算出することができる。
【0072】
そして、ステップ2で応答のあったノード全てに対し、ステータス書き込みコマンドを送信する(ST5)。その際、スレーブ毎に、ステップ4で算出した値を元にIN_frameタイムドメイン[7:0]を書き込む。つまり、このスレーブ20のレジスタに、図16のようなIN_frameタイムドメインが設定される。
【0073】
このIN_frameタイムドメインは、図17に示すようにOUT_frameを受信してから、自己のIN_frameを送信するまでの時間であり、この時間はタイマで計測するため、タイマ値をレジスタに設定する。そして、この時間(タイマ値)は、上記したように、自己が送信するより前に送信する各IN_frameのフレーム長に基づく伝送時間に伝送遅延等の一定のマージンを加算することにより決定する。なお、この決定は、上記した説明ではマスタユニットで行うようにしたが、ツールを用いて算出し、そのツールで算出した値をマスタユニット12にダウンロードし、マスタユニット12はそのダウンロードした値に基づいて、各スレーブに対してステータス書き込みを行うようにしても良い。
【0074】
なお、話は前後するが、スレーブ20のレジスタに格納される情報としては、上記のようなIN_frameの送信タイミングを規定するIN_frameタイムドメイン以外にもあり、例えば、OUTデータ開始エリアがある(図18参照)。このOUTデータ開始エリアは、OUT_frameのどのブロックから自局のOUTデータが始まるかを示す情報であり、OUTデータ開始エリアを先頭OUTブロック番号(#0〜79)で示す。なお、記述されたOUTブロック番号から何ブロック分(1個の場合ももちろんある)を取得すればよいかは、自己の点数などから決定される。そして、このOUTデータ開始エリアは、通常、マスタユニット12からのステータスライトコマンドで設定される。そして、このOUTデータ開始エリアの情報は、図6から図8などを説明したOUT_frameの取得の際に利用する。
【0075】
ところで、フィールドバスシステムには、フィールドバス30の所定位置にリピータ35を挿入し、そのリピータ35の下流側にスレーブ20を配置する構成をとるものがある。このリピータ35は波形整形器であり、入力された波形が崩れた信号をHigh/Lowのパルス波形に整形して出力する機能を有する。さらに、実際には、受信したフレームのヘッダとそれに続く設定値分のMARKシンボル間の符号規則チェックを行い、ヘッダと符号則違反無しを確認後、波形整形し出力回線側へフレームをリピートする。なお、リピートを開始した後に符号則違反が発生した場合は、直ちにリピートを停止し、出力回線側をハイインピーダンス(TXE=0)にする。
【0076】
このリピータ35において処理されるのは、図19(a)に示すように、リピータ35の上流側から伝送されてきた伝送フレームを下流側にリピートする場合と、図19(b)に示すようにリピータ35の下流側から伝送されてきた伝送フレームを上流側にリピートする場合がある。いずれの場合も、符号則チェックを行うことから、入力信号を受信してから出力信号を出力するまでに遅延(リピート遅延時間)が生じる(図20参照)。
【0077】
そこで、リピータ35が介在するシステムの場合、係るリピート遅延時間も考慮して各IN_frameの送信タイミングであるIN_frameのタイムドメインを設定すると良い。そして、実際のリピート遅延時間を考慮したIN_frameのタイムドメインは、以下のようにして決定することができる。なおフレームの送信タイミングは伝送レートの1ビット分であるMARK単位で規定する。図21では、リピータが2段入った時の例を示す。
【0078】
この図21に示すフィールドバスシステムでは、マスタユニット12から、各スレーブ20にフレームを送信する場合(▲1▼)、いずれもリピータ35′或いはリピータ35″を2回通過する。また、スレーブ20からマスタユニット12に向けてフレームを送信する場合(▲2▼,▲3▼)には、マスタユニット12に受信されるフレームは、リピータ35′或いはリピータ35″を2回通過し、それに伴い遅延が生じる。さらに、係るフレームは、フィールドバス30を介して他のスレーブにも受信されるため、例えばスレーブ#1から送信されたフレームは、さらに2回のリピータ35′を通過し、合計4回のリピータを介してスレーブ#2,#4に受信される。
【0079】
係るシステムにおけるA,B,Cの3つの観測点における各フレームのタイミングチャートは、図22に示すようになる。ここで、観測点Aは、2段のフレーム35′,35″の上流側の接続点であり、観測点Bは、スレーブ#2,4に接続される2段のリピータ35′の下流側の接続点であり、観測点Cは、スレーブ#1,3に接続される2段のリピータ35″の下流側の接続点である。
【0080】
まず、マスタユニット12に対するフレームの送受は、タイムチャートAの観測点に示す通りである。つまり、マスタユニット12は、OUT_frame送信期間Tout中に、OUT_frameを出力する。具体的には、OUT_frameの起動後、T delay_Aだけ遅延後OUT_frameの送信を行う(▲1▼)。
【0081】
このOUT_frameは、スレーブ#2,4に対しては2つのリピータ35′を通過することにより発生するリピート遅延時間T delay_Bだけ遅れて受信される。同様に、スレーブ#1,3に対しては2つのリピータ35″を通過することにより発生するリピート遅延時間T delay_Cだけ遅れてOUT_frameが受信される。なお、この例では、4つのリピータ35′,35″のリピート遅延時間は全て等しいので、T delay_BとT delay_Cの物理的な時間は等しくなっている。
【0082】
このOUT_frameの受信後、各スレーブは、それぞれ決められた所定時間経過後にIN_frameを送信する。この例では、まず、スレーブ#1がTdelay_Dだけ経過後にIN_frameを送信する(▲2▼)。このIn_frameは、スレーブ#1に接続された2つのリピータ35″を通過することにより、T delay_Cだけ遅れてマスタユニット12に到達する。さらに、2つのリピータ35′を通過することにより、T delay_Bだけ遅れてスレーブ#2,4に到達する。
【0083】
このスレーブ#1の次にスレーブ#2がIn_frameを送信するが、スレーブ#1からのIn_frameを伝送中にスレーブ#2がIn_frameを送信すると、フレームの衝突を生じるので好ましくない。そこで、図示の例では、IN_frameがマスタユニット12に到達した時点ではなく、全てのノード、つまりスレーブ#2,4に到達するまでの期間が、スレーブ#1からのIn_frameを送信する時間となり、スレーブ#2のIn_frameにとってのIN_frameタイムドメインとなる。
【0084】
そして、実際の送信は、そのIn_frameタイムドメイン経過後、T delay_Dだけ遅れてスレーブ#2がIn_frameを送信する。このIn_frameは、リピータ35′を通過してT delay_Bだけ遅れてマスタユニット12に到達し、さらにリピータ35″を通過してT delay_Cだけ遅れてスレーブ#1,#3に到達する。
【0085】
このように、各In_frameを送信する都度、2つのリピータ35′と2つのリピータ35″通過するので、それぞれ遅れる。従って、スレーブ#nの送信タイミングTinは、下記式により決定できる。
【0086】
【0087】
なお、上記した計算式は、EVE_frameが発行されず、OUT_frame受信後、すぐにIn_frameが発行される場合のものであり、In_frameの送信前に他のフレームの送信を行う場合には、係る他のフレームを送信するに要する期間を加算する。
【0088】
また、リピート遅延時間は、リピータの性能・仕様により求めることができる。なお、上記式によれば、スレーブとリピータとの接続関係は問わず、各スレーブから出力されるIn_frame長と、送信順がわかれば、各スレーブの送信タイミングを求めることができる。
【0089】
さらに、図21の構成において、2つのリピータ35′の間に、スレーブ#5が設置された場合、スレーブ#5からマスタユニット12へ向けてIn_frameを出力した場合のリピート遅延時間を考えると、マスタユニット12に伝達されるまでに、1つのリピータ35′を通過するため、「T delay_B×1/2」だけ遅延し、さらに、そのIn_frameがスレーブ#1,3に伝達されるまでに「T delay_C」だけ遅れる。また、スレーブ#2,4に伝達される場合にも、1つのリピータ35′を通過するため、「T delay_B×1/2」だけ遅延するが、この遅延は、IN_frameがマスタユニット12に伝達される際に同時に発生する。従って、全体の遅延時間は、(T delay_B×1/2)+T delay_Cとなる。
【0090】
よって、より正確かつ無駄のないIN_frameタイムドメインを求めるためには、リピータとスレーブがどのように接続されているかの接続構成を把握し、各スレーブから出力された場合の遅延時間を算出し、それに基づいてIN_frameタイムドメインを求めると良い。但し、係る接続構成を把握するのは煩雑であるので、簡易的には、リピータの接続構成のみ取得し、直列に配置されたリピータの最下流に接続したスレーブからIN_framを送信した場合の遅延時間を求め、最も大きい遅延時間を各In_frameの送信における遅延時間と設定することである。
【0091】
上記した各構成にすることにより、多点や少点数などの多様なスレーブが混在していても、スレーブ毎に最適なフレーム長に可変・設定することにより高速通信することができる。
【0092】
【発明の効果】
以上のように、この発明では、スレーブの情報量,入出力点数等に応じて各In_frameを送信する時間の割り当てを可変にすることにより、通信プロトコルをシステム構成に応じて柔軟に対応させることができる。
【図面の簡単な説明】
【図1】従来例を示す図である。
【図2】本実施の形態のフィールドバスシステムの一例を示す図である。
【図3】マスタユニットの内部構造を示すブロック図である。
【図4】スレーブの内部構造を示すブロック図である。
【図5】通信サイクルにおいて送受されるフレームを示す図である。
【図6】OUT_frameのデータ構造を示す図である。
【図7】OUTデータの内部構造の一例を示す図である。
【図8】OUT_frameの転送を説明する図である。
【図9】IN_frameのデータ構造を示す図である。
【図10】多連送モードを説明する図である。
【図11】IN_frameの転送を説明する図である。
【図12】EVE_frameのデータ構造を示す図である。
【図13】EVE_frameの転送を説明する図である。
【図14】EVE_frameの転送を説明する図である。
【図15】Bus Configurationを説明するフローチャートである。
【図16】IN_frameタイムドメインを格納するスレーブのレジスタ(記憶手段)のデータ構造の一例を示す図である。
【図17】IN_frameのタイムドメインを説明する図である。
【図18】OUTデータ開始エリアを格納するスレーブのレジスタのデータ構造の一例を示す図である。
【図19】リピータを説明する図である。
【図20】リピート遅延時間を説明する図である。
【図21】リピータを含むフィールドバスシステムにおけるフレームの伝送を説明する図である。
【図22】図21における観測点A,B,Cのフレームの伝送タイミングを示すタイミングチャートである。
【符号の説明】
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 フィールドバス
35,35′,35″ リピータ
Claims (8)
- マスタと、複数のスレーブが、フィールドバスに接続され、前記マスタからはOUTデータを一括して前記スレーブへ転送し、前記スレーブは自局の決められた時間帯にINデータを返送するようにしたフィールドバスシステムであって、
前記マスタは、前記スレーブに格納された入出力点数を含むステータス情報を読み出し、
その読み出した前記ステータス情報に基づいて対応する各スレーブがINデータを送信するためのINフレームのフレーム長と、前記INフレームを送信するスレーブの順番から各INフレームの送信タイミングを決定し、前記マスタは、対応するスレーブにその決定したINフレームの送信タイミングを設定し、
前記スレーブは、前記一括して転送されてきた前記OUTデータを受信後、前記設定された送信タイミングになると、自己のINフレームを送信することを特徴とするフィールドバスシステム。 - 前記スレーブは、同一のINデータのフレームを連続して送信する多連送モードを有し、
前記ステータス情報は、前記多連送モードか否かの情報を含み、
前記マスタは、前記多連送モードで送信されてきた複数のINデータの内の少なくとも1つを正常に受信したときにINデータの転送を正常完了するようにしたことを特徴とする請求項1に記載にフィールドバスシステム。 - 前記フィールドバスにリピータが挿入されている場合に、フレームがそのリピータを通過する際に生じるリピート遅延時間を考慮して、前記INフレームの送信タイミングが設定されることを特徴とする請求項1または2に記載のフィールドバスシステム。
- マスタと複数のスレーブとがフィールドバスに接続されて、マスタとスレーブとの間でOUTデータとINデータとを通信するフィールドバスシステムにおけるフレームの通信方法であって、
前記マスタは、前記スレーブに格納された入出力点数を含むステータス情報を読み出し、
その読み出した前記ステータス情報に基づいて、各スレーブがINデータを送信するためのINフレームのフレーム長と、前記INフレームを送信するスレーブの順番から各INフレームの送信タイミングを決定し、
前記マスタは、対応する各スレーブにその決定したINフレームの送信タイミングとOUTデータとをそれぞれ一括で送信し、
前記スレーブは、前記マスタから送られてきた自己の前記送信タイミングを取得して記憶手段に記憶保持するとともに、前記一括して転送されてきた前記OUTデータのうち自己宛てのOUTデータを受信し、
前記スレーブは、その後、前記記憶保持した送信タイミングになると、自己のINフレームを送信し、
前記マスタは、各スレーブからのINデータを受信することを特徴とする通信方法。 - マスタからOUTデータを一括してスレーブへ転送し、前記スレーブでは自局の決められた時間帯にINデータを返送するようにしたフィールドバスシステムに接続するためのマスタであって、
フィールドバスに接続された前記スレーブに格納された入出力点数を含むステータス情報を読み出す機能と、
その読み出した前記ステータス情報に基づいて決定される各スレーブがINデータを送信するためのINフレームのフレーム長と、前記INフレームを送信するスレーブの順番から算出される各INフレームの送信タイミングを、対応するスレーブに通知する機能を備えたことを特徴とするマスタ。 - 前記フィールドバスシステムは、1つのスレーブから転送されるINデータのフレームを連続して送信する多連送モードを許容したものであり、
前記多連送モードで送信されてきた複数のINデータの内の少なくとも1つを正常に受信したときにINデータの転送を正常完了する機能を備えたことを特徴とする請求項5の記載にマスタ。 - マスタからOUTデータを一括してスレーブへ転送し、前記スレーブでは自局の決められた時間帯にINデータを返送するようにしたフィールドバスシステムに接続するためのスレーブであって、
入出力点数等のステータス情報を記憶保持し、
前記マスタからステータス読み出し要求に対して、前記ステータス情報を返送する機能と、
前記マスタから送られてくる自己のINデータを送信するためのINフレームの送信タイミングを記憶手段に格納する機能と、
前記マスタから一括して転送されてきたOUTデータを受信後、前記記憶手段に格納された送信タイミングになった際に、INフレームを送信する機能を備えたことを特徴とするスレーブ。 - 前記スレーブは、同一のINデータのフレームを連続して送信する多連送モードを実行する機能を有し、
前記ステータス情報は、前記多連送モードで送信するか否かの情報を含むことを特徴とする請求項7に記載のスレーブ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003068922A JP2004280304A (ja) | 2003-03-13 | 2003-03-13 | フィールドバスシステム及び通信方法並びにマスタ及びスレーブ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003068922A JP2004280304A (ja) | 2003-03-13 | 2003-03-13 | フィールドバスシステム及び通信方法並びにマスタ及びスレーブ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004280304A true JP2004280304A (ja) | 2004-10-07 |
Family
ID=33286084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003068922A Pending JP2004280304A (ja) | 2003-03-13 | 2003-03-13 | フィールドバスシステム及び通信方法並びにマスタ及びスレーブ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004280304A (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1760563A1 (en) * | 2005-08-31 | 2007-03-07 | Omron Corporation | Communication system and slave and repeater units therefor |
JP2007067922A (ja) * | 2005-08-31 | 2007-03-15 | Omron Corp | フィルタリングリピート機能 |
JP2008252600A (ja) * | 2007-03-30 | 2008-10-16 | Oki Electric Ind Co Ltd | 車々間通信システム及び車々間通信における誤り訂正方法 |
US7562164B2 (en) | 2005-09-09 | 2009-07-14 | Omron Corporation | Remote terminal apparatus for programmable controller |
JP2010021866A (ja) * | 2008-07-11 | 2010-01-28 | Omron Corp | 通信システム及びマスタ |
JP2015154212A (ja) * | 2014-02-13 | 2015-08-24 | 富士電機株式会社 | ネットワークシステム、そのパラメータ決定装置 |
WO2016105427A1 (en) * | 2014-12-24 | 2016-06-30 | Intel Corporation | Apparatus and method for using multiple multi-drop buses |
JP2019176474A (ja) * | 2018-03-26 | 2019-10-10 | エスティーマイクロエレクトロニクス アプリケーション ゲゼルシャフト ミット ベシュレンクテル ハフツングSTMicroelectronics Application GmbH | 通信方法、対応するシステム、装置、信号及び乗物 |
JP2020155942A (ja) * | 2019-03-20 | 2020-09-24 | 三菱電機株式会社 | 保護制御装置 |
CN118381043A (zh) * | 2024-06-21 | 2024-07-23 | 德力西电气有限公司 | 主从通信方法、无功补偿系统和存储介质 |
US12088429B2 (en) | 2021-03-08 | 2024-09-10 | Stmicroelectronics Design And Application S.R.O. | Microcontroller circuit, corresponding device, system and method of operation |
-
2003
- 2003-03-13 JP JP2003068922A patent/JP2004280304A/ja active Pending
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1760563A1 (en) * | 2005-08-31 | 2007-03-07 | Omron Corporation | Communication system and slave and repeater units therefor |
JP2007067922A (ja) * | 2005-08-31 | 2007-03-15 | Omron Corp | フィルタリングリピート機能 |
US7792155B2 (en) | 2005-08-31 | 2010-09-07 | Omron Corporation | Communication system and slave and repeater units therefor |
JP4636257B2 (ja) * | 2005-08-31 | 2011-02-23 | オムロン株式会社 | フィルタリングリピート機能 |
US7562164B2 (en) | 2005-09-09 | 2009-07-14 | Omron Corporation | Remote terminal apparatus for programmable controller |
JP2008252600A (ja) * | 2007-03-30 | 2008-10-16 | Oki Electric Ind Co Ltd | 車々間通信システム及び車々間通信における誤り訂正方法 |
JP2010021866A (ja) * | 2008-07-11 | 2010-01-28 | Omron Corp | 通信システム及びマスタ |
JP2015154212A (ja) * | 2014-02-13 | 2015-08-24 | 富士電機株式会社 | ネットワークシステム、そのパラメータ決定装置 |
WO2016105427A1 (en) * | 2014-12-24 | 2016-06-30 | Intel Corporation | Apparatus and method for using multiple multi-drop buses |
US10326711B2 (en) | 2014-12-24 | 2019-06-18 | Intel Corporation | Apparatus and method for using multiple multi-drop buses |
JP2019176474A (ja) * | 2018-03-26 | 2019-10-10 | エスティーマイクロエレクトロニクス アプリケーション ゲゼルシャフト ミット ベシュレンクテル ハフツングSTMicroelectronics Application GmbH | 通信方法、対応するシステム、装置、信号及び乗物 |
US11366778B2 (en) | 2018-03-26 | 2022-06-21 | Stmicroelectronics Application Gmbh | System and method for communication between a master device and a slave device |
CN114666183A (zh) * | 2018-03-26 | 2022-06-24 | 意法设计与应用股份有限公司 | 通信方法及对应的系统和设备 |
JP7253950B2 (ja) | 2018-03-26 | 2023-04-07 | エスティーマイクロエレクトロニクス アプリケーション ゲゼルシャフト ミット ベシュレンクテル ハフツング | 通信方法、対応するシステム、装置、信号及び乗物 |
US11675721B2 (en) | 2018-03-26 | 2023-06-13 | Stmicroelectronics Application Gmbh | System and method for communication between a master device and a slave device |
JP7509855B2 (ja) | 2018-03-26 | 2024-07-02 | エスティーマイクロエレクトロニクス アプリケーション ゲゼルシャフト ミット ベシュレンクテル ハフツング | 通信方法、対応するシステム、装置、信号及び乗物 |
US12066962B2 (en) | 2018-03-26 | 2024-08-20 | Stmicroelectronics Application Gmbh | System and method for communication between a commander device and a responder device |
JP2020155942A (ja) * | 2019-03-20 | 2020-09-24 | 三菱電機株式会社 | 保護制御装置 |
JP7097840B2 (ja) | 2019-03-20 | 2022-07-08 | 三菱電機株式会社 | 保護制御装置 |
US12088429B2 (en) | 2021-03-08 | 2024-09-10 | Stmicroelectronics Design And Application S.R.O. | Microcontroller circuit, corresponding device, system and method of operation |
CN118381043A (zh) * | 2024-06-21 | 2024-07-23 | 德力西电气有限公司 | 主从通信方法、无功补偿系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2558111C (en) | Communication system and slave and repeater units therefor | |
JP5563165B2 (ja) | 切り替え可能なデータレートによる直列データ伝送のための方法及び装置 | |
US9529746B2 (en) | Method for operating a communication system | |
US9461937B2 (en) | Method and device for a serial data transmission with additionally inserted data | |
EP2169487B1 (en) | Industrial controller with coordination of network transmissions using global clock | |
JP2012039446A (ja) | 通信システム及び通信装置 | |
CN103279371A (zh) | 一种分布式控制系统多从机程序在线同步升级的方法 | |
CN115442333A (zh) | 基于rs485通信的自组网方法、装置、计算机设备及介质 | |
CN106878131B (zh) | 一种profibus耦合器及profibus的数据传输方法 | |
JP2004280304A (ja) | フィールドバスシステム及び通信方法並びにマスタ及びスレーブ | |
US20100262736A1 (en) | Communication method and master-slave system for a field bus configured according to the as-interface standard | |
CN112165733B (zh) | 一种私有协议的点对点多信道网络搭建方法及系统 | |
JP2009049642A (ja) | 伝送システム | |
CN105245424B (zh) | Profibus dp与profinet通信网络通过共享存储器互连的方法 | |
JP4596448B2 (ja) | バスシステムの加入者におけるプログラム中断を発生させる方法,その装置及びバスシステム | |
JP2019097088A (ja) | シリアル通信システム | |
JP4023342B2 (ja) | フィールドバスシステムにおける二重アドレス検知方法及びスレーブ並びにマスタ及びフィールドバス | |
US20040198325A1 (en) | Subscriber device for a high-performance communication system | |
JP4107110B2 (ja) | フィールドバスシステム及び接続確認方法並びにマスタ | |
JP5815660B2 (ja) | 数値制御システム | |
JP2004221905A (ja) | ネットワークシステムのモニタ方法及びモニタリングシステム並びにリピータ及びモニタ装置 | |
JP2004242031A (ja) | 通信システム | |
JP2007097157A (ja) | リピータ遅延影響の低減化 | |
JP2006033490A (ja) | データ通信装置及び通信システム | |
JP2008109397A (ja) | 遠隔監視システムおよびそのログオン管理方法 |
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: 20080213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080418 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080520 |