JP5223582B2 - メッセージ伝送装置及びメッセージ伝送方法 - Google Patents

メッセージ伝送装置及びメッセージ伝送方法 Download PDF

Info

Publication number
JP5223582B2
JP5223582B2 JP2008261683A JP2008261683A JP5223582B2 JP 5223582 B2 JP5223582 B2 JP 5223582B2 JP 2008261683 A JP2008261683 A JP 2008261683A JP 2008261683 A JP2008261683 A JP 2008261683A JP 5223582 B2 JP5223582 B2 JP 5223582B2
Authority
JP
Japan
Prior art keywords
message
transmission
frame
station
time
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
JP2008261683A
Other languages
English (en)
Other versions
JP2010093551A (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2008261683A priority Critical patent/JP5223582B2/ja
Publication of JP2010093551A publication Critical patent/JP2010093551A/ja
Application granted granted Critical
Publication of JP5223582B2 publication Critical patent/JP5223582B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、リング形状ネットワークを使用する複数の通信局間のメッセージ伝送に関し、特にメッセージ伝送帯域が時間により制限されている場合のメッセージ帯域の利用効率向上を行うメッセージ伝送装置及びメッセージ伝送方法に関する。
従来のリング形状ネットワークにおけるメッセージ伝送方法としては、トークンパッシング方式が知られている。トークンとはある特定の信号またはフレームで、これをリングネットワーク上で巡回させて、トークンを受けた局にメッセージの送信権を与える伝送方式である。
トークンパッシング方式のネットワークでは、上流局から受けたデータを一旦FIFOに受けて、FIFOに蓄えられたデータのヘッダ部分を解析することで、受けたデータがトークンかメッセージか、自局宛か否か、あるいは自局送信データかどうかの判定を行い、それにしたがって中継、受信、削除、送信などの動作を行う。
図10(a)は、従来のネットワークの構成を示す図、図10(b)は従来のトークンパッシング方式のメッセージ伝送例を示す図である。
図10(a)に示すように、このネットワークは、ノード101をマスタ局とする5局構成のリングネットワークである。
そして、図10(b)に示すように、マスタ局であるノード101は、メッセージ送信権を与えるためのトークン(フリートークンTf)を下流へ送信する。フリートークンを受けたノード102は、自局に送信メッセージがあるか否かを確認する。例えば、ノード104への送信メッセージがある場合には、フリートークンのフレームの一部を書き換えビジートークン(Tb:メッセージフレームを意味する)とし、そこにメッセージを付加して下流へ送信する。
メッセージを受信したノード103は、受け取ったデータがビジートークン(メッセージ)であること、自局宛メッセージではないこと、自局送信メッセージでないことを確認し、下流局へ中継する。
メッセージを受信したノード104は、メッセージが自局宛であることを認識し、メッセージデータを自局受信バッファへ格納する。受信バッファへの格納が終わったことで正常受信を示す情報(ACK)を付加して下流へ送信する。
メッセージ送信ノード102は、ノード104から正常に受信できたことを示すACK情報が返ってきたことを確認し、トークンをフリートークンに変えて、下流局へ送信する。以下これを繰り返すことで、メッセージの送信を各局で行っていく。
また、複数のプロセッサをそれぞれノード装置を介してリングバスに接続したリング形状ネットワークにおけるデータ転送方式として、各プロセッサに、他のプロセッサ宛の複数の送信情報を、一括して対応するノード装置に転送し、該ノード装置からリングバスに送出させる手段を設け、各ノード装置にリングバスから到着する複数の受信情報を一旦蓄積する手段を設け、各プロセッサにノード装置に蓄積された複数の受信情報を一括して受信する手段を設けるというものが知られている(例えば、特許文献1参照)。
この特許文献1に記載のデータ転送方式では、複数の送信情報および複数の受信情報が、一括してプロセッサとノード装置との間で転送されるため、転送処理に伴うオーバーヘッド処理の所要回数を大幅に減少させることができる。
さらに、1つの通信局を複数の通信手段で構成して、それらに同一の物理アドレスを付与してフレームの受信負荷分散を図り、プロセッサに対してネットワークから受信された順番通りにフレームを受け渡すことを可能とした通信制御装置が知られている(例えば、特許文献2参照)。
ところで、リング形状ネットワークをプログラマブルコントローラ(PLC)の制御ネットワークとして使用したシステムとして、センサやアクチュエータを接続するIOモジュールやIOモジュールから得られた情報をもとに制御演算を行うCPUモジュールから構成されたものがある(本出願人の製品名はMICREX−SXシステム)。
このような制御ネットワーク(以下、SXバス)では、CPUモジュールとIOモジュール間の制御データ更新(以下、IOリフレッシュ)を、一定期間内に必ず行われなければならない。仮にIOリフレッシュが一定周期内に行われなかった場合、出力抜けなどが発生し、IOモジュールに接続されている機器の異常動作となる。
また、このSXバスはCPUモジュールを1システム上に複数構成することが可能であり、CPUモジュール間ではデータメッセージを交換する必要がある。データメッセージ交換プロトコルとIOリフレッシュプロトコルとは、異なるプロトコルであり、これらを同一バス上に共存させるために、ここでは、時分割によるプロトコル帯域管理を行っている。図11は、CPUモジュールにおけるモジュール内部プロセッサと時分割帯域管理のイメージである。
特開平7−58762号公報 特開平6−261056号公報
しかしながら、上記のようなSXバスにおけるメッセージ交換では、一定周期のうちの決まった帯域時間のみがメッセージ交換可能時間となる。このように決められた時間内で、トークンパッシング方式でメッセージ交換を行うためには、以下のようなやり方でメッセージ帯域時間を管理する必要がある。
第1の方法は、ネットワークを構成しているメッセージ通信可能局が最大サイズのメッセージを送信しても耐えられるだけのメッセージ送信時間をあらかじめメッセージ帯域として確保し、トークン1周でメッセージ帯域を終了するというものである。
第2の方法は、ある局がメッセージ送信を行い、ACK応答を受け取ったら、トークンをマスタ局まで返し、トークンの返却を受けたマスタ局が自局の持つタイマをもとにメッセージ帯域の残り時間を計算することで、再度トークンを送信するかを決定するというものである。
すなわち、図10(b)のトークンパッシング方式の説明では、ノード102がメッセージを削除し、フリートークンを送信すると、ノード103がすぐにトークンを取得しているが、上記第2の方法では、これを一度マスタ局まで戻し、改めてフリートークンを生成することになる。
しかしながら、第1の方法では、メッセージ通信可能局がシステムに増えれば増えるほど、メッセージ送信帯域を大きく確保せねばならず、高速にIOリフレッシュを行いたいPLCシステムには不向きであり、かつ、メッセージ送信要求局が偏って存在している場合、メッセージ帯域を余らせてしまう。
また、第2の方法では、1メッセージの送信に対して、必ずトークンを1周させ、残り時間の判断をマスタ局が行わねばならず、メッセージ帯域の利用効率の観点で必ずしもよい方法とはいえない。
そこで、本発明は、通信時間帯域が制限されているリング形状ネットワークにおけるメッセージ通信において、より効率的にメッセージ帯域を利用することが可能なメッセージ伝送装置、及びメッセージ伝送方法を提供することを課題としている。
上記課題を解決するために、請求項1に係るメッセージ伝送装置は、複数の通信局のうち、一つの通信局をマスタ局、他の通信局をスレーブ局とし、各通信局をリング状に接続したリング形状ネットワークに伝送フレームを周回させるメッセージ伝送装置であって、前記伝送フレームは、連続的に送信される伝送フレームのうちの最終フレームであるか否かを示す最終フレーム情報と、メッセージ交換が可能な帯域の残り時間を示すメッセージ帯域残り時間情報とを少なくとも有し、前記マスタ局は、前記メッセージ交換が可能な帯域の開始時に、前記最終フレームであることを示す最終フレーム情報を付加した伝送フレームを送出するメッセージ帯域開始手段を備え、前記マスタ局及び前記スレーブ局は、自局からの送信メッセージを有し、且つ前記最終フレーム情報が付加された伝送フレームを受信したとき、前記送信メッセージを送信した後のメッセージ帯域残り時間を算出する第1の算出手段と、前記第1の算出手段で算出したメッセージ帯域残り時間が正値であるとき、前記最終フレーム情報を非最終フレーム情報に変更する第1の受信フレーム情報更新手段と、前記第1の受信フレーム情報更新手段により前記変更がなされたとき、前記送信メッセージと、前記最終フレーム情報と、前記メッセージ帯域残り時間とを付加した伝送フレームを生成するメッセージフレーム生成手段と、前記メッセージフレーム生成手段により伝送フレームが生成されたとき、前記生成された伝送フレームを前記受信した伝送フレームに引き続いて送出するメッセージフレーム送信手段と、を備えることを特徴としている。
これにより、自局からの送信メッセージを送信してもメッセージ帯域残り時間があるときに、受信したフレームに引き続いて自局の送信メッセージフレームを送信し、逆にメッセージ帯域残り時間がなければメッセージ送信を行わないようにすることができるので、効率的にメッセージ帯域を使用することができる。また、このようにした場合、メッセージのフレームが複数ネットワーク上を流れることになるが、伝送フレームに最終フレーム情報を追加することで、どのフレームに引き続いて自局のメッセージを送信するかを各局が判断することができる。
また、請求項2に係るメッセージ伝送装置は、請求項1に係る発明において、前記第1の算出手段は、前記受信した伝送フレームのメッセージ帯域残り時間から前記自局からの送信メッセージの伝送時間を差し引いた差分を、前記送信メッセージを送信した後のメッセージ帯域残り時間として算出することを特徴としている。
これにより、メッセージ帯域残り時間と自局がメッセージを送信することにより使われる時間とを比較し、メッセージ帯域の残り時間の方が大きければ、受信したフレームに引き続いて自局の送信メッセージフレームを送信し、逆にメッセージ帯域の残り時間の方が小さければメッセージ送信を行わないようにすることができるので、効率的にメッセージ帯域を使用することができる。
さらに、請求項3に係るメッセージ伝送装置は、請求項1に係る発明において、前記マスタ局の前記第1の算出手段は、前記受信した伝送フレームのメッセージ帯域残り時間から前記送信メッセージの伝送時間を差し引いた差分から前記リング形状ネットワークにおける総伝送遅延時間を減算した結果を、前記送信メッセージを送信した後のメッセージ帯域残り時間として算出することを特徴としている。
これにより、マスタ局は、自局送信メッセージを送信する際に、総伝送遅延時間(ネットワーク1周分の遅延時間)を減算したメッセージ帯域残り時間をセットすることができるので、各局でメッセージの中継や受信、送信、削除等の判定を行うことに起因して発生する遅延時間を考慮して、適正なメッセージ帯域残り時間をセットすることができる。
また、請求項4に係るメッセージ伝送装置は、請求項1〜3の何れか1項に係る発明において、前記マスタ局は、前記最終フレーム情報が付加された伝送フレームを受信したとき、前記受信した伝送フレームの前記最終フレーム情報を非最終フレーム情報に変更する第2の受信フレーム情報更新手段と、前記自局からの送信メッセージが無い状態で、前記最終フレーム情報が付加された伝送フレームを受信したとき、及び前記第1の算出手段で算出したメッセージ帯域残り時間が負値であるときの何れかであるとき、前記受信した伝送フレームのメッセージ帯域残り時間に応じたメッセージ帯域残り時間を算出する第2の算出手段と、前記第2の算出手段により前記メッセージ帯域残り時間を算出したとき、前記最終フレーム情報と、前記第2の算出手段で算出した前記メッセージ帯域残り時間とを付加した伝送フレームを生成するダミーメッセージフレーム生成手段と、前記第2の算出手段で算出したメッセージ帯域残り時間が正値であるとき、受信した前記伝送フレームに引き続いて前記ダミーメッセージフレーム生成手段で生成した伝送フレームを送出するダミーメッセージフレーム送信手段と、を備えることを特徴としている。
このように、マスタ局は、最終メッセージを中継する際に、最終フレーム情報とメッセージ帯域残り時間とをコピーしたダミーメッセージを生成し送信するので、メッセージの送達確認のために、メッセージ受信局がACK情報をメッセージ送信局に対して送り返し、メッセージがメッセージ送信局により削除される構成の場合で、最後にメッセージ送信した局にメッセージが返るまでに、新規のメッセージを送信する局が現れない場合であっても、最後のメッセージを送信した局がメッセージを削除したあと、メッセージフレームが一切流れなくなり、メッセージ帯域が空いてしまう状態となるのを回避することができる。
さらに、請求項5に係るメッセージ伝送装置は、請求項4に係る発明において、前記第2の算出手段は、前記受信した伝送フレームのメッセージ帯域残り時間をそのまま前記メッセージ帯域時間として算出することを特徴としている。
このように、マスタ局は、ネットワークを構成するノード数が比較的少なく、各局で発生する遅延時間が無視できる程度である場合には、受信した伝送フレームのメッセージ帯域残り時間をそのままメッセージ帯域残り時間としてセットする。
また、請求項6に係るメッセージ伝送装置は、請求項4に係る発明において、前記第2の算出手段は、前記受信した伝送フレームのメッセージ帯域残り時間から前記リング形状ネットワークにおける総伝送遅延時間を減算した結果を、前記メッセージ帯域時間として算出することを特徴としている。
このように、マスタ局は、最終フレーム情報付きのメッセージコピーの際に、総伝送遅延時間を減算してメッセージ帯域残り時間をセットするので、ネットワークを構成するノード数が比較的多い場合であっても、各局でメッセージの中継や受信、送信、削除等の判定を行うことに起因して発生する遅延時間を考慮して、適正なメッセージ帯域残り時間をセットすることができる。
さらに、請求項7に係るメッセージ伝送装置は、請求項1〜6の何れか1項に係る発明において、前記マスタ局は、前記最終フレーム情報が付加された伝送フレームを受信したとき、前記受信した伝送フレームの前記最終フレーム情報を非最終フレーム情報に変更する第2の受信フレーム情報更新手段と、自局から他局へ優先的に伝送すべき優先メッセージを複数有し、且つ前記最終フレーム情報が付加された伝送フレームを受信したとき、前記メッセージ帯域残り時間を零として算出する第3の算出手段と、前記第3の算出手段により前記メッセージ帯域残り時間を算出したとき、前記優先メッセージと、前記最終フレーム情報と、前記第3の算出手段で算出した前記メッセージ帯域残り時間とを付加した伝送フレームを生成する優先メッセージフレーム生成手段と、前記優先メッセージフレーム生成手段により伝送フレームが生成されたとき、受信した前記伝送フレームに引き続いて前記優先メッセージフレーム生成手段で生成した伝送フレームを送出する優先メッセージフレーム送信手段と、を備えることを特徴としている。
このように、マスタ局が自局から他局へ優先的に伝送すべき優先メッセージを複数有するとき、メッセージ帯域残り時間を零として優先メッセージを送信するので、他局によるメッセージ送信を抑制して、連続して優先メッセージを送信することができる。
さらにまた、請求項8に係るメッセージ伝送方法は、複数の通信局のうち、一つの通信局をマスタ局、他の通信局をスレーブ局とし、各通信局をリング状に接続したリング形状ネットワークに伝送フレームを周回させるメッセージ伝送方法であって、前記伝送フレームは、連続的に送信される伝送フレームのうちの最終フレームであるか否かを示す最終フレーム情報と、メッセージ交換が可能な帯域の残り時間を示すメッセージ帯域残り時間情報とを少なくとも有し、前記マスタ局は、前記メッセージ交換が可能な帯域の開始時に、前記最終フレームであることを示す最終フレーム情報を付加した伝送フレームを送出し、前記マスタ局及び前記スレーブ局は、自局からの送信メッセージを有し、且つ前記最終フレーム情報が付加された伝送フレームを受信したとき、前記送信メッセージを送信した後のメッセージ帯域残り時間を算出し、算出したメッセージ帯域残り時間が正値であるとき、前記最終フレーム情報を非最終フレーム情報に変更すると共に、前記送信メッセージと、前記最終フレーム情報と、前記メッセージ帯域残り時間とを付加した伝送フレームを生成し、前記受信した伝送フレームに引き続いて送出することを特徴としている。
本発明の請求項1に係る発明によれば、伝送フレームにメッセージ帯域の残り時間をセットするので、送信要求局は、自局からの送信メッセージを送信してもメッセージ帯域残り時間があるときに、受信したフレームに引き続いて自局の送信メッセージフレームを送信し、逆にメッセージ帯域残り時間がなければメッセージ送信を行わないようにすることができ、効率的にメッセージ帯域を利用することができるという効果が得られる。
さらに、メッセージ帯域の開始時に、マスタ局が最終フレームであることを示す最終フレーム情報を付加した伝送フレームを送出するので、メッセージ帯域となった時点ですぐにメッセージを送れる状態とすることができ、効率的にメッセージ帯域を利用することができる。
このように、通信時間帯域が制限されているリング形状ネットワークにおけるメッセージ通信においても、各送信局の処理負荷がトークン方式による処理負荷と大きく変わることなく、より効果的にメッセージ帯域を利用することができ、例えば、PLCシステムなど制御データの定周期交換と大容量メッセージ交換とが混在するようなシステムバスにおけるメッセージ交換の効率化が図れる。
さらに、請求項2に係る発明によれば、メッセージ帯域の残り時間の方が大きければ、受信したフレームに引き続いて自局の送信メッセージフレームを送信し、逆にメッセージ帯域の残り時間の方が小さければメッセージ送信を行わないようにすることができるので、より効率的にメッセージ帯域を使用することができる。
また、請求項3に係る発明によれば、マスタ局が自局送信メッセージを送信する際、各局において発生する遅延時間を考慮してメッセージ帯域残り時間をセットするので、ネットワークを構成する局数が多く、ネットワーク全体の総伝送遅延時間が無視できないほど大きい場合であっても、メッセージ帯域残り時間を適正にセットすることができると共に、確実にメッセージを帯域時間内に送信することができ、次の帯域にメッセージが残ることはない。
また、請求項4に係る発明によれば、マスタ局は、最終メッセージを中継する際に、最終フレーム情報とメッセージ帯域残り時間とをコピーしたメッセージを生成し送信するので、メッセージ送信要求局の有無にかかわらず、最終フレーム情報が付加されたメッセージフレームを常に巡回させることができる。その結果、メッセージ帯域中にメッセージフレームがなくなる状態となるのを回避することができると共に、最後のメッセージを送信した局がメッセージを削除してから所定時間後にメッセージ送信要求局が現れたとき、メッセージが送信できなくなるのを回避することができるという効果が得られる。
また、請求項5に係る発明によれば、ネットワークを構成するノード数が比較的少なく、各局で発生する遅延時間が無視できる程度である場合には、受信した伝送フレームのメッセージ帯域残り時間をそのままメッセージ帯域残り時間としてセットすることができる。
さらにまた、請求項6に係る発明によれば、マスタ局は、各局において発生する遅延時間を考慮してメッセージ帯域残り時間をセットするので、ネットワークを構成する局数が多く、ネットワーク全体の総伝送遅延時間が無視できないほど大きい場合であっても、メッセージ帯域残り時間を適正にセットすることができる。
さらに、請求項7に係る発明によれば、マスタ局が自局から他局へ優先的に伝送すべき優先メッセージを複数有するとき、メッセージ帯域残り時間を零として優先メッセージを送信するので、他局によるメッセージ送信を抑制して、連続して優先メッセージを送信することができ、PLCシステムに由来するメッセージを優先的に処理して、システムの維持・管理を適正に行うことができる。
また、請求項8に係る発明によれば、通信時間帯域が制限されているリング形状ネットワークにおけるメッセージ通信において、より効率的にメッセージ帯域を利用することができるメッセージ伝送方法とすることができる。
以下、本発明の実施の形態を図面に基づいて説明する。
図1は、本発明におけるリングネットワークの構成図である。図中符号1はマスタ局、2〜5はスレーブ局であり、各通信局は通信ケーブル6a〜6eによってリング状に接続され、リング形状ネットワークを構成している。
本実施形態では、このリング形状ネットワークをプログラマブルコントローラ(PLC)の制御ネットワークとして使用した場合について説明する。
図2は、プログラマブルコントローラシステムの構成を示す概略図である。
図中符号10はベースボードであり、ベースボード10上にIOモジュール11、CPUモジュール12および電源13が構成されている。ベースボード10間はケーブル14によって接続されている。また、ケーブル14はベースボード10内にも配線されており、ベースボード10内の各モジュール間もケーブル14によって接続されている。なお、図2では、IOモジュール11、CPUモジュール12に対してケーブル14が2度通過しているが、どちらか一方でのみモジュールへの信号入力を行うようになっている。
IOモジュール11は、センサやアクチュエータ等が接続されてデータの収集等を行い、CPUモジュール12は、IOモジュール11から得られた情報をもとに制御演算を行う。IOモジュール11とCPUモジュール12との間の制御データ更新(IOリフレッシュ)は、一定期間内に行われる。
ここでは、CPUモジュール12を1システム上に複数構成しているため、CPUモジュール12間でデータメッセージを交換する必要がある。データ交換プロトコルとIOリフレッシュプロトコルとは異なるプロトコルであり、これを同一バス上に共存させるために、このようなネットワークシステムでは時分割によりプロトコル帯域管理を行う(図11)。そのため、上記データメッセージ交換では、一定周期のうちの決まった帯域時間のみがメッセージ交換可能時間となる。
本実施形態では、上記のようにメッセージ交換可能時間が制限されている場合において、効率的にメッセージ帯域を利用できるようにする。具体的には、メッセージ帯域の残り時間を表すフィールドをメッセージヘッダ情報に追加し、そこに示される残り時間と自局がメッセージを送信することにより使われる時間とを比較して、メッセージ帯域の残り時間が大きければ、受信したフレームに引き続いて自局の送信メッセージフレームを送信し、逆にメッセージ帯域の残り時間の方が小さければメッセージ送信をあきらめることで、効率的にメッセージ帯域を使用する。このようにした場合、メッセージのフレームが複数ネットワーク上を流れるため、どのフレームに引き続いて自局のメッセージを送信するかを各局が判断しなければならない。そこで、メッセージヘッダに最終フレームであることを示す情報(以下、ラストフレームフラグと称す)を追加する。
図3は、メッセージフレームのフォーマットを示す図である。
この図3に示すように、メッセージフレームのフォーマットは、概略的には、メッセージヘッダ部とメッセージ本体部とから成る。
メッセージヘッダ部は、L(ラストフレームフラグ)41と、FC(フレームコード)42と、R_TIME(メッセージ帯域残り時間)43と、SA(送信元局番)44と、DA(宛先局番)45と、SIZE(データサイズ)46とから構成される。
ラストフレームフラグ41は、連続的に送信されるフレームのうちの最終フレームであるか否かを示すものであり、例えば、このフレームが最終フレームであるときにL=1にセット、最終フレームでないときにL=0にリセットされるようになっている。
また、FC42により、このデータがメッセージかどうかを判定する。例えば、フレームコードは、メッセージデータであるときにFC=1、メッセージデータでないときにFC=0にセットされるようになっている。また、このような2値でなく、任意の桁数の判別子であっても構わない。
R_TIME43の値は、0〜「IOリフレッシュ時間の最大値」までの値をとる。例えば図11では、IOリフレッシュを行うためのタクト周期を最大10msとしているので、R_TIMEの最大値も同様に10msまでの値となる。
メッセージ本体部は、DATA(データ)47から構成され、ここには実際にアプリケーションなどが使用する通信データが格納されている。
次に、この図3に示すメッセージフレームを使用したメッセージ伝送方法について説明する。
図4は、スレーブ局におけるメッセージ処理手順を示すフローチャートである。
先ず、ステップS1で、スレーブ局は、上流局からのメッセージを受信し、メッセージヘッダ部をFIFOに蓄えてからステップS2に移行する。
ステップS2では、スレーブ局は、前記ステップS1で蓄えたメッセージヘッダ部を解析し、受信したメッセージが自局で送信したものであるか否かを判定する。そして、自局が送信したものであると判定したときには、ステップS3に移行してこのメッセージを削除してからステップS4に移行し、自局が送信したものでないと判定したときには、そのままステップS4に移行する。
ステップS4では、スレーブ局は、前記ステップS1で蓄えたメッセージヘッダ部を解析し、受信したメッセージが自局宛のメッセージであるか否かを判定する。そして、自局宛のものであると判定したときには、ステップS5に移行してこのメッセージの受信動作を行ってからステップS6に移行し、自局宛のものでないと判定したときには、そのままステップS6に移行する。
ステップS6では、スレーブ局は、前記ステップS1で蓄えたメッセージヘッダ部を解析し、受信したメッセージのラストフレームフラグがL=1であるか否かを判定する。そして、L=0であると判定したときには、このフレームに引き続くメッセージフレームが存在すると判断してステップS7に移行し、送信フラグを、自局送信メッセージの送信可能状態でないことを示す“0”にリセットしてから後述するステップS13に移行する。
一方、前記ステップS6でL=1であると判定したときにはステップS8に移行して、自局に送信メッセージがあるか否かを判定する。そして、送信メッセージがないときには前記ステップS7に移行し、送信メッセージがあるときにはステップS9に移行する。
ステップS9では、スレーブ局は、前記ステップS1で蓄えたメッセージヘッダ部を解析し、受信フレームのメッセージ帯域残り時間(R_TIME)が自局送信データの伝送時間以上であるか否かを判定する。そして、このR_TIMEが自局送信データの伝送時間より短いときには、メッセージ送信をしないものと判断して前記ステップS7に移行し、R_TIMEが自局送信データの伝送時間以上であるときには、ステップS10に移行する。
ステップS10では、受信フレームのR_TIMEと自局送信データの伝送時間との差分を新たなR_TIMEとして算出する(R_TIME=R_TIME−自局送信データの伝送時間)。
次にステップS11に移行して、スレーブ局は、送信フラグを自局送信メッセージの送信可能状態であることを示す“1”にセットし、ステップS12に移行する。
ステップS12では、スレーブ局は、受信したメッセージのラストフレームフラグをL=0にリセットし、ステップS13に移行する。
ステップS13では、スレーブ局は、受信したメッセージを下流局に中継し、ステップS14に移行する。
ステップS14では、スレーブ局は、前記送信フラグが“1”にセットされているか否かを判定し、送信フラグ=1であるときには、ステップS15に移行してラストフレームフラグをL=1にセットした自局メッセージを送信してからメッセージ処理を終了する。このとき送信するメッセージフレームにおいて、R_TIMEには前記ステップS10で計算した値をセットする。
一方、前記ステップS14で、送信フラグ=0であると判定したときには、自局メッセージの送信を行わずそのままメッセージ処理を終了する。
このように、スレーブ局は、メッセージヘッダ部をFIFOに受信した後、メッセージ削除判定、メッセージ受信判定、自局メッセージ送信判定を順次行って、下流局にメッセージを中継するようになっている。
なお、マスタ局は、メッセージ帯域の開始時に、L=1にセットされた最初のメッセージを生成し送信する(メッセージ帯域開始手段)以外は、図4に示すスレーブ局における処理と同様の処理を実行する。
この図4において、ステップS9及びS10が第1の算出手段に対応し、ステップS12が第1の受信フレーム情報更新手段に対応し、ステップステップS14及びS15がメッセージフレーム生成手段およびメッセージフレーム送信手段に対応している。
次に、第1の実施形態における動作および効果について説明する。
図5は、第1の実施形態におけるメッセージ伝送例を示す図である。ここでは、図1に示すネットワーク構成において、ノード2がノード4宛に、ノード3がノード1宛にメッセージを送る場合について説明する。
なお、図5において、LMはラストフレームフラグ付きメッセージ、Mは通常メッセージ、RTxはメッセージ帯域残り時間(xは付け直し回数)、Maはメッセージデータ(aは宛て先)、ACKbはACK情報を含むメッセージ(bはメッセージ送信元)を示している。
先ず、メッセージ帯域の開始時に、マスタ局(ノード1)が自局宛にサイズ0のメッセージ(ダミーメッセージ)を送信する(61)。このダミーメッセージでは、ラストフレームフラグがL=1にセットされると共に、メッセージ帯域残り時間(RT1)がセットされる。
メッセージ帯域残り時間は、実際のメッセージ帯域の時間から最大長のメッセージが1周するのに十分な時間を引いた値とする。これによりメッセージ帯域残り時間を全て使い切るメッセージを送信した場合でも、次の帯域にメッセージが残ることはない。
ここで、マスタ局がメッセージ帯域の開始を判断する方法としては、内蔵タイマによる定周期割り込みや、その他の帯域のデータ交換が終わったことを判定するなどいくつかの方法が考えられるが、ここでは特にその判定方式を問わない。
なお、ダミーメッセージは、マスタ局が送信データを持っていない場合でも、メッセージ帯域になった場合にすぐにメッセージが送れるようにするために送信するものである。したがって、マスタ局が送信メッセージを持っていた場合は、それを送信するようにしてもよい。
このように、メッセージ帯域の開始時にマスタ局がダミーメッセージを送信するので、メッセージ帯域となった時点ですぐにメッセージを送れる状態とすることができ、効率的にメッセージ帯域を利用することができる。
マスタ局から送信されたダミーメッセージはノード2が受信し、ノード2は図4に示すメッセージ処理を行う。
ノード2は、ステップS2で、受信したメッセージが自局送信メッセージかどうかを判定し、自局送信でないので削除は行わずにステップS4に移行し、受信したメッセージが自局宛かを判定し、自局宛ではないので受信も行わない。ここで、ダミーメッセージはラストフレームフラグのセットされているメッセージなので、ステップS6からステップS8に移行し、自局に送信メッセージがあるかを判定する。このとき、ノード4宛の送信メッセージがあるので、ステップS8からステップS9に移行して、送信メッセージの伝送時間とメッセージ帯域残り時間(RT1)とを比較する。
送信メッセージの伝送時間は、メッセージデータ部の長さとヘッダサイズおよび各局でメッセージを処理するためのメッセージ送信間隔から決定される。
このとき、メッセージ帯域残り時間(RT1)がノード2のメッセージ伝送時間以上であるものとすると、ステップS9からステップS10に移行してメッセージ帯域残り時間R_TIMEを新たに算出し、ステップS11に移行してメッセージ送信可能状態を示す送信フラグ(各ノードの内部レジスタ)を“1”にセットする。
次に、ノード2は現在受信しているダミーメッセージに続けて自局送信メッセージを送信することになるので、ステップS12で、現在受信しているダミーメッセージのラストフレームフラグをL=0にリセットする。このとき、メッセージ帯域残り時間の値をRT1から前記ステップS10で算出したR_TIMEに書き換える必要はない。
これらの操作を行ったうえで、ノード2は受信メッセージ(ダミーメッセージ)を下流局であるノード3に中継し、続けて自局の送信メッセージを送信する(62)。このとき自局送信メッセージのラストフレームフラグはL=1、メッセージ帯域残り時間は前記ステップS10で再計算された値(RT2=RT1−自局送信メッセージ伝送時間)となっている。
このように、受信メッセージのラストフレームフラグをリセットし、自局送信メッセージのラストフレームフラグをセットするので、下流局ではこの送信メッセージに引き続いてメッセージ送信を行うことができる。
また、ノード2は、メッセージ帯域残り時間をRT2=RT1−自局送信メッセージ伝送時間とするので、適正なR_TIMEがセットされた自局メッセージを送信することができる。
さらに、ノード2は、メッセージ帯域残り時間(RT1)が自局メッセージ伝送時間以上であるときにのみ、自局メッセージを送信するので、メッセージ帯域時間内に確実にメッセージ送信することができる。
ノード3では、図4に示すメッセージ処理を行って、受信したダミーメッセージおよびノード2から送信されたノード4宛の送信メッセージをそのまま下流局であるノード4に中継し、続けて自局の送信メッセージ(ノード1宛の送信メッセージ)を送信する(63)。このとき、ノード4宛の送信メッセージのラストフレームフラグはリセットされる。また、自局送信メッセージのラストフレームフラグはセットされると共に、メッセージ帯域残り時間はステップS10で再計算された値(RT3=RT2−自局送信メッセージ伝送時間)がセットされる。
ノード4では、図4に示すメッセージ処理を行い、ノード1からのダミーメッセージ、ノード2から自局宛の送信メッセージ、ノード3からノード1宛の送信メッセージを順次受信し、ダミーメッセージを下流局であるノード5に中継すると共に、自局宛の送信メッセージに対して受信動作を行い、次いでノード1宛の送信メッセージをノード5に中継する。
ここで、自局宛の送信メッセージの受信動作では、ステップS2の自局送信判定の後、ステップS4の判定により受信メッセージが自局宛メッセージであることを認識し、ステップS5でメッセージデータを受信バッファへ格納すると共に、自局宛のデータを受信したことを示すACK情報を受信メッセージに付加する。そして、ステップS13で、このACK情報が付加されたメッセージをメッセージ送信元であるノード2に送り返す(64)。なお、自局宛のデータは削除しても構わないし、データにACK情報を付加して送信しても構わない。これは、伝送路の負荷重視か、処理速度重視か等によって適宜設定する。
このように、メッセージ受信局は、メッセージ送信局に対してACK情報を送り返すので、メッセージ受信局はメッセージの送達確認を行うことができる。
ノード5では、図4に示すメッセージ処理を行い、ノード1からのダミーメッセージ、ノード4からのACK情報を含むメッセージ、ノード3からの送信メッセージを順次受信し、これらをそのままマスタ局に中継する。
マスタ局では、自局が送信したダミーメッセージ、ノード4からのACK情報を含むメッセージ、ノード3からの送信メッセージを順次受信する。そして、自局が送信したダミーメッセージを削除し(65)、ノード4からのACK情報を含むメッセージをそのまま中継すると共に、ノード3から自局宛のメッセージを受信し、ACK情報を付加したメッセージをメッセージ送信元であるノード3に送り返す。
自局が送信したメッセージを削除する際には、宛先局が正常にメッセージを受信できたかどうかACK情報を確認する。これにより、自局の送信したメッセージが正しく宛先局に伝わったことがわかる。ただし、上記ダミーメッセージは自局宛の特殊なメッセージなので、(65)のケースでは、ACK情報の確認を行わずにメッセージの削除を行っても構わない。
一方、ノード2およびノード3では、ACK情報の確認を行ってから自局が送信したメッセージを削除する(66,67)。
これらの操作により、メッセージ帯域を効率的に活用し、複数の局でメッセージのやり取りを行うことができる。
このように、上記第1の実施形態では、伝送フレームのヘッダ情報に、最終フレーム情報とメッセージ帯域残り時間情報とを追加するので、送信要求局は、自局送信メッセージの伝送時間がメッセージ帯域残り時間より長いときにはメッセージ送信せず、自局送信メッセージの伝送時間がメッセージ帯域残り時間以下であるときには、受信メッセージに引き続いて自局のメッセージ送信を行うので、効率的にメッセージ帯域を利用することができる。
また、このとき、メッセージのフレームが複数ネットワーク上を流れることになるが、伝送フレームに最終フレーム情報を追加しているので、どのフレームに引き続いて自局のメッセージを送信するかを各局が判断することができる。
さらに、メッセージ帯域の開始時に、マスタ局が最終フレームであることを示す最終フレーム情報を付加した伝送フレームを送出するので、メッセージ帯域となった時点ですぐにメッセージを送れる状態とすることができ、効率的にメッセージ帯域を利用することができる。
このように、通信時間帯域が制限されているリング形状ネットワークにおけるメッセージ通信において、各送信局の処理負荷がトークン方式による処理負荷と大きく変わることなく、より効率的にメッセージ帯域を利用することが可能となり、たとえばPLCシステムなど制御データの定周期交換と大容量メッセージ交換が混在するようなシステムバスにおけるメッセージ交換の効率化が可能となる。
次に、本発明における第2の実施形態について説明する。
この第2の実施形態は、前述した第1の実施形態において、マスタ局に、メッセージフレームが流れなくなってしまう状態となることを回避する機能を設けるようにしたものである。
図6は、第2の実施形態におけるマスタ局のメッセージ処理手順を示すフローチャートである。なお、この図6では、メッセージ帯域の開始時に最初のダミーメッセージを送信する処理は省略している。
先ず、ステップS21で、マスタ局は、上流局からのメッセージを受信し、メッセージヘッダ部をFIFOに蓄えてからステップS22に移行する。
ステップS22では、マスタ局は、前記ステップS21で蓄えたメッセージヘッダ部を解析し、受信したメッセージが自局で送信したものであるか否かを判定する。そして、自局が送信したものであると判定したときには、ステップS23に移行してこのメッセージを削除してからステップS24に移行し、自局が送信したものでないと判定したときには、そのままステップS24に移行する。
ステップS24では、マスタ局は、前記ステップS21で蓄えたメッセージヘッダ部を解析し、受信したメッセージが自局宛のメッセージであるか否かを判定する。そして、自局宛のものであると判定したときには、ステップS25に移行してこのメッセージの受信動作を行ってからステップS26に移行し、自局宛のものでないと判定したときには、そのままステップS26に移行する。
ステップS26では、マスタ局は、前記ステップS21で蓄えたメッセージヘッダ部を解析し、受信したメッセージのラストフレームフラグがL=1であるか否かを判定する。そして、L=0であると判定したときには、このフレームに引き続くメッセージフレームが存在すると判断して後述するステップS29に移行する。一方、前記ステップS26でL=1であると判定したときには、ステップS27に移行する。
ステップS27では、マスタ局は、受信したメッセージのラストフレームフラグをL=0にリセットしてからステップS28に移行し、送信フラグを、自局送信メッセージの送信可能状態を示す“1”にセットしてステップS29に移行する。
ステップS29では、マスタ局は、受信したメッセージを下流局に中継し、ステップS30に移行する。
ステップS30では、マスタ局は、前記送信フラグが“1”にセットされているか否かを判定し、送信フラグ=0であるときには前記ステップS21に移行し、後続のメッセージを受信後に処理を続ける。一方、送信フラグ=1であるときには、ステップS31に移行して自局に送信メッセージがあるか否かを判定する。
そして、送信メッセージがないときにはステップS32に移行し、ダミーメッセージを生成してから後述するステップS35に移行する。ここで、ダミーメッセージのラストフレームフラグはL=1にセットすると共に、R_TIMEには、受信したフレームのR_TIMEから総遅延時間を減算した値をセットする(R_TIME=R_TIME−総遅延時間)。
総遅延時間は、ネットワークを構成する局数とFIFO段数とに応じて計算されるネットワーク全体の総伝送遅延時間である。ネットワーク構成局数は、ネットワークユーザによる設定を用いてもよいし、マスタ局から順次スレーブ局にメッセージを送信し、その応答で確認してもよい。あるいは、自局宛メッセージの送信から受信までの時間差を計測し、これを総伝送遅延時間としてもよい。
一方、前記ステップS31で、自局に送信メッセージがあると判定したときには、ステップS33に移行して、メッセージ帯域残り時間が自局送信データの伝送時間以上であるか否かを判定する。メッセージ帯域残り時間が自局送信データの伝送時間より短いときには、メッセージ送信をしないものと判断して前記ステップS32に移行し、メッセージ帯域残り時間が自局送信データの伝送時間以上であるときには、ステップS34に移行してメッセージ帯域残り時間R_TIMEの計算を行うと共に、送信メッセージの生成を行ってから後述するステップS35に移行する。
このステップS34では、受信したフレームのR_TIMEと自局送信データの伝送時間との差分から総遅延時間を減算した値を新たなR_TIMEとする(R_TIME=R_TIME−自局送信データの伝送時間−総遅延時間)。また、送信メッセージのラストフレームフラグはL=1にセットする。
ステップS35では、マスタ局は、前記ステップS32又はステップS34で算出したR_TIMEが正値であるか否かを判定し、R_TIME<0であるときにはメッセージ送信をしないものと判断して後述するステップS37に移行する。
一方、前記ステップS35でR_TIME≧0であると判定したときには、ステップS36に移行して自局メッセージを送信し、ステップS37に移行する。
ステップS37では、マスタ局は、送信フラグを“0”にリセットし、メッセージ処理を終了する。
この図6において、ステップS26及びS27が第2の受信フレーム情報更新手段に対応し、ステップS32が第2の算出手段及びダミーメッセージフレーム生成手段に対応し、ステップS34が第1の算出手段に対応し、ステップS34がメッセージフレーム生成手段に対応し、ステップS35及びS36がダミーメッセージフレーム送信手段及びメッセージ送信手段に対応している。
次に、第2の実施形態における動作および効果について説明する。
図7は、第2の実施形態におけるメッセージ伝送例を示す図である。
ここでは、前述した第1の実施形態と同様に、ノード2がノード4宛に、ノード3がノード1宛にメッセージを送る場合について説明する。但し、この第2の実施形態では、一巡後にマスタ局(ノード1)にてダミーメッセージフレームを生成し、結果、ノード5にてノード3へのメッセージ送信を継続して実行可能としている点で前述した第1の実施形態とは異なる。以下、相違点である一巡後からの処理について説明する。
マスタ局は、上述したように、ラストフレームフラグがL=1となっているフレームを中継する際、自局に送信要求メッセージの有無にかかわらず、新規のメッセージを生成し送信するようになっている。
すなわち、マスタ局(ノード1)は、ラストフレームフラグがL=1となったフレームを受信したとき、図6のステップS26でYesと判定してステップS27に移行し、受信フレームのラストフレームフラグをL=0にしてから、ステップS29でそのフレームをノード2に中継する(81)。
このとき、マスタ局に自局送信メッセージが無いものとすると、ステップS31からステップS32に移行して、ラストフレームフラグがセットされ、R_TIMEに、受信したフレームのR_TIMEから総遅延時間を減算した値(RT4=RT3−総遅延時間)がセットされたダミーメッセージを生成し、ステップS36でこれを送信する(82)。このため、ノード3のメッセージ削除(83)以降もメッセージフレームを巡回させることが可能となる。
これにより、ノード5がノード3宛のメッセージを送信するときには、この新規のダミーメッセージに続いてメッセージ送信を行うことができる(84)。
メッセージ伝送を行う場合、メッセージ送信要求局が次々にメッセージを送信している場合問題がないが、ラストフレームフラグがL=1のメッセージがネットワークを1周する間に新しい送信要求局が現れなかった場合、メッセージ送信局にラストフレームフラグがL=1となっているメッセージが返ってきたところで、メッセージが削除されてしまい、それ以降メッセージ帯域が余っていた場合でも、次のメッセージを送信することが出来なくなる(図5の(67)のケース)。
これに対して本実施形態では、マスタ局にこの状態を回避するための機能を追加しているので、メッセージ帯域中にメッセージフレームがなくなり、新しいメッセージが送信できなくなることがない。
また、前述したように、ネットワーク上の局は、受信したメッセージの中継、受信、送信および削除の判定を行うために、メッセージのヘッダ部分をFIFOに蓄える。単純に中継操作を行う際にもFIFOの段数分メッセージヘッダが蓄えられる時間が各局あたりの遅延時間となる。遅延時間はメッセージの送受信を行わない局であっても発生するので、ネットワークを構成するノード数が増加するほど、この遅延時間は大きくなり無視できない。
そこで、本実施形態では、マスタ局が新規のダミーメッセージを生成する際には、ネットワークを構成する局数とFIFO段数とに応じて計算されるネットワーク全体の総伝送遅延時間をメッセージ帯域残り時間から減算し、その結果をR_TIMEとしてセットするようにする。これにより、メッセージ帯域内で適正にメッセージ送信を行うことができる。
このように、上記第2の実施形態では、マスタ局が最終メッセージを中継する際に、自局の送信要求メッセージの有無にかかわらず、新規のメッセージを生成し送信するので、メッセージ送信要求局の有無にかかわらず、ラストフレームフラグを持つメッセージをネットワーク上に巡回させることができ、メッセージ帯域中にメッセージフレームが一切流れなくなる状態となるのを回避することができる。
また、マスタ局は、上記新規のメッセージ生成する際、メッセージ帯域残り時間からネットワークの総伝送遅延時間を減算するので、各局でメッセージの中継や受信、送信、削除等の判定を行うことに起因して発生する遅延時間を考慮して、適正なメッセージ帯域残り時間をセットすることができる。さらに、総伝送遅延時間を考慮してもメッセージ帯域残り時間が余る場合にのみ、伝送フレームを送出することができるので、確実にメッセージを帯域時間内で送信することができる。
なお、上記第2の実施形態においては、図6のステップS33で、受信したフレームのメッセージ帯域残り時間(R_TIME)が自局送信データの伝送時間以上であるか否かを判定する場合について説明したが、R_TIMEと自局送信データの伝送時間との差分から総伝送遅延時間を減算した値が正値であるか否かを判定するようにしてもよい。
また、上記第2の実施形態においては、ネットワークを構成するノード数が少なく、各局における遅延時間が無視できる程度である場合には、図6のステップS32で、受信したフレームのメッセージ帯域残り時間をそのまま新たなメッセージ帯域残り時間として算出したり(R_TIME=R_TIME)、ステップS34で、受信したフレームのメッセージ帯域残り時間と自局送信データの伝送時間との差分を新たなメッセージ帯域残り時間として算出したり(R_TIME=R_TIME−自局送信データの伝送時間)することもできる。
次に、本発明における第3の実施形態について説明する。
この第3の実施形態は、前述した第2の実施形態において、マスタ局に、他局に優先的に伝送すべき複数のメッセージ(以下、優先メッセージと称す)があるとき、他局のメッセージ送信を抑制し、この優先メッセージを連続して送信するようにしたものである。
図8は、第3の実施形態におけるマスタ局のメッセージ処理手順を示すフローチャートである。なお、この図8では、メッセージ帯域の開始時に最初のダミーメッセージを送信する処理は省略している。
また、この図8に示すメッセージ処理は、図6に示す前述した第2の実施形態におけるマスタ局のメッセージ処理において、ステップS30の後に優先メッセージの有無を判定するステップS41を追加し、当該ステップS41で優先メッセージが有ると判定されたとき、優先メッセージを作成するステップS42を追加したことを除いては、図6のメッセージ処理と同様の処理を行う。したがって、ここでは、図6と同一処理を行うステップには、同一のステップ番号を付し、処理の異なる部分を中心に説明する。
ステップS41では、マスタ局は、自局に複数の優先メッセージがあるか否かを判定し、複数の優先メッセージがないと判定したときには前記ステップS31に移行し、複数の優先メッセージがあると判定したときにはステップS42に移行する。
ステップS42では、マスタ局は、メッセージ帯域残り時間をR_TIME=0とする共に上記優先メッセージを付加した送信メッセージの生成を行い、前記ステップS35に移行する。このとき、生成した送信メッセージのラストフレームフラグはL=1にセットする。
また、このステップS42で、マスタ局は、実際のメッセージ帯域残り時間から送信する優先メッセージの通信時間を差し引いた値を算出し、これを新たな実際のメッセージ帯域残り時間として保持しておく。ここで保持したメッセージ帯域残り時間は、優先メッセージ処理が終了した後の通常メッセージ処理を行う際に使用する。
この図8において、ステップS41が第3の算出手段に対応し、ステップS42が優先メッセージフレーム生成手段に対応に対応し、ステップS35及びS36が優先メッセージフレーム送信手段に対応している。
次に、第3の実施形態における動作および効果について説明する。
図9は、第3の実施形態におけるメッセージ伝送例を示す図である。
ここでは、マスタ局(ノード1)がノード4とノード5とに送信する優先メッセージを有すると共に、ノード2がノード4宛の通常メッセージを有するものとし、以下、マスタ局(ノード1)が優先メッセージを送信する処理から説明する。
マスタ局に、ノード4とノード5とに送信する2つの優先メッセージがあるとき、図8のステップS41でYesと判定してステップS42に移行し、ステップS42でラストフレームフラグがL=1、メッセージ帯域残り時間がR_TIME=0にセットされたノード4宛の優先メッセージを生成し、これをステップS36で送信する(91)。
マスタ局から送信された優先メッセージはノード2が受信し、ノード2は前述した図4に示すメッセージ処理を行う。このとき、ノード2はノード4宛の通常メッセージを有するため、図4のステップS8からステップS9に移行するが、メッセージ帯域残り時間がR_TIME=0であるため、ステップS9でNoと判定されてメッセージ送信が行えない。したがって、ノード2は、マスタ局から送信された優先メッセージをノード3に中継する処理だけを行うことになる(92)。
ノード3では、図4に示すメッセージ処理を行って、ノード2から送信されたノード4宛の優先メッセージをそのままノード4に中継する。
そして、ノード4は、図4に示すメッセージ処理を行って、自局宛の優先メッセージに対する受信動作を行い、ACK情報を付加したメッセージをメッセージ送信元であるマスタ局に送り返す。
ノード5では、図4に示すメッセージ処理を行って、ノード4から送信されたメッセージをそのままマスタ局に中継する。
マスタ局では、自局が送信した優先メッセージのACK情報を確認してから、この優先メッセージを削除する。次に、マスタ局は、ノード4宛の優先メッセージの生成・送信と同様にノード5宛の優先メッセージを生成し、これを送信する(93)。
この場合にもメッセージ帯域残り時間はR_TIME=0であるため、ノード2はノード4宛のメッセージ送信を行えない(94)。
ノード3及びノード4では、図4に示すメッセージ処理を行って優先メッセージをそのまま中継し、ノード5では、図4に示すメッセージ処理を行って自局宛の優先メッセージに対する受信動作を行い、ACK情報を付加したメッセージをメッセージ送信元であるマスタ局に送り返す。
マスタ局では、自局が送信した優先メッセージのACK情報を確認してから、この優先メッセージを削除する。これにより優先メッセージの送信処理が終了し、マスタ局は通常メッセージ(ここでは自局宛のダミーメッセージ)の送信を行う(95)。このとき、ダミーメッセージに付加されるメッセージ帯域残り時間R_TIMEは、ノード4,ノード5宛の優先メッセージの通信時間を差し引いた値(RT1)となる。
マスタ局から送信されたダミーメッセージはノード2が受信し、ノード2は図4に示すメッセージ処理を行う。このとき、ノード2はノード4宛の通常メッセージを有するため、受信したダミーメッセージに続けてノード4宛のメッセージを送信する(96)。このとき、送信メッセージのラストフレームフラグはL=1、メッセージ帯域残り時間はステップS10で再計算された値(RT2=RT1−自局送信メッセージ伝送時間)となる。
リングネットワークをプログラマブルコントローラ(PLC)の制御ネットワークとして使用したシステムにおいて、ネットワークを介して交換するデータの種類としては大きく分けてPLCアプリケーションに由来するメッセージとPLCシステムに由来するメッセージとがある。
PLCシステムに由来するメッセージはシステムの維持、管理のために優先的に処理される必要がある。しかしながら、マスタ局とスレーブ局との間でメッセージの優先度に違いがなく両局が等しく扱われる場合、スレーブ局から送信されるPLCアプリケーション由来のメッセージにより、マスタ局がPLCシステムに由来するメッセージを直ちに送信できないという欠点がある。
これに対して本実施形態では、マスタ局に、他局に優先して伝送したいメッセージが複数ある場合、一時的にメッセージ帯域残り時間を“0”にセットして他局が通常メッセージを送信できない状態とすることで、マスタ局が優先的にメッセージ帯域を使えるようにし、連続して優先メッセージを送信する。このように、マスタ局に、他局と比較して高い優先度を持たせることができ、PLCシステムに由来するメッセージを優先的に処理することが可能となる。
なお、通常ネットワークのマスタ局は、ネットワークの構成・管理のためにスレーブ局と比較して複雑な処理が必要であり、且つネットワークの管理がPLCシステムの管理に深く関連することから、ネットワークのマスタ局の優先がシステムのマスタ優先(=システム管理メッセージの優先)と考えて差し支えない。
このように、上記第3の実施形態では、マスタ局が自局から他局へ優先的に伝送すべき優先メッセージを複数有するとき、フレームにセットするメッセージ帯域残り時間を零とするので、他局によるメッセージ送信を抑制し、連続して優先メッセージの送信が可能となる。その結果、PLCシステムに由来するメッセージを優先的に処理することができ、システムの維持・管理を適正に行うことができる。
本発明のリングネットワークの構成を示す図である。 プログラマブルコントローラシステムの構成図である メッセージフレームのフォーマットを示す図である。 スレーブ局におけるメッセージ処理手順を示すフローチャートである。 第1の実施形態におけるメッセージ伝送例を示す図である。 第2の実施形態におけるマスタ局のメッセージ処理手順を示すフローチャートである。 第2の実施形態におけるメッセージ伝送例を示す図である。 第3の実施形態におけるマスタ局のメッセージ処理手順を示すフローチャートである。 第3の実施形態におけるメッセージ伝送例を示す図である。 従来のネットワーク構成およびメッセージ伝送例を示す図である。 従来のCPU内部プロセッサと時分割帯域管理のイメージを示す図である。
符号の説明
1〜5 ノード
6a〜6e 通信ケーブル
10 ベースボード
11 IOモジュール
12 CPUモジュール
13 電源
14 ケーブル
41 ラストフレームフラグ
42 フレームコード
43 メッセージ帯域残り時間
44 送信元局番
45 宛先局番
46 データサイズ
47 データ

Claims (8)

  1. 複数の通信局のうち、一つの通信局をマスタ局、他の通信局をスレーブ局とし、各通信局をリング状に接続したリング形状ネットワークに伝送フレームを周回させるメッセージ伝送装置であって、
    前記伝送フレームは、連続的に送信される伝送フレームのうちの最終フレームであるか否かを示す最終フレーム情報と、メッセージ交換が可能な帯域の残り時間を示すメッセージ帯域残り時間情報とを少なくとも有し、
    前記マスタ局は、前記メッセージ交換が可能な帯域の開始時に、前記最終フレームであることを示す最終フレーム情報を付加した伝送フレームを送出するメッセージ帯域開始手段を備え、
    前記マスタ局及び前記スレーブ局は、
    自局からの送信メッセージを有し、且つ前記最終フレーム情報が付加された伝送フレームを受信したとき、前記送信メッセージを送信した後のメッセージ帯域残り時間を算出する第1の算出手段と、
    前記第1の算出手段で算出したメッセージ帯域残り時間が正値であるとき、前記最終フレーム情報を非最終フレーム情報に変更する第1の受信フレーム情報更新手段と、
    前記第1の受信フレーム情報更新手段により前記変更がなされたとき、前記送信メッセージと、前記最終フレーム情報と、前記メッセージ帯域残り時間とを付加した伝送フレームを生成するメッセージフレーム生成手段と、
    前記メッセージフレーム生成手段により伝送フレームが生成されたとき、前記生成された伝送フレームを前記受信した伝送フレームに引き続いて送出するメッセージフレーム送信手段と、を備えることを特徴とするメッセージ伝送装置。
  2. 前記第1の算出手段は、前記受信した伝送フレームのメッセージ帯域残り時間から前記自局からの送信メッセージの伝送時間を差し引いた差分を、前記送信メッセージを送信した後のメッセージ帯域残り時間として算出することを特徴とする請求項1に記載のメッセージ伝送装置。
  3. 前記マスタ局の前記第1の算出手段は、前記受信した伝送フレームのメッセージ帯域残り時間から前記送信メッセージの伝送時間を差し引いた差分から前記リング形状ネットワークにおける総伝送遅延時間を減算した結果を、前記送信メッセージを送信した後のメッセージ帯域残り時間として算出することを特徴とする請求項1に記載のメッセージ伝送装置。
  4. 前記マスタ局は、
    前記最終フレーム情報が付加された伝送フレームを受信したとき、前記受信した伝送フレームの前記最終フレーム情報を非最終フレーム情報に変更する第2の受信フレーム情報更新手段と、
    前記自局からの送信メッセージが無い状態で、前記最終フレーム情報が付加された伝送フレームを受信したとき、及び前記第1の算出手段で算出したメッセージ帯域残り時間が負値であるときの何れかであるとき、前記受信した伝送フレームのメッセージ帯域残り時間に応じたメッセージ帯域残り時間を算出する第2の算出手段と、
    前記第2の算出手段により前記メッセージ帯域残り時間を算出したとき、前記最終フレーム情報と、前記第2の算出手段で算出した前記メッセージ帯域残り時間とを付加した伝送フレームを生成するダミーメッセージフレーム生成手段と、
    前記第2の算出手段で算出したメッセージ帯域残り時間が正値であるとき、受信した前記伝送フレームに引き続いて前記ダミーメッセージフレーム生成手段で生成した伝送フレームを送出するダミーメッセージフレーム送信手段と、を備えることを特徴とする請求項1〜3の何れか1項に記載のメッセージ伝送装置。
  5. 前記第2の算出手段は、前記受信した伝送フレームのメッセージ帯域残り時間をそのまま前記メッセージ帯域時間として算出することを特徴とする請求項4に記載のメッセージ伝送装置。
  6. 前記第2の算出手段は、前記受信した伝送フレームのメッセージ帯域残り時間から前記リング形状ネットワークにおける総伝送遅延時間を減算した結果を、前記メッセージ帯域時間として算出することを特徴とする請求項4に記載のメッセージ伝送装置。
  7. 前記マスタ局は、
    前記最終フレーム情報が付加された伝送フレームを受信したとき、前記受信した伝送フレームの前記最終フレーム情報を非最終フレーム情報に変更する第2の受信フレーム情報更新手段と、
    自局から他局へ優先的に伝送すべき優先メッセージを複数有し、且つ前記最終フレーム情報が付加された伝送フレームを受信したとき、前記メッセージ帯域残り時間を零として算出する第3の算出手段と、
    前記第3の算出手段により前記メッセージ帯域残り時間を算出したとき、前記優先メッセージと、前記最終フレーム情報と、前記第3の算出手段で算出した前記メッセージ帯域残り時間とを付加した伝送フレームを生成する優先メッセージフレーム生成手段と、
    前記優先メッセージフレーム生成手段により伝送フレームが生成されたとき、受信した前記伝送フレームに引き続いて前記優先メッセージフレーム生成手段で生成した伝送フレームを送出する優先メッセージフレーム送信手段と、を備えることを特徴とする請求項1〜6の何れか1項に記載のメッセージ伝送装置。
  8. 複数の通信局のうち、一つの通信局をマスタ局、他の通信局をスレーブ局とし、各通信局をリング状に接続したリング形状ネットワークに伝送フレームを周回させるメッセージ伝送方法であって、
    前記伝送フレームは、連続的に送信される伝送フレームのうちの最終フレームであるか否かを示す最終フレーム情報と、メッセージ交換が可能な帯域の残り時間を示すメッセージ帯域残り時間情報とを少なくとも有し、
    前記マスタ局は、前記メッセージ交換が可能な帯域の開始時に、前記最終フレームであることを示す最終フレーム情報を付加した伝送フレームを送出し、
    前記マスタ局及び前記スレーブ局は、自局からの送信メッセージを有し、且つ前記最終フレーム情報が付加された伝送フレームを受信したとき、前記送信メッセージを送信した後のメッセージ帯域残り時間を算出し、算出したメッセージ帯域残り時間が正値であるとき、前記最終フレーム情報を非最終フレーム情報に変更すると共に、前記送信メッセージと、前記最終フレーム情報と、前記メッセージ帯域残り時間とを付加した伝送フレームを生成し、前記受信した伝送フレームに引き続いて送出することを特徴とするメッセージ伝送方法。
JP2008261683A 2008-10-08 2008-10-08 メッセージ伝送装置及びメッセージ伝送方法 Active JP5223582B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008261683A JP5223582B2 (ja) 2008-10-08 2008-10-08 メッセージ伝送装置及びメッセージ伝送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008261683A JP5223582B2 (ja) 2008-10-08 2008-10-08 メッセージ伝送装置及びメッセージ伝送方法

Publications (2)

Publication Number Publication Date
JP2010093551A JP2010093551A (ja) 2010-04-22
JP5223582B2 true JP5223582B2 (ja) 2013-06-26

Family

ID=42255856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008261683A Active JP5223582B2 (ja) 2008-10-08 2008-10-08 メッセージ伝送装置及びメッセージ伝送方法

Country Status (1)

Country Link
JP (1) JP5223582B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2566110B1 (de) * 2011-08-30 2014-10-01 Siemens Aktiengesellschaft Verfahren zum Übertragen von Telegrammen in einem Automatisierungssystem

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2603158B2 (ja) * 1990-12-27 1997-04-23 株式会社小松製作所 直列制御装置のノ−ドアドレス割付制御装置
JP3392643B2 (ja) * 1996-07-08 2003-03-31 富士電機株式会社 リング状ネットワークにおける信号伝送方式
JP3713949B2 (ja) * 1998-03-27 2005-11-09 富士電機機器制御株式会社 リング状ネットワークのデータ転送方式
JP3728937B2 (ja) * 1998-07-31 2005-12-21 富士電機ホールディングス株式会社 リング状ネットワークのデータ伝送システム

Also Published As

Publication number Publication date
JP2010093551A (ja) 2010-04-22

Similar Documents

Publication Publication Date Title
US20210120065A1 (en) Method for Data Communication in an Industrial Network, Control Method, Device, Computer Program and Computer-Readable Medium
US9585113B2 (en) Method and device for time-synchronization in ad hoc network
JP6500123B2 (ja) 車載ゲートウェイ装置、及び車載ネットワークシステム
US7900115B2 (en) Replacement messages for identifying and preventing errors during the transmission of realtime-critical data
US11467566B2 (en) Communication device, communication terminal, communication device and method for operating a communication system for transmitting time-critical data
US7852857B2 (en) Coupler for a ring topology network and an ethernet-based network
JP2019114085A (ja) 制御システムおよび制御装置
CN109088821B (zh) 报文传输方法、业务链系统以及计算机可读存储介质
JP2016005247A (ja) ネットワーク伝送システム、そのマスタノード、スレーブノード
CN113196710A (zh) 分发节点、自动化网络和用于传输报文的方法
JP5223582B2 (ja) メッセージ伝送装置及びメッセージ伝送方法
CN102055657B (zh) Fc数据报文的负载分担方法和fc交换机系统
US11442432B2 (en) Communication device and method for data transmission within an industrial communication network
CN114531943B (zh) 数据传输方法和自动化通信网络
WO2014150676A1 (en) Multi-listener wireless medium access method
CN110493141B (zh) 一种路由转发传输控制方法、装置、设备和存储介质
JP7331066B2 (ja) Avbストリームのモジュール式ルーティングの方法及び装置
JP2014096699A (ja) 光パケットスイッチネットワークにおける優先経路の設定方法及び設定装置
KR101615252B1 (ko) 복수의 노드로 데이터를 전송하기 위한 방법, 이를 위한 장치 및 시스템
CN115174370B (zh) 一种分布式混合数据确定性传输装置及方法
WO2015055103A1 (zh) 一种配置点连接信息的获取方法及装置
JP5168182B2 (ja) 入出力データ転送方式
JP4715802B2 (ja) 通信システム
CN107979442A (zh) 一种发送报文和接收报文的方法、网络设备及报文发送系统
JP2006042164A (ja) ゲートウェイ装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110422

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130225

R150 Certificate of patent or registration of utility model

Ref document number: 5223582

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250