(57)【要約】【課題】  プログラムが不要なアンマネージドスイッチを用いながら優先処理情報の設定を行ない、優先制御が行えるイーサネットスイッチを提供すること【解決手段】  イーサネット用の複数の通信インタフェース１１と、通信インタフェースにて受信したフレームの転送処理を行なうデータ処理部１２と、その転送の際に一時的にフレームを記憶するキュー１４と、優先制御を行なうための優先処理情報を記憶する優先処理テーブル１５と、を備える。優先処理情報は、送信先や送信元を特定するためのポート番号と、優先順位と、を関連づけたものであり、データ処理部は、キューに格納されたフレームのＴＣＰ／ＵＤＰヘッダのポート番号を確認し、優先順位の高いポート番号を持つフレームを優先して出力する。【選択図】        図２
2009118357.tif 000002
【特許請求の範囲】
【請求項１】
イーサネット用の複数の通信インタフェースと、
その通信インタフェースにて受信したフレームの転送処理を行なうデータ処理手段と、
その転送の際に一時的にフレームを記憶するキューと、
優先制御を行なうための優先処理情報を記憶する優先処理テーブルと、を備え、
前記優先処理情報は、送信先や送信元を特定するためのポート番号と、優先順位と、を関連づけたものであり、
前記データ処理手段は、受信したフレームを前記キューに格納する処理と、前記キューに格納されたフレームのＴＣＰ／ＵＤＰヘッダの前記ポート番号を確認し、優先順位の高いポート番号を持つフレームを出力する処理を実行するものである
ことを特徴とするイーサネットスイッチ。
【請求項２】
前記優先処理テーブルは、揮発性メモリから構成され、
前記優先処理情報を記憶保持する不揮発性メモリと、
前記データ処理手段が受信したフレームの転送処理を行なう通常制御を行なうに先立ち、前記不揮発性メモリに記憶保持された優先処理情報を前記優先処理テーブルに転送する処理を実行する手段と、
を備えたことを特徴とする請求項１に記載のイーサネットスイッチ。
【請求項３】
優先制御による転送処理を実行するか否かを設定する切り替えスイッチを設け、
前記切り替えスイッチがＯＮの場合には、前記不揮発性メモリから前記優先処理テーブルへの優先処理情報の転送する処理を実行し、前記切り替えスイッチがＯＦＦの場合には、前記不揮発性メモリから前記優先処理テーブルへの優先処理情報の転送をしないようにすることを特徴とする請求項１または２に記載のイーサネットスイッチ。
【請求項４】
優先制御による転送処理を実行するか否かを設定する切り替えスイッチを設け、
前記データ処理手段は、前記切り替えスイッチのＯＮ／ＯＦＦに対応して、前記キューに格納されたフレームを出力するに際し、前記優先処理情報に基づく処理と、優先処理情報を用いない処理を切り替えるようにしたことを特徴とする請求項１〜３のいずれか１項に記載のイーサネットスイッチ。
【請求項５】
プログラマブルコントローラが接続され、そのプログラマブルコントローラとの間でデータを送信又は受信するためのイーサネットスイッチであって、
そのイーサネットスイッチが受信するフレームは、ＥｔｈｅｒＮｅｔ／ＩＰの標準使用で生成されたものであって、そのフレームのデータ領域に、プログラマブルコントローラにてサイクリック通信でリアルタイム性が求められる制御用データが格納される場合に、ＴＣＰ／ＵＤＰヘッダに、優先順位の高いポート番号を持つように構成されることを特徴とする請求項１から４のいずれか１項に記載のイーサネットスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、優先制御を行なうことのできるイーサネットスイッチに関するものである。
【背景技術】
【０００２】
ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）におけるネットワークシステムは、生産設備の制御を司る１または複数のＰＬＣ（プログラマブルコントローラ）と、そのＰＬＣにより動作が制御される機器とが、制御系のネットワークに接続される。それらＰＬＣと機器は、その制御系のネットワークを介してサイクリックに通信を行なうことで、Ｉ／Ｏデータの送受を行ない、生産設備を制御する。
【０００３】
ところで、ＬＡＮにおける標準的な通信プロトコルの一つであるイーサネット（登録商標）を、生産工場に導入しようとする試みがある。この場合、ＥｔｈｅｒＮｅｔ／ＩＰやＰＲＯＦＩＮＥＴに代表される産業用イーサネット規格に対応した機器を用い、ＩＰアドレスを使用して通信を行う。このとき、ＰＬＣや各機器は、イーサネット（登録商標）用のネットワークケーブルに対し、イーサネットスイッチを介して接続される。このイーサネットスイッチは、複数のポートを備え、所定のポートから受信したフレームを指定されたポートに転送し送信するようになっている。この転送処理は、受信したフレームを一旦キューに格納し、そのキューに格納されたフレームを所定の順で指定されたポートに転送する。
【０００４】
このイーサネットスイッチの一つとして、マネージドスイッチと称させるものがある。このマネージドスイッチは、優先制御機能（ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）機能）を持つものがある。この優先制御は、キューに格納されたフレームのうち、優先度の高いフレームを優先して転送するものである。これに対し、アンマネージドスイッチは、優先制御機能を持たないため、先読み先出しのＦＩＦＯで転送処理がなされる。
【０００５】
たとえば、上記のＦＡにおけるネットワークシステムでは、Ｉ／Ｏデータのように優先して転送したいものと、メッセージのようにＩ／Ｏデータに比べると優先して転送しなくても良いものが存在するので、マネージドスイッチを用い、Ｉ／Ｏデータを優先して転送するように設定することになる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
マネージドスイッチの場合、事前にツール装置等を用いてイーサネットスイッチに対して優先度を設定する必要がある。この設定方法は、通常、コマンドラインで設定を行なうものであるため、そのコマンドを知らなければならず、熟練の知識が必要であり非常に煩雑で難しいと言う問題がある。しかも、その設定方法は、イーサネットスイッチのメーカーごとに独自であるため、さらに煩雑さがます。
【０００７】
この発明は、プログラムが不要なアンマネージドスイッチを用いながら優先処理情報の設定を行ない、優先制御が行えるイーサネットスイッチを提供することを目的とする。
【課題を解決するための手段】
【０００８】
イーサネット（登録商標）用のフレーム（イーサネットＩＰデータ）は、ＴＣＰ／ＩＰヘッダにＥｔｈｅｒＮｅｔ／ＩＰの標準規格で定められたポート番号が格納されている。このポート番号は、本来的には、フレームの宛先（送信先）や発信元（送信元）を特定するための情報であり、その特定のみに用いられる。ところで、このポート番号は、“ＥｔｈｅｒＮｅｔ／ＩＰ  Ｉ／Ｏデータ”，“ＥｔｈｅｒＮｅｔ／ＩＰメッセージ”，その他のデータに対して専用のユニークな番号が割り振られている。このようにデータの種類ごとにユニークにポート番号が設定されている。そして、データの種類ごとに送信時の優先度の軽重を付すことが可能である。たとえば、ＦＡ制御を行なうにあたり、Ｉ／Ｏデータは、速く送る必要があるので優先度は高くなり、メッセージはＩ／Ｏデータよりも優先的に送る必要性はないので、優先度は低くなるなどである。そこで、本発明は、現状用いているポート番号の種類によって優先順位を定めることができる点に着目し、ポート番号情報を、（１）本来のポート番号を指定するのに用いる，（２）優先順位付けにも併せて用いる（兼用する）”構成（しくみ）とすることで、一般的に行なわれる優先制御のように個々のフレームごとに別途優先度を特定する情報を付加することをしないで済むようにした。そして、具体的には、以下のように構成した。
【０００９】
この発明によるイーサネットスイッチは、（１）イーサネット用の複数の通信インタフェースと、その通信インタフェースにて受信したフレームの転送処理を行なうデータ処理手段と、その転送の際に一時的にフレームを記憶するキューと、優先制御を行なうための優先処理情報を記憶する優先処理テーブルと、を備え、前記優先処理情報は、送信先や送信元を特定するためのポート番号と、優先順位と、を関連づけたものであり、前記データ処理手段は、受信したフレームを前記キューに格納する処理と、前記キューに格納されたフレームのＴＣＰ／ＵＤＰヘッダの前記ポート番号を確認し、優先順位の高いポート番号を持つフレームを出力する処理を実行するものとした。優先処理テーブルにポート番号と優先順位を関連づけた優先処理情報を格納するだけでよいので、優先順位の設定が容易で、アンマネージドスイッチにより優先制御機能を備えたイーサネットスイッチが実現できる。
【００１０】
（２）前記優先処理テーブルは、揮発性メモリから構成され、前記優先処理情報を記憶保持する不揮発性メモリと、前記データ処理手段が受信したフレームの転送処理を行なう通常制御を行なうに先立ち、前記不揮発性メモリに記憶保持された優先処理情報を前記優先処理テーブルに転送する処理を実行する手段と、を備えるとよい。この不揮発性メモリに記憶保持された優先処理情報を前記優先処理テーブルに転送する処理を実行する手段は、実施形態では、データ処理部１２で実現される。つまり、実施形態では、キューに対してフレームを一時的に格納したり、出力したりする“データ処理手段”としての機能と、優先処理情報を転送する“手段”としての機能を兼用しているが、それぞれ別々に構成することはもちろん良い。
【００１１】
（３）優先制御による転送処理を実行するか否かを設定する切り替えスイッチを設け、前記切り替えスイッチがＯＮの場合には、前記不揮発性メモリから前記優先処理テーブルへの優先処理情報の転送する処理を実行し、前記切り替えスイッチがＯＦＦの場合には、前記不揮発性メモリから前記優先処理テーブルへの優先処理情報の転送をしないようにすることもできる。この転送処理は、実施形態では、図５に示すフローチャートを実行する機能に対応する。優先処理情報を優先処理テーブルに転送しないと、優先処理テーブルに優先処理情報が存在していないので、データ処理手段がフレームの転送、つまり、キューからの出力をする際に参照する順位付けされた優先処理情報がなく、全てのデータ（ポート番号）が同順位とみなすことができるため、結果として、優先制御が行なわれず、通常の優先付けをしない処理（ＦＩＦＯ等）によりキューから出力される。
【００１２】
（４）優先制御による転送処理を実行するか否かを設定する切り替えスイッチを設け、前記データ処理手段は、前記切り替えスイッチのＯＮ／ＯＦＦに対応して、前記キューに格納されたフレームを出力するに際し、前記優先処理情報に基づく処理と、優先処理情報を用いない処理を切り替えるようにすることもできる。優先処理情報を用いない処理は、実施形態では、ＦＩＦＯにしたがって実行するようにしており、具体的には、図６の処理ステップＳ１３を実行する機能に対応する。また、優先処理情報に基づく処理（優先制御機能）は、実施形態では、図６の処理ステップＳ１４を実行する機能に対応する。
【００１３】
（３），（４）の発明によれば、切り替えスイッチの切り替え操作により、優先制御対応のイーサネットスイッチと、優先制御しないイーサネットスイッチとを、簡単に切り替えて実現できる。なお、切り替えスイッチの設置位置は任意であるが、例えば、本体ケースの上面に設けるようにするとよい。このように、上面に設置すると、適度な操作性を発揮させつつ、誤って切り替え操作されてしまうことを抑制できる。特に、実施形態のように、本体ケースをＤＩＮレールに取り付けるようにした場合には、本体ケースの背面（ＤＩＮレールの取付面）や側面に切り替えスイッチを設定すると、切り替え操作が困難か非常に煩雑となるので好ましくない。また、前面に設定すると、逆に操作しやすくなりすぎてしまい、ケーブルの着脱時等に誤ってさわり、意図しない不用意な切り替えを行なってしまうおそれがあるので好ましくない。そこで、上面に設置するのが好ましい。
【００１４】
（５）上記の各イーサネットスイッチは、プログラマブルコントローラが接続され、そのプログラマブルコントローラとの間でデータを送信又は受信するためのイーサネットスイッチとすることができる。その場合に、そのイーサネットスイッチが受信するフレームは、ＥｔｈｅｒＮｅｔ／ＩＰの標準使用で生成されたものであって、そのフレームのデータ領域に、プログラマブルコントローラにてサイクリック通信でリアルタイム性が求められる制御用データが格納される場合に、ＴＣＰ／ＵＤＰヘッダに、優先順位の高いポート番号を持つようにするとよい。
【００１５】
プログラマブルコントローラを含むネットワークシステムでは、イーサネットスイッチは、例えば、プログラマブルコントローラとＩＯ機器，ＩＯターミナルとの間で行なわれる主としてＩ／Ｏデータの送受の受け渡し（転送）を行なったり、プログラマブルコントローラ同士でＩ／Ｏデータの送受（データリンク等）を行なったりすることなどがある。もちろん、プログラマブルコントローラは他の装置・機器とデータの送受を行なうことがあるので、係るデータの転送もイーサネットスイッチが行なうことができる。もちろん、プログラマブルコントローラとイーサネットスイッチとの間で送信又は受信するデータは、サイクリック通信でリアルタイム性が求められる優先順位の高いものに限られることはなく、各種のデータがある。一例を示すと、プログラマブルコントローラ間やプログラマブルコントローラとモニタ装置との間で通信されるメッセージのデータ等がある。
【００１６】
もちろん、プログラマブルコントローラ同士や、プログラマブルコントローラと他の装置・機器との通信は、同一のイーサネットスイッチに接続されたもの同士で行なわれるのはもちろんのこと、異なるイーサネットスイッチに接続されたプログラマブルコントローラと他の装置・機器との間でも、係る異なるイーサネットスイッチ同士が通信可能に接続（ネットワークに加入）されている場合でも行なうことができる。さらには、本発明のイーサネットスイッチは、上記に例示列挙したように、プログラマブルコントローラを含むシステムに好ましく適用できるが、これに限るものではなく、ＦＡネットワークシステムにおいて、プログラマブルコントローラ以外の装置・機器間での通信等にもこのイーサネットスイッチは適用できる。
【００１７】
また、優先度（優先順位）の区別は、例えば、（ａ）サイクリックに送信又は受信する制御用データを格納したフレームであること（リアルタイム性を求められるデータ）を優先度が高いとし、（ｂ）非サイクリックに送信又は受信するメッセージ用データを格納したフレームであること（リアルタイム性を求められないデータ）は、（ａ）よりも優先度は低いとすることができる。もちろん、３段階以上に分けることを妨げない。
【発明の効果】
【００１８】
本発明は、ＥｔｈｅｒＮｅｔ／ＩＰの標準規格で定められたポート番号を優先処理情報に利用することで、プログラムが不要なアンマネージドスイッチを用いながら優先処理情報の設定を行ない、優先制御が行える。
【発明を実施するための最良の形態】
【００１９】
図１は、イーサネットスイッチが実装されるＦＡのネットワークシステムの一例を示している。生産工場に設置されるネットワークシステムは、複数の階層から成り立ち、数多くの種類のネットワークが使用されている。図１に示す例では、情報系のネットワーク１ａにツール装置２ａやＦＡコンピュータ２ｂやＰＬＣ４ｂ等が接続され、さらに、インターネット３を介して遠隔地にある監視装置２ｃが接続される。装置系（制御系）のネットワーク１ｂには、プログラマブルターミナル（ＰＴ）４ａや、ＰＬＣ４ｂ，４ｂ′やロボットコントローラ４ｃや検査装置４ｄ等が接続される。さらに、ＰＬＣ４ｂ，４ｂ′には、デバイス・コンポ系のネットワーク（フィールドバス等）１ｃが接続され、このネットワークには、視覚センサ，温調，デジタルパネル等の機器５が接続される。
【００２０】
ツール装置２ａは、ＰＬＣ４ｂ用の制御プログラムを作成し、ダウンロードしたり、ＰＬＣ４ｂに格納されている制御プログラムをアップロードして編集したり、ＰＬＣ４ｂの状態情報（ＩＯメモリ）等を収集したりする。ＦＡコンピュータ２ｂは、生産ラインの生産管理を行うコンピュータである。生産ラインの生産管理は、例えば、生産のスケジュールを作成したり、その作成したスケジュールに従ってセルコントローラであるＰＬＣ４ｂに対して指示を与えたり、ＰＬＣ４ｂから生産実績情報を収集するとともに、収集した生産実績情報を管理するなど、各種の処理がある。
【００２１】
ネットワーク１ｂに接続された各装置は、当該ネットワーク１ｂを介して通信し、同期運転や、共同運転などの制御を行なったり、情報の送受を行い各種の設定やモニタリング等を行なったりする。一例を挙げると、ＰＬＣ４ｂ，４ｂ′同士が、データリンクなどにより各ＰＬＣ４ｂ，４ｂ′が持つＩ／Ｏデータを共有することで、同期運転や協働運転を行ったり、ＰＬＣ４ｂ（４ｂ′）が入力データに基づき演算処理を実行し、求められた演算結果を指令値としてロボットコントローラ４ｃに与えたりすることがある。
【００２２】
デバイス・コンポ系のネットワーク１ｃに接続された各機器５と、ＰＬＣ４ｂ，４ｂ′は、Ｉ／Ｏデータの送受を行ない具体的な制御を実行したり、メッセージの送受信を行なったりする。
【００２３】
本実施形態では、この各種のネットワーク１ａ，１ｂ，１ｃを、イーサネット（登録商標）を用いて実現するようにしている。これに伴い、ネットワークに加入する装置・機器は、イーサネットスイッチ１０を介してネットワークケーブルと接続するようにしている。
【００２４】
図２は、イーサネットスイッチ１０の一実施形態のブロック図を示しており、図３は、その外観図を示している。このイーサネットスイッチ１０は、複数のイーサネット（登録商標）用の通信インタフェース１１と、その通信インタフェース１１にて受信したフレームの転送処理を行なうデータ処理部１２と、その転送の際に一時的にフレームを記憶するキューを構成するバッファメモリ１４と、優先制御（ＱｏＳ）を行なうための優先処理情報を記憶する優先処理テーブル１５と、不揮発性メモリ１３及び切り替えスイッチ１６と、を備えている。この切り替えスイッチ１６は、優先制御をするか否かのモードを決定するスイッチであり、スイッチがＯＮになると、優先処理イネーブルがＯＮになる。
【００２５】
これらの各構成要素は、図３に示すような本体ケース１７内に実装される。この本体ケース１７は、たとえばアルミ等の金属ケースで形成されることが多いが、プラスチック等で形成されることもある。この本体ケース１７の前面に、複数のコネクタ１１ａが設けられる。ネットワークに加入する装置・機器は、自己が有するイーサネット（登録商標）用のコネクタと、イーサネットスイッチ１０の前面に設けられたコネクタ１１ａと、にそれぞれケーブルを接続する。また、このコネクタ１１ａは、本体ケース１７内の通信インタフェース１１に接続される。
【００２６】
また、本体ケース１７の裏面には、ＤＩＮレール接続用の溝１７ａが形成される。さらに、本体ケース１７の上面には、切り替えスイッチ１６が設けられる。切り替えスイッチ１６は、スライドスイッチとしている。上面に設けたのは、操作性を考慮しつつ（底面（下面）では、コネクタ１１ａに接続したケーブルが下方に垂れ下がることから、そのケーブルをよけて切り替え操作をするのが煩雑）、あまりに操作のしやすい前面に設けると、誤って切り替え処理をしてしまうおそれがあるためである。
【００２７】
一方、不揮発性メモリ１３には、優先制御を行なう際に、どのフレームを優先的に転送するかの優先処理情報が格納される。この優先処理情報は、優先付けする際の順位（同順位に複数のものが存在することはある）を特定するもので、ＥｔｈｅｒＮｅｔ／ＩＰの標準規格で定められたポート番号を用いて特定する。つまり、このポート番号は、本来発信元ポート番号や宛先ポート番号を指定するのに用いるが、本実施形態では、プライオリティ（優先度）を選別する際にも応用するようにした。
【００２８】
具体的には、優先度が最も高いポート番号は、Ｉ／Ｏデータ（制御用Ｉ／Ｏデータ）を特定するための“０８ＡＥ”とし、次に優先度が高いポート番号は、メッセージ（ダウンロードデータ，モニタ用データ）を特定するための“ＡＦ１２”とし、３番目に優先度が高い（最も優先度が低い）ポート番号は、その他の番号としている。その他の番号としては、Ｗｅｂ，メール，ファイル転送等がある。Ｉ／Ｏデータは、制御を行なうためにリアルタイムに送信する必要があるため、最も優先度を高くした。メッセージは、Ｉ／Ｏデータに比べると優先して送信する必要性が低いため、優先度を１つ下げた。そして、イーサネット（登録商標）のネットワークには、ＦＡの制御のためのデータ以外にも各種のデータが送信される。例えば、上記の例示したものや、パソコンからプリンターの出力データ等、ＦＡの制御のための情報・データに比べると、緊急性を有しないと共に、仮に送信できなくても再送処理が実行されることなどから、最も優先度を低くした。そして、本実施形態では、優先順位を３段階に分けたが、２段階或いは４段階以上としても良い。
【００２９】
優先処理テーブル１５は、図４に示すように、優先順位と、ポート番号を関連付けたテーブル構造となっている。この優先処理テーブル１５に格納される情報は、不揮発性メモリ１３に格納されたものを、起動時（電源ＯＮ時）に読み出して格納する。図４（ａ）は、切り替えスイッチ１６がＯＦＦに設定され、優先処理イネーブルがＯＦＦの時の優先処理テーブル１５の内部データの一例を示している。図示するように、優先処理イネーブルがＯＦＦの時は、不揮発性メモリ１３から優先処理テーブル１５への転送は行なわれず、優先処理情報は空欄のままとなる。よって、優先順位が無くなるので、全てのデータが同順位となり、データ出力はＦＩＦＯで行なわれる。図４（ｂ）は、切り替えスイッチ１６がＯＮに設定され、優先処理イネーブルがＯＮの時の優先処理テーブル１５の内部データの一例を示している。図示するように、揮発性メモリ１３に格納された優先処理情報が優先処理テーブル１５へ転送され、それぞれの優先順位に対応するポート番号が関連付けたテーブル構造となる。
【００３０】
この不揮発性メモリ１３から優先処理テーブル１５への転送処理は、データ処理部１２が行なう。すなわち、データ処理部１２は、図５に示すように、イーサネットスイッチ１０の電源が投入されたならば、切り替えスイッチ１６がＯＮになっているか否かを判断し（Ｓ１）、ＯＮになっている場合には、不揮発性メモリ１３（ＥＥＰＲＯＭ）に格納されている優先処理情報をテーブルに転送した後（Ｓ２）、通常の制御へ移行する。また、切り替えスイッチがＯＦＦの場合には、処理ステップＳ１の分岐判断はＮｏとなるので、処理ステップＳ２を実行することなく、通常の制御へ移行する。よって、不揮発性メモリ１３から優先処理テーブル１５への転送処理が実行されないため、優先処理テーブル１５は、図４（ａ）に示すように空欄の状態となる。
【００３１】
通常制御に移行したデータ処理部１２は、データの転送に際し図６，図７に示すフローチャートを実行する機能を有する。データの出力に関しては、図６に示すように、データ処理部１２は、バッファメモリ（キュー）１４が空か否かを判断し（Ｓ１１）、空でない場合には、優先処理イネーブルがＯＮか否かを判断する（Ｓ１２）。この判断は、切り替えスイッチのＯＮ／ＯＦＦの状態を確認することで行なえる。優先処理イネーブルがＯＦＦの場合には、データ処理部１２は、バッファメモリ（キュー）１４に積まれた順にデータを出力する。つまり、ＦＩＦＯによりデータの転送を行ない、フレームの送信相手に対して出力する。一方、優先処理イネーブルがＯＮの場合には、データ処理部１２は、バッファメモリ（キュー）１４に積まれたデータの中から優先処理テーブル１５に格納された優先処理情報に従い優先度の高いデータを選択し、出力する（Ｓ１４）。これにより、優先制御が行なえる。
【００３２】
なお、本実施形態では、処理ステップＳ１２の分岐判断を設け、通常制御時においてもその都度優先処理イネーブルのＯＮ／ＯＦＦを確認し、ＯＮの場合に優先制御を行ない、ＯＦＦの場合にＦＩＦＯで転送するようにしたが、本発明はこれに限ることはなく（分岐判断をすることなく）、常に、優先処理テーブル１５に格納された優先処理情報に従って転送処理をしても良い。すなわち、本実施形態では、電源投入時に切り替えスイッチのＯＮ／ＯＦＦ（優先処理イネーブルのＯＮ／ＯＦＦ）を判断し、ＯＮのときのみ優先処理情報を優先処理テーブル１５へ転送しているので、仮に、優先処理イネーブルがＯＦＦとすると、優先処理テーブル１５には、優先処理情報が格納されずに空欄となっているので、全てのポート番号が、優先度が無い（等しい）ことになる。優先度が同じものについては先に入力されたものを先に出力するので、結果として、ＦＩＦＯで処理することができる。もちろん、両方でチェックを掛けることで、より正確で誤動作することなく、適切な転送処理が行なえる。
【００３３】
一方、所定の通信インタフェース１１からフレームを受信した場合、データ処理部１２は、入力データをバッファメモリ（キュー）１４に積む処理を実行する（Ｓ１５）。このようにすることで、本実施形態のイーサネットスイッチ１０は、切り替えスイッチ１６の切り替え処理という簡単な処理にともない、優先制御（ＱｏＳ）を実行するイーサネットスイッチと、優先制御を行なわずＦＩＦＯを実行するイーサネットスイッチに切り替わる。しかも、優先制御を実行する場合にも、切り替えスイッチ１６をＯＮにした状態で電源をＯＮするだけで良く、ツール装置を用いたプログラミングが不要となる。つまり、本実施形態では、優先制御機能を備えたアンマネージドスイッチを実現できる。
【００３４】
図８を用いて、本実施形態の優先制御（ＱｏＳ）の実際の処理を説明する。まず（１）に示すように、あるタイミングにおけるバッファメモリ（キュー）に、４個のデータが積まれているとする。このとき、図中上に記載したデータほど先に積まれているものとする。つまり、「Ｉ／Ｏデータ」→「メッセージ」→「Ｉ／Ｏデータ」→「その他のデータ」の順に積まれたものとする。
【００３５】
この状態で処理ステップＳ１４の処理を実行すると、キューに積まれたデータの中で優先度の最も高いデータは、「Ｉ／Ｏデータ」であり、そのデータは２つ存在するので、先に積まれた「Ｉ／Ｏデータ」（図中一番上）が出力される。これにより、バッファメモリ（キュー）１４は（２）の状態になる。この（２）の状態で処理ステップＳ１４の処理を実行すると、キューに積まれたデータの中で優先度の最も高いデータは、「Ｉ／Ｏデータ」であるので、その「Ｉ／Ｏデータ」が出力される。
【００３６】
すると、キューには、「メッセージ」と「その他のデータ」が残るので、次は、その２つの中で優先度が高い「メッセージ」が出力される。この出力処理と同時或いはその直後に「Ｉ／Ｏデータ」が新たに入力され、キューに積まれた状態を（３）に示している。この（３）の状態では、「Ｉ／Ｏデータ」がキューに積まれた際には、すでに一番上の「メッセージ」が出力されることが選択されているため、そのまま「メッセージ」が出力されることを示しているが、この「メッセージ」が選択される前に「Ｉ／Ｏデータ」が入力されキューに積まれたならば（次に出力するデータを決定する際に、（３）に示すようにメッセージとＩ／Ｏデータがキューに格納されている）、「Ｉ／Ｏデータ」が選択され出力されることになる。
【００３７】
（３）の状態で「メッセージ」が出力されたならば、（４）に示すように、キューには「他のデータ」と「Ｉ／Ｏデータ」が残り、「Ｉ／Ｏデータ」は「他のデータ」よりも後からキューに積まれたものであるが、この状態で処理ステップＳ１４の処理を実行すると、優先度の高い「Ｉ／Ｏデータ」が先に出力され、最後に「他のデータ」が出力されることになる（（５）参照）。
【００３８】
なお、上記の説明では、優先度が高いデータを「Ｉ／Ｏデータ」とし、次に優先度が高いデータを「メッセージ」とし、「その他のデータ」が優先度が一番低いとしたが、この具体的な順序は一例であり、本発明は、これに限るものではない。例えば優先度を３段階に分けた場合には、以下の（ａ）〜（ｃ）ように場合分けをすることができる。もちろん、２段階にわけたり、４段階以上にわけたりすることもできる。
【００３９】
（ａ）優先度の高いデータとは、ＰＬＣにとって通信サイクルが保証され、リアルタイム性が求められるデータをいう。例えば、一般的なマシン制御などで短い制御サイクルが求められる場合に、ＰＬＣが制御に用いるＩ／Ｏデータがある。Ｉ／Ｏデータというのは、いわゆる入力機器・（制御対象の）出力機器のオン・オフ接点情報、モータ制御の位置情報などを含む。
【００４０】
（ｂ）優先度の中のデータは、ＰＬＣ−ＰＬＣ間やＰＬＣ−モニタ装置間で通信されるメッセージのデータであって、通信サイクルは保証されず、（ａ）よりも１つ低いレベルのリアルタイム性を求められるデータをいう。例えば、プロセス制御におけるＩ／Ｏデータ、リモートＩＯのスレーブでの計数情報（スレーブに接続されている入力機器の通電時間、ＯＮ／ＯＦＦの切替回数など）に関する情報等がある。
【００４１】
（ｃ）優先度の低いデータは、通信サイクルが保証されないし、リアルタイム性も求められないデータをいう。例えば、ファイル転送データ等のように大量のデータを時分割にて送信するような場合がこれに該当する。
【００４２】
次に、本実施形態における優先制御（ＱｏＳ）と、従来から、イーサネットスイッチ等で一般的に行なわれている優先制御の相違について説明する。よく知られているように、Ｅｔｈｅｒｎｅｔの階層は、図９に示すように７つの層に分けることができ、第１層である物理層が、ネットワークケーブルに接続され、電磁的な信号として送受する。また、アプリケーション層で使用されるアプリケーションデータは、各層を上下するごとにヘッダを取り外したり、付加したりしながら転送される。すなわち、各層は、下位層から転送されてきたパケットのヘッダ情報等を元にデータを取り出して上位層に転送していき、最終的には宛先となっているアプリケーションにデータが転送される。また、上位層から転送されてきたデータは、必要なヘッダ情報等を付加するカプセル化処理を行なった後、下位層に転送するのである。
【００４３】
そして、従来の優先制御は、データリンク層（ＭＡＣ層）を利用する。つまり、データリンク層でのＭＡＣフレームは、図１０（ａ）に示すようになっており、優先制御との関係でいうと、ＭＡＣヘッダ内のＶＬＡＭタグのタグ制御情報の内に、「プライオリティ」（３ビット）を指定するエリアが用意されている。この３ビットのエリアを使用することで、８段階の優先度付けが可能となる。このように、予め優先度を指定するために用意されたエリアを利用し、各フレームごとに別途優先度情報を付加する。そして、イーサネットスイッチでは、そのフレームの「プライオリティ」に格納された優先度情報を認識し、使用するキューの割り当てを決定し、優先度の高いフレームから順に出力することになる。
【００４４】
これに対し、本実施形態では、上述した一般的な優先制御で用いるデータリンク層よりも上位のトランスポート層ヘッダを利用する。つまり、図１０（ｂ）に示すようにＴＣＰ／ＵＤＰヘッダには、
メッセージは、ＴＣＰヘッダの発信元ポート番号（１６ビット）と宛先ポート番号（１６ビット）で認識し、Ｉ／ＯデータはＵＤＰヘッダの発信元ポート番号（１６ビット）と宛先ポート番号（１６ビット）で認識するようになっている。つまり、ポート番号のエリアに、上述したデータの種類を特定する“０８ＡＥ”（Ｉ／Ｏデータ）や“ＡＦ１２”（メッセージ）が格納される。このポート番号は、ＥｔｈｅｒＮｅｔ／ＩＰの標準規格で定められたポート番号で、何れも本来転送のアプリケーションを特定するための情報であって、優先と言う概念を含まない情報である。換言すると、それらポート番号は、発信元ポート番号や宛先ポート番号を指定するのに必然的に用いられるものであり、優先度を意識して設定されるものではない。
【００４５】
そして、イーサネットスイッチにおいて優先制御を行なうに際し、ポート番号を優先度（プライオリティ）を選別する際に応用する。よって、データリンク層にて、プライオリティのエリアにいちいち優先度を格納する必要はなくなる。
【００４６】
本実施形態では、イーサネットスイッチ１０は、図３に示すように独立した１つの筐体から構成したが、本発明はこれに限ることはなく、例えば、ＰＬＣを構成するユニットと同一規格で構成することで、ＰＬＣを構成するユニットと連結して一体化することができる。
【図面の簡単な説明】
【００４７】
【図１】本発明が適用されるネットワークシステムの一例を示す図である。
【図２】本発明の一実施形態を示すブロック図である。
【図３】本発明の一実施形態を示す外観図である。
【図４】優先処理テーブルのデータ構造の一例を示す図である。
【図５】電源投入時のデータ処理部１２の機能を示すフローチャートである。
【図６】通常制御時のデータ処理部１２の機能（出力）を示すフローチャートである。
【図７】通常制御時のデータ処理部１２の機能（入力）を示すフローチャートである。
【図８】作用を説明する図である。
【図９】イーサネットワークにおける階層を説明する図である。
【図１０】フレーム構成を示す図である。
【符号の説明】
【００４８】
１０  イーサネットスイッチ
１１  通信インタフェース
１２  データ処理部
１３  不揮発性メモリ
１４  バッファメモリ（キュー）
１５  優先処理テーブル
１６  切り替えスイッチ
【図１】
2009118357.tif 000003
【図２】
2009118357.tif 000004
【図３】
2009118357.tif 000005
【図４】
2009118357.tif 000006
【図５】
2009118357.tif 000007
【図６】
2009118357.tif 000008
【図７】
2009118357.tif 000009
【図８】
2009118357.tif 000010
【図９】
2009118357.tif 000011
【図１０】
2009118357.tif 000012