(57)【要約】【課題】転送装置にてビットのシフト操作が不要なデータ分配システムを得ること。【解決手段】転送装置２０は、コントローラ１０から受信したビット列１３を扱い易いサイズのデータ片に分割する手段２２と、分割された複数のデータ片の中から送信先の入出力装置に対する個別データが格納されているデータ片を特定する手段２４と、特定されたデータ片にビットシフト操作を施すことなく加工を施して各入出力装置宛の１つのデータ片１４ｑを生成する手段２５と、各入出力装置宛に送信する手段２６とを備える。入出力装置５０ｑは、転送装置２０から受信したデータ片１４ｑにおいて対応する入出力装置に適用される個別データが格納されている領域を示すテンプレート情報を記憶する手段５５ｑｒと、記憶されたテンプレート情報に基づき、転送装置２０から受信したデータ１４ｑ片から当該入出力装置が用いる前記個別データを取り出す手段５３ｑｒとを備える。【選択図】        図１
2005157583.tif 000002
【特許請求の範囲】
【請求項１】
複数の個別データが纏めて格納されているビット列を送信する１台のコントローラと、前記コントローラから受信した前記ビット列から前記複数の個別データを取り出し、それぞれを対応する入出力装置に対して転送する転送装置と、前記転送装置から受信した前記個別データに基づき入出力の状態を制御する前記入出力装置の複数個とを備えるデータ分配システムにおいて、
前記転送装置は、
前記コントローラから受信した前記ビット列を扱い易いサイズのデータ片に分割する手段と、
前記分割された複数のデータ片の中から送信先の入出力装置に対する個別データが格納されているデータ片を特定する手段と、
前記特定されたデータ片にビットシフト操作を施すことなく加工を施して各入出力装置宛の１つのデータ片を生成し、各入出力装置宛に送信する手段と、
前記データ片において対応する入出力装置に適用される前記個別データが格納されている領域を示すテンプレート情報を各入出力装置宛に送信する手段とを備え、
前記入出力装置は、
前記転送装置から受信したテンプレート情報を記憶する手段と、
前記記憶されたテンプレート情報に基づき、前記転送装置から受信したデータ片から当該入出力装置が用いる前記個別データを取り出す手段とを備える
ことを特徴とするデータ分配システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御の分野で用いられるデータ分配システムに関するものである。
【背景技術】
【０００２】
制御の分野では、１台のコントローラが数ｍから数１００ｍ離れた場所に配置した複数の入出力装置をネットワーク経由で制御するデータ分配システムが広く採用されている。入出力装置の１台当りの入出力点数（１点は１ビット)は、従来では、８点〜６４点であったが、近年になって、利用者の要求の多様化により、１台当りの入出力点数が１点〜８点の入出力装置も使われるようになってきた。そして、市場での成立の経緯と入出力装置の点数の違いから、用いるネットワークは、前者の場合はフィールドネットワークと呼ばれ、後者の場合はセンサ・アクチュエータネットワークと呼ばれることがある。このフィールドネットワークとセンサ・アクチュエータネットワークについては、政府系機関や民間機関から規格が公開されている（非特許文献１〜６）。
【０００３】
以下、図９〜図２１を参照して従来のデータ分配システムの概要について説明する。なお、この明細書では、入出力装置の入出力点数が８点以上のネットワークをフィールドネットワークと呼び、入出力点数が８点以下のネットワークをセンサ・アクチュエータネットワークと呼ぶことにする。
【０００４】
制御の分野で用いられるデータ分配システムでは、コントローラは、フィールドネットワークないしはセンサ・アクチュエータネットワーク経由で数１０点〜数１０００点に及ぶ入出力情報を制御する。すなわち、コントローラは、入力装置の入力状態を監視し、出力装置の出力状態を制御する。そのため、近年では、図９に示すように、数１００点〜数１０００点の入出力を数１０点の小さなグループに分割して、各グループ内部のデータ伝送をセンサ・アクチュエータネットワークで行ういわゆるネットワークの階層化が行われるようになってきた。
【０００５】
図９は、フィールドネットワークとセンサ・アクチュエータネットワークを階層化する場合の概念図である。図９において、コントローラ１１０には長さが数１０ｍ〜数１０００ｍのフィールドネットワーク１１１が接続され、フィールドネットワーク１１１には複数のグループｍ（ｍ＝１〜Ｎ）が接続される。グループｍでは、フィールドネットワーク１１１に接続される転送装置１２１が配置され、この転送装置１２１に、複数の入出力装置１２２・・が長さ数ｍ〜数１００ｍのセンサ・アクチュエータネットワーク１１２を介して接続される。すなわち、転送装置１２１は、コントローラ１１０から受け取ったデータを自グループに属する複数の入出力装置１２２・・に分配するようになっている。
【０００６】
図１０は、図９に示す一つのグループで行われる入出力装置へのデータ分配を説明する図である。図１０では、コントローラ１１０が、グループｍの入出力装置１２２ｍｎの出力状態を制御するためにグループｍ宛の送信フレーム１２３ｍをフィールドネットワーク１１１上に送信し、グループｍの転送装置１２１ｍが、フィールドネットワーク１１１から取り込んだ送信フレーム１２３ｍから入出力装置１２２ｍｎ宛の送信フレーム１２３ｍｎを生成し、センサ・アクチュエータネットワーク１１２上に送信する場合が示されている。
【０００７】
ここで、送信フレーム１２３ｍは、ヘッダフィールド７１とデータフィールド７２とチェックフィールド７３とからなるビット列である。また、送信フレーム１２３ｍｎは、ヘッダフィールド７５とデータフィールド７６とチェックフィールド７７とからなるビット列である。このような送信フレームの構成は、シリアル通信において一般に用いられ、非特許文献１〜６においても同様の構成を用いている。また、このデータフィールドのビット配置と入出力装置の入出力ポートとの対応関係は、最下位ビット（ＬＳＢ）が０番の入出力ポートの状態を表すというように、固定的に定められている。
【０００８】
なお、非特許文献１、２、５にて規定される送信フレームでのデータフィールドの１単位は１バイトである。非特許文献４にて規定される送信フレームでのデータフィールドの１単位は４バイトまたは２バイトである。非特許文献３にて規定される送信フレームでのデータフィールドの１単位は０．５バイト（４ビット固定）である。非特許文献６にて規定される送信フレームでのデータフィールドの１単位は０．５バイト、１バイトまたは２バイトである。
【０００９】
そこで、図１０では、コントローラ１１０がフィールドネットワーク１１１上に送出する送信フレーム１２３ｍでのデータフィールド７２の１単位は１バイトとしている。また、転送装置１２１ｍがセンサ・アクチュエータネットワーク１１２に送出する送信フレーム１２３ｍｎのデータフィールド７６の１単位は１バイトとしている。そして、データフィールドのビット位置と入出力ポートとの対応関係は、１対１の関係で固定的に定められているとしている。
【００１０】
すなわち、送信フレーム１２３ｍでは、データフィールド７２は、２×Ｎビット（Ｎは４の倍数）で構成され、ヘッダフィールド７１側の第１ビットが最下位ビット（ＬＳＢ）であり、チェックフィールド７３側の最終ビットが最上位ビット（ＭＳＢ）である。図１０では、入出力装置１２２ｍｎが２つの出力ポートｍｎＰ０，ｍｎＰ１を持つとしているので、このデータフィールド７２には、各入出力装置１２２ｍｎ宛のデータ２ビットが格納されるとしている。すなわち、第１ビットと第２ビットは、入出力装置１２２ｍ１宛のデータであり、第３ビットと第４ビットは、入出力装置１２２ｍ２宛のデータである。
【００１１】
また、送信フレーム１２３ｍｎでは、データフィールド７６は、８ビットで構成され、ヘッダフィールド７５側の第１ビットｂ０が最下位ビット（ＬＳＢ）であり、チェックフィールド７７側の第８ビットｂ７が最上位ビット（ＭＳＢ）である。
【００１２】
送信フレーム１２３ｍを受信した転送装置１２１ｍは、送信フレーム１２３ｍｎを作成するため、送信フレーム１２３ｍのデータフィールド７２から、（２×（ｍ−１）＋１）ビット目〜（２×ｍ）ビット目を取り出し、送信フレーム１２３ｍｎのデータフィールド７６におけるビットｂ０〜ｂ１に格納し、ビットｂ２〜ｂ７には“０”を格納する。すなわち、データフィールド７６には、図示例では“０００００００１”が格納されている。
【００１３】
入出力装置１２２ｍｎでは、センサ・アクチュエータネットワーク１１２から取り込んだ送信フレーム１２３ｍｎからデータフィールド７６を抜き出し、データフィールド７６の第１ビットｂ０および第２ビットｂ１の論理状態に応じて出力ポートｍｎＰｋ（ｋ＝０、１）のＯＮ・ＯＦＦ状態を決定する。すなわち、出力ポートｍｎＰ０では、ｂ０＝“１”の場合には、出力状態をＯＮにし、ｂ０＝“０”の場合には、出力状態をＯＦＦにする。同様に、出力ポートｍｎＰ１では、ｂ１＝“１”の場合には、出力状態をＯＮにし、ｂ１＝“０”の場合には、出力状態をＯＦＦにする。図７の例では、ｂ０＝“１”、ｂ１＝“０”であるので、出力ポートｍｎＰ０は出力状態をＯＮにし、出力ポートｍｎＰ１は出力状態をＯＦＦにすることになる。
【００１４】
ここで、図１１、図１２を参照して転送装置１２１ｍが送信フレーム１２３ｍから入出力装置１２２ｍｎ宛の送信フレーム１２３ｍｎを生成する処理内容を具体的に説明する。なお、図１１では、転送装置１２１ｍが８ビットのマイコンを用いて、局番ｎが８の入出力装置１２２ｍ８にデータを分配する送信フレーム１２３ｍｎを送信フレーム１２３ｍから作成する処理内容が示されている。図１２は、図１１に示すａ部に関する処理内容の詳細を説明する図である。
【００１５】
図１１において、転送装置１２１ｍは、定数定義、変数定義、変数の初期化を行った後に、ｇｅｔ＿ｆｉｅｌｄ＿ｎｅｔｗｏｒｋ＿ｄａｔａ（）関数にて送信フレーム１２３ｍのデータフィールド７２の値を配列変数ｄ１２３ｍに取得する。そして、局番ｎ＝８に基づいて配列変数ｄ１２３ｍから局番８宛のデータであるｄ１２３ｍ［１］を変数ｄ１２３ｍｎに格納する。また、入出力装置１２２ｍ８宛のデータが変数ｄ１２３ｍｎのＬＳＢから順に格納されるように、変数ｄ１２３ｍｎを局番ｎ＝８に基づいて、「８−１」を４にて除して求まる剰余３に２を掛けたビット数６だけ右方向（ＬＳＢの向き）にシフトする。最後に、データを格納しないビットを０にするために変数ｄ１２３ｍｎに１６進数の値「０３」を論理積してデータｄ１２３ｍｎの生成を完了し、ｓｅｎｄ＿ｓｅｎｓｏｒ＿ａｃｔｕａｔｏｒ＿ｎｅｔｗｏｒｋ（）関数にてデータｄ１２３ｍｎを送信する。
【００１６】
図１２では、欄（イ）に図１１に示すａ部での処理が示され、欄（ロ）に実際にマイコンが行う処理動作が示され、欄（ハ）に所要クロック数が示されている。欄（ハ）に示すように、マイコンが命令を実行する際に必要となる所要クロック数は、全て、命令１つ当たり１つとすれば、局番ｎが８の場合には、図１１に示すａ部での４行の処理には、計４５クロックを要し、ビットのシフト処理には３３クロックを要することになる。
【００１７】
また、図１３〜図１５を参照して、入出力装置１２２ｍ８が送信フレーム１２３ｍｎから出力状態ｍｎＰｋを決定する処理内容を具体的に説明する。なお、図１３と図１４では、入出力装置１２２ｍ８が８ビットのマイコンを用いて、送信フレーム１２３ｍｎから出力状態ｍｎＰｋを決定する処理内容が示されている。図１３は、出力ポートが同一アドレスの場合であり、図１４は、出力ポートが異なるアドレスの場合である。また、図１５は、図１４に示すｂ部に関する処理内容の詳細を説明する図である。
【００１８】
図１３と図１４において、入出力装置１２２ｍ８では、定数定義部にて定数を定め、変数定義部にて変数を宣言した後に、ｇｅｔ＿ｓｅｎｓｏｒ＿ａｃｔｕａｔｏｒ＿ｎｅｔｗｏｒｋ＿ｄａｔａ（）関数にて送信フレーム１２３ｍｎのデータフィールド７６の値を変数ｄ１２３ｍｎに取得する。そして、ｄ１２３ｍｎの下位２ビットの値に基づいて、値が１の場合に出力ポートｍｎＰｋの出力状態をＯＮにし、値が０の場合に出力ポートｍｎＰｋの出力状態を０ＦＦにする。
【００１９】
図１５では、欄（イ）に図１４に示すｂ部での処理が示され、欄（ロ）に実際にマイコンが行う処理動作が示され、欄（ハ）に所要クロック数が示されている。欄（ハ）に示すように、マイコンが命令を実行する際に必要となる所要クロック数が、全て、命令１つ当たり１つとすれば、図１４に示すｂ部での２行の処理には、計１２クロックを要することになる。
【００２０】
次に、図１６は、従来の階層化されたデータ分配システムの構成と転送装置の処理内容を説明する図である。図１６では、システム全体を制御するコントローラ１１０が転送装置２１１を介して３台の入出力装置２５０ｑ（ｑ＝Ａ、Ｂ、Ｃ）に対して、制御対象に出力する状態量の設定制御を行う場合が示されている。上記したように、転送装置２１１は、コントローラ１１０とフィールドネットワーク１１１を介して接続され、入出力装置２５０ｑとセンサ・アクチュエータネットワーク１１２を介して接続されている。なお、図１６に示す入出力装置２５０ｑの構成と処理内容は、図１７〜図１９に示してある。
【００２１】
図１６において、転送装置２１１は、受信部２２１と分割部２２２と受信バッファ２２３と特定部２２４と演算部２２５と送信部２２６と備えている。受信部２２１は、コントローラ１１０がフィールドネットワーク１１１上に送信する送信フレームを受信すると、それからデータフィールドを構成するビット列１１３を取り出し分割部２２２に与える。
【００２２】
図１６では、ビット列１１３は、１６ビットで構成されている。なお、ビット配列におけるＬＳＢとＭＳＢの位置は、図９にて説明したのとは、逆になっている。ビット列１１３では、最下位側の第１ビットと第２ビットが入出力装置２５０ｑ（ｑ＝Ａ）に送信するデータ１４１Ａである。第３ビット〜第６ビットが入出力装置２５０ｑ（ｑ＝Ｂ）に送信するデータ１４１Ｂである。第７ビット〜第１０ビットが入出力装置２５０ｑ（ｑ＝Ｃ）に送信するデータ１４１Ｃである。第１１ビット〜最上位の第１６ビットは不使用となっている。
【００２３】
分割部２２２は、受信部２２１から受け取ったビット列１１３を１バイト長のデータに分割し、それを受信バッファ２２３に与えて保持させる。図１６ではビット列１１３は、１６ビットで構成されるので、２分割され、受信バッファ２２３には、下位データ片２３１ａと上位データ片２３１ｂとが保持される。
【００２４】
特定部２２４は、受信バッファ２２３に保持されている下位データ片２３１ａおよび上位データ片２３１ｂと局番ｑ（ｑ＝Ａ、Ｂ、Ｃ）とに基づき入出力装置２５０ｑに送信すべきデータ１４１ｑを特定し、受信バッファ２２３から１バイトのデータ片を取り出し、演算部２２５に与える。図１６では、４つの１バイトデータ片１３１Ａ、１３１Ｂ、１３１Ｃｂ、１３１Ｃａを取り出すとしている。データ片１３１Ａには、データ１４１Ａが含まれている。データ片１３１Ｂには、データ１４１Ｂが含まれている。データ片１３１Ｃａには、データ１４１Ｃの下位２ビットが含まれ、データ片１３１Ｃｂには、データ１４１Ｃの上位２ビットが含まれている。
【００２５】
演算部２２５は、特定部２２４が取り出したデータ片１３１ｑから入出力装置２５０ｑに送り出すデータ片１３２ｑを生成する。演算部２２５は、図１６では、データ片１３１Ａが入力される論理積回路２２５ａと、データ片１３１Ｂが入力されるシフトレジスタ２２５ｂと、シフトレジスタ２２５ｂでの処理結果が入力される論理積回路２２５ｃと、データ片１３１Ｃａが入力されるシフトレジスタ２２５ｄと、データ片１３１Ｃｂが入力されるシフトレジスタ２２５ｅと、シフトレジスタ２２５ｄ、２２５ｅでの処理結果が入力される論理和回路２２５ｆと、論理和回路２２５ｆでの処理結果が入力される論理積回路２２５ｇとを備えている。
【００２６】
送信部２２６は、演算部２２５が生成したデータ片１３２ｑを送信フレームのデータフィールドを構成するビット列１１４ｑに格納してセンサ・アクチュエータネットワーク１１２上に送信する。
【００２７】
入出力装置２５０ｑは、図１７〜図１９に示すように、受信部２５１ｑと、データ片記憶部２５２ｑと、比較部２５３ｑｒ（ｒ＝０〜３）とを備えている。受信部２５１ｑは、転送装置２１１がセンサ・アクチュエータネットワーク１１２上に送信する送信フレームを受信すると、それからデータフィールドを構成するビット列１１４ｑを取り出しデータ片記憶部２５２ｑに保持させる。比較部２５３ｑｒは、データ片記憶部２５２ｑが保持するデータの（ｒ＋１）ビット目が“０”のとき出力状態２５４ｑｒをＯＦＦにし、“１”のとき出力状態２５４ｑｒをＯＮにする。
【００２８】
次に、以上のように構成される従来のデータ分配システムの動作について説明する。図１６において、コントローラ１１０は、２ビットで構成される入出力装置２５０Ａ宛のデータ１４１Ａ（図示例では“０１”）と、４ビットで構成される入出力装置２５０Ｂ宛のデータ１４１Ｂ（図示例では“０１０１”）と、４ビットで構成される入出力装置２５０Ｃ宛のデータ１４１Ｃ（図示例では“１１０１”）とを含むビット列１１３（図示例では“１１１１１１１１０１０１０１０１”）を格納したデータフィールドを送信フレームに設定し、フィールドネットワーク１１１を介して転送装置２１１に送信する。
【００２９】
転送装置２１１では、受信部２２１にてデータフィールドを構成するビット列１１３が取り出される。取り出されたビット列１１３は、分割部２２２にて下位バイト“０１０１０１０１”からなる下位データ片２３１ａと、上位バイト“１１１１１１１１”からなる上位データ片２３１ｂとに分割され、それぞれ受信バッファ２２３に格納される。
【００３０】
受信バッファ２２３が保持する下位データ片２３１ａには、入出力装置２５０Ａへの転送データ１４１Ａ（“０１”）と入出力装置２５０Ｂへの転送データ１４１Ｂ（“０１０１”）と入出力装置２５０Ｃへの転送データ１４１Ｃの半分（下位２ビット“０１”）とが含まれ、上位データ片２３１ｂには入出力装置２５０Ｃへの転送データ１４１Ｃの残り半分（上位２ビット“１１”）が含まれている。
【００３１】
そこで、特定部２２４では、入出力装置２５０Ａへの転送データ１４１Ａが格納されている下位のデータ片２３１ａに局番Ａを添えたデータ片１３１Ａを作り、演算部２２５に渡す。また、入出力装置２５０Ｂへの転送データ１４１Ｂが格納されている下位のデータ片２３１ａに局番Ｂを添えたデータ片１３１Ｂを作り、演算部２２５に渡す。そして、入出力装置２５０Ｃへの転送データ１４１Ｃは、下位のデータ片２３１ａと上位のデータ片２３１ｂに半分ずつ含まれているので、下位のデータ片２３１ａと上位のデータ片２３１ｂに局番Ｃを添えたデータ片１３１Ｃａと１３１Ｃｂを作り、それぞれを演算部２２５に渡す。
【００３２】
演算部２２５では、入出力装置２５０ｑ宛のデータ１４１ｑが１つのデータ片１３１ｑに全て含まれている場合は、データ片１３１ｑにデータ１４１ｑ以外のビットを“０”にする論理積演算を施して送信部２２６に渡すデータ片１３２ｑを生成する。一方、データ１４１ｑが２つのデータ片１３１ｑａおよびデータ片１３１ｑｂに分かれて含まれている場合は、データ片１３１ｑａおよびデータ片１３１ｑｂからデータ１４１ｑを取り出しデータ１４１ｑ以外のビットを“０”にした上でデータ１４１ｑがデータ片１３２ｑのＬＳＢから順に格納されるようにシフト演算および論理和演算を施してデータ片１３２ｑを生成し送信部２２６に渡すようにしている。
【００３３】
すなわち、演算部２２５では、特定部２２４から渡されたデータ片１３１Ａ（“０１０１０１０１”）には、入出力装置２５０Ａ宛のデータ１４１Ａ（“０１”）が全て含まれている。そして、局番Ａから、データ片１３１Ａの下位２ビットを取り出せばよいと判断できる。そこで、データ１４１Ａ以外のビットを“０”にするために、論理積回路２２５ａにて、データ片１３１Ａ（“０１０１０１０１”）と定数“００００００１１”との論理積を取り、得られたデータ“０００００００１”をデータ片１３２Ａとして送信部２２６に渡す。送信部２２６では、データ片１３２Ａをビット列１１４Ａとするデータフィールドを持つ送信フレームを生成し、入出力装置２５０Ａ宛に送信する。
【００３４】
入出力装置２５０Ａでは、受信部２５１Ａが受信した送信フレームのデータフィールドから取り出したビット列１１４Ａ（“０００００００１”）をデータ片記憶部２５２Ａに記憶させる。比較部２５３Ａ０は、データ片記憶部２５２Ａに格納されているデータ“０００００００１”と定数“０００００００１”との論理積演算を行い、その演算結果が“０”と異なるので、出力２５４Ａ０をＯＮにする。また、比較部２５３Ａ１は、データ片記憶部２５２Ａに格納されているデータ“０００００００１”と定数“００００００１０”との論理積演算を行い、その演算結果が“０”であるので、出力２５４Ａ１をＯＦＦにする。
【００３５】
また、演算部２２５では、特定部２２４から渡されたデータ片１３１Ｂ（“０１０１０１０１”）には、入出力装置２５０Ｂ宛のデータ１４１Ｂ（“０１０１”）が全て含まれている。そして、局番Ｂから、データ片１３１Ｂの第３ビット〜第６ビットを取り出せばよいと判断できる。そこで、ビット位置を右端部に揃えるためデータ片１３１Ｂをシフトレジスタ２２５ｂに与えてデータビットを右に２ビットシフトさせてデータ片１３１Ｂ０（“０００１０１０１”）を作る。そして、データ１４１Ｂ以外のビットを“０”にするために、論理積回路２２５ｃにて、データ片１３１Ｂ０（“０００１０１０１”）と定数“００００１１１１”との論理積を取り、得られたデータ“０００００１０１”をデータ片１３２Ｂとして送信部２２６に渡す。送信部２２６では、データ片１３２Ｂをビット列１１４Ｂとするデータフィールドを持つ送信フレームを生成し、入出力装置２５０Ｂ宛に送信する。
【００３６】
入出力装置２５０Ｂでは、受信部２５１Ｂが受信した送信フレームのデータフィールドから取り出したビット列１１４Ｂ（“０００００１０１”）をデータ片記憶部２５２Ｂに記憶させる。比較部２５３Ｂ０は、データ片記憶部２５２Ｂに格納されているデータ“０００００１０１”と定数“０００００００１”との論理積演算を行い、その演算結果が“０”と異なるので、出力２５４Ｂ０をＯＮにする。比較部２５３Ｂ１は、データ片記憶部２５２Ｂに格納されているデータ“０００００１０１”と定数“００００００１０”との論理積演算を行い、その演算結果が“０”であるので、出力２５４Ｂ１をＯＦＦにする。
【００３７】
比較部２５３Ｂ２は、データ片記憶部２５２Ｂに格納されているデータ“０００００１０１”と定数“０００００１００”との論理積演算を行い、その演算結果が“０”と異なるので、出力２５４Ｂ２をＯＮにする。また、比較部２５３Ｂ３は、データ片記憶２５２Ｂに格納されているデータ“０００００１０１”と定数“００００１０００”との論理積演算を行い、その演算結果が“０”であるので、出力２５４Ｂ３をＯＦＦにする。
【００３８】
一方、演算部２２５では、特定部２２４から渡されたデータ片１３１Ｃａ（“０１０１０１０１”）とデータ片１３１Ｃｂ（“１１１１１１１１”）とには、入出力装置２５０Ｃ宛のデータ１４１Ｃ（“１１０１”）が２分割されて含まれている。そして、局番Ｃから、データ片１３１Ｃａでは上位の２ビットを取り出せばよく、データ片１３１Ｃｂでは下位の２ビットを取り出せばよいと判断できる。そこで、データ片１３１Ｃａでは、ビット位置を右端部に揃えるため、データ片１３１Ｃａをシフトレジスタ２２５ｄに与えてデータビットを右に６ビットシフトさせてデータ片１３１Ｃ０（“０００００００１”）を作る。
【００３９】
また、データ片１３１Ｃｂでは、右端のビット位置を第３ビットの位置に揃えるため、データ片１３１Ｃｂをシフトレジスタ２２５ｅに与えてデータビットを左に２ビットシフトさせてデータ片１３１Ｃ１（“１１１１１１００”）を作る。次いで、データ片１３１Ｃ０とデータ片１３１Ｃ１とを１バイトのデータ片に収めるために、論理和回路２２５ｆにてデータ片１３１Ｃ０とデータ片１３１Ｃ１との論理和を取り、データ片１３１Ｃ２（“１１１１１１０１”）を生成する。そして、データ１４１Ｃ（“１１０１”）以外のビットを“０”にするために論理積回路２２５ｇにてデータ片１３１Ｃ２（“１１１１１１０１”）と定数“００００１１１１”との論理積を取り、その結果をデータ片１３２Ｃ（“００００１１０１”）として送信部２２６に渡す。送信部２２６は、データ片１３２Ｃをビット列１１４Ｃとするデータフィールドを持つ送信フレームを生成し、入出力装置２５０Ｃ宛に送信する。
【００４０】
入出力装置２５０Ｃでは、受信部２５１Ｃが受信した送信フレームのデータフィールドから取り出したビット列１１４Ｃ（“００００１１０１”）をデータ片記憶部２５２Ｃに記憶させる。比較部２５３Ｃ０は、データ片記憶部２５２Ｃに格納されているデータ“００００１１０１”と定数“０００００００１”との論理積演算を行い、その演算結果が“０”と異なるので、出力２５４Ｃ０をＯＮにする。比較部２５３Ｃ１は、データ片記憶部２５２Ｃに格納されているデータ“００００１１０１”と定数“００００００１０”との論理積演算を行い、その演算結果が“０”であるので、出力２５４Ｃ１をＯＦＦにする。
【００４１】
比較部２５３Ｃ２は、データ片記憶部２５２Ｃに格納されているデータ“００００１１０１”と定数“０００００１００”との論理積演算を行いその演算結果が“０”と異なるので、出力２５４Ｃ２をＯＮにする。また、比較部２５３Ｃ３は、データ片記憶部２５２Ｃに格納されているデータ“００００１１０１”と定数“００００１０００”との論理積演算を行い、その演算結果が“０”と異なるので、出力２５４Ｃ３をＯＮにする。
【００４２】
ここで、図２０と図２１を参照して、転送装置２１１がビット列１１３からデータ片１３２ｑ（ｑ＝Ａ〜Ｃ）を作成する処理内容を具体的に説明する。なお、図２０では、転送装置２１１が８ビットのマイコンを用いて処理を実行する場合が示されている。また、図２１は、図２０に示すｃ部に関する処理内容の詳細を説明する図である。図２１では、欄（イ）に図２０に示すｃ部での処理が示され、欄（ロ）に実際にマイコンが行う処理動作が示され、欄（ハ）に所要クロック数を示されている。欄（ハ）では、マイコンが命令を実行する際に必要となる所要クロック数は、全て、命令１つ当たり１つとすれば、図２０に示すｃ部での処理には、計９９クロックを要することが示されている。
【００４３】
【非特許文献１】ＪＩＳＢ３５１１規格ＯＰＣＮ−１（政府系機関から公開されているフィールドネットワークの規格）
【非特許文献２】ＥＮ５０１７０規格ＰＲＯＦＩＢＵＳ（政府系機関から公開されているフィールドネットワークの規格）
【非特許文献３】ＩＥＣ６２０２６−２規格ＡＳ−Ｉｎｔｅｒｆａｃｅ（政府系機関から公開されているセンサ・アクチュエータネットワークの規格）
【非特許文献４】ＣＣ−Ｌｉｎｋ協会のＣＣ−Ｌｉｎｋ（民間機関から公開されているフィールドネットワークの規格）
【非特許文献５】ＯＤＶＡのＤｅｖｉｃｅＮｅｔ（民間機関から公開されているフィールドネットワークの規格）
【非特許文献６】ＣＣ−Ｌｉｎｋ協会のＣＣ−Ｌｉｎｋ／ＬＴ（民間機関から公開されているセンサ・アクチュエータネットワークの規格）
【発明の開示】
【発明が解決しようとする課題】
【００４４】
しかしながら、従来の処理方法では、上記の通り転送装置が入出力装置にデータを転送する際にビットのシフト操作が必要であるので、入出力装置宛の送信フレームを生成する処理に時間が掛るという問題がある。
【００４５】
そして、転送装置は、センサ・アクチュエータネットワークにて全ての入出力装置にデータを分配する処理が完了するまでの時間は、一台当たりの処理時間に入出力装置の台数を乗じた値となるので、上記したシフト処理による処理の遅れが分配処理の性能低下を招くという問題がある。
【００４６】
この発明は、上記に鑑みてなされたものであり、転送装置にてビットのシフト操作が不要なデータ分配システムを得ることを目的とする。
【課題を解決するための手段】
【００４７】
上述した目的を達成するため、この発明は、複数の個別データが纏めて格納されているビット列を送信する１台のコントローラと、前記コントローラから受信した前記ビット列から前記複数の個別データを取り出し、それぞれを対応する入出力装置に対して転送する転送装置と、前記転送装置から受信した前記個別データに基づき入出力の状態を制御する前記入出力装置の複数個とを備えるデータ分配システムにおいて、前記転送装置は、前記コントローラから受信した前記ビット列を扱い易いサイズのデータ片に分割する手段と、前記分割された複数のデータ片の中から送信先の入出力装置に対する個別データが格納されているデータ片を特定する手段と、前記特定されたデータ片にビットシフト操作を施すことなく加工を施して各入出力装置宛の１つのデータ片を生成し、各入出力装置宛に送信する手段と、前記データ片において対応する入出力装置に適用される前記個別データが格納されている領域を示すテンプレート情報を各入出力装置宛に送信する手段とを備え、前記入出力装置は、前記転送装置から受信したテンプレート情報を記憶する手段と、前記記憶されたテンプレート情報に基づき、前記転送装置から受信したデータ片から当該入出力装置が用いる前記個別データを取り出す手段とを備えることを特徴とする。
【００４８】
この発明によれば、転送装置にてビットのシフト操作が不要になるので、入出力装置宛に送信するデータ片を短時間に生成することができる。したがって、分配処理の性能を向上することができる。
【発明の効果】
【００４９】
この発明によれば、１台のコントローラから複数の入出力装置に対して個別データを分配する処理の性能を向上することができるという効果を奏する。
【発明を実施するための最良の形態】
【００５０】
以下に、この発明にかかるデータ分配システムの好適な実施の形態を図面を参照して詳細に説明する。
【００５１】
図１は、この発明の一実施の形態であるデータ分配システムの構成と転送装置の処理内容を説明する図である。図１では、システム全体を制御するコントローラ１０が転送装置２０を介して３台の入出力装置５０ｑ（ｑ＝Ａ、Ｂ、Ｃ）に対して、制御対象に出力する状態量の設定制御を行う場合が示されている。転送装置２０は、コントローラ１０とフィールドネットワーク１２を介して接続され、入出力装置５０ｑとセンサ・アクチュエータネットワーク１７を介して接続されている。なお入出力装置５０ｑの構成と処理内容は、図２〜図４に示してある。
【００５２】
転送装置２０は、受信部２１と分割部２２と受信バッファ２３と特定部２４と演算部２５と送信部２６とを備えている。受信部２１は、コントローラ１０がフィールドネットワーク１２上に送信する送信フレームを受信すると、その送信フレームからデータフィールドを構成するビット列１３を取り出し、分割部２２に与える。
【００５３】
図１では、ビット列１３は、１６ビットで構成されている。そして、ビット配列におけるＬＳＢの位置は、右端側であり、ＭＳＢの位置は、左端側であるとしている。ビット列１３では、最下位側の第１ビットと第２ビットがデータ４１Ａであり、第３ビット〜第６ビットがデータ４１Ｂであり、第７ビット〜第１０ビットがデータ４１Ｃであり、第１１ビット〜最上位の第１６ビットは不使用となっている。データ４１ｑは、入出力装置５０ｑに送信するデータである。
【００５４】
分割部２２は、受信部２１から受け取ったビット列１３を１バイト長のデータに分割して受信バッファ２３に与え保持させる。図１では、ビット列１３は、１６ビットで構成されるので、２分割され、受信バッファ２３には、下位データ片２３ａと上位データ片２３ｂとが保持される。
【００５５】
特定部２４は、受信バッファ２３に保持されている下位データ片２３ａおよび上位データ片２３ｂと局番ｑ（ｑ＝Ａ、Ｂ、Ｃ）とに基づき入出力装置５０ｑに送信すべきデータ４１ｑを特定し受信バッファ２３から１バイトのデータ片を取り出し、それを演算部２５に与える。図１では、４つの１バイトデータ片３１Ａ、３１Ｂ、３１Ｃ１、３１Ｃ０を取り出すとしている。データ片３１Ａには、データ４１Ａが含まれている。データ片３１Ｂには、データ４１Ｂが含まれている。データ片３１Ｃ１には、データ４１Ｃの上位２ビットが含まれ、データ片３１Ｃ０には、データ４１Ｃの下位２ビットが含まれている。
【００５６】
演算部２５は、特定部２４が取り出したデータ片３１Ａ、３１Ｂ、３１Ｃ１、３１Ｃ０から入出力装置５０ｑに送り出すデータ片３２ｑを生成する。演算部２５は、図１では、データ片３１Ｃ１が入力されるシフトレジスタ２５ｂと、データ片３１Ｃ０が入力されるシフトレジスタ２５ａと、シフトレジスタ２５ｂ、２５ａでの処理結果が入力される論理和回路２５ｃとを備えている。
【００５７】
送信部２６は、演算部２５が生成したデータ片３２ｑを送信フレームのデータフィールドを構成するビット列１４ｑに格納してセンサ・アクチュエータネットワーク１７上に送信する。
【００５８】
次に、入出力装置５０ｑは、図２〜図４に示すように、受信部５１ｑと、データ片記憶部５２ｑと、テンプレート記憶部５５ｑｒ（ｒ＝０〜３）と、比較部５３ｑｒ（ｒ＝０〜３）とを備えている。ここで、図示省略したが、入出力装置５０ｑには、転送装置２０が送信するデータ片３２ｑにおいて入出力装置５０ｑに適用されるデータ４１ｑが格納されている領域を示すビットパターンからなるテンプレート情報が比較部５３ｑｒと１対１の対応関係を持って入力されるようになっている。この実施の形態では、転送装置２０が、システムの立ち上げ時等、入出力装置５０ｑへのデータ分配処理を開始する前に送信するようになっている。
【００５９】
受信部５１ｑは、転送装置２０がセンサ・アクチュエータネットワーク１７上に送信する送信フレームを受信すると、データフィールドを構成するビット列１４ｑからデータ片３２ｑを取り出し、データ片記憶部５２ｑに保持させる。また、受信部５１ｑは、別途転送装置２０から受信する上記のテンプレート情報をテンプレート記憶部５２ｑｒに保持させる。比較部５３ｑｒは、データ片記憶部５２ｑが保持するデータ片３２ｑとテンプレート記憶部５２ｑｒが保持するテンプレート情報との論理積を取り、その結果が“０”のとき出力状態５４ｑｒをＯＦＦにし、“０”と異なるとき出力状態５４ｑｒをＯＮにする。
【００６０】
次に、以上のように構成されるこの実施の形態によるデータ分配システムの動作について説明する。図１において、転送装置２０は、コントローラ１０から入出力装置５０ｑへのデータ分配処理を開始する前に指示を受けて、各入出力装置５０ｑに対しテンプレート情報を送信する。これによって、入出力装置５０ｑでは、テンプレート記憶部５５ｑｒにテンプレート情報が保持される。
【００６１】
すなわち、入出力装置５０Ａでは、テンプレート記憶部５５Ａ０にテンプレート情報“０００００００１”が保持され、テンプレート記憶部５５Ａ１にテンプレート情報“００００００１０”が保持される。入出力装置５０Ｂでは、テンプレート記憶部５５Ｂ０にテンプレート情報“０００００１００”が保持され、テンプレート記憶部５５Ｂ１にテンプレート情報“００００１０００”が保持され、テンプレート記憶部５５Ｂ２にテンプレート情報“０００１００００”が保持され、テンプレート記憶部５５Ｂ３にテンプレート情報“００１０００００”が保持される。また、入出力装置５０Ｃでは、テンプレート記憶部５５Ｃ０にテンプレート情報“０１００００００”が保持され、テンプレート記憶部５５Ｃ１にテンプレート情報“１０００００００”が保持され、テンプレート記憶部５５Ｃ２にテンプレート情報“００００００１”が保持され、テンプレート記憶部５５Ｃ３にテンプレート情報“０００００１０”が保持される。
【００６２】
コントローラ１０は、転送装置２０による以上の前処理が終了すると、２ビットで構成される入出力装置５０Ａ宛のデータ４１Ａ（図示例では“０１”）と、４ビットで構成される入出力装置５０Ｂ宛のデータ４１Ｂ（図示例では“０１０１”）と、４ビットで構成される入出力装置５０Ｃ宛のデータ４１Ｃ（図示例では“１１０１”）とを含むビット列１３（図示例では“１１１１１１１１０１０１０１０１”）を格納したデータフィールドを送信フレームに設定しフィールドネットワーク１２を介して転送装置２０に送信する。
【００６３】
転送装置２０では、受信部２１にてデータフィールドを構成するビット列１３が取り出される。取り出されたビット列１３は、分割部２２にて下位バイト“０１０１０１０１”からなる下位データ片２３ａと、上位バイト“１１１１１１１１”からなる上位データ片２３ｂとに分割され、それぞれ受信バッファ２３に格納される。
【００６４】
受信バッファ２３が保持する下位データ片２３ａには、入出力装置５０Ａへの転送データ４１Ａ（“０１”）と入出力装置５０Ｂへの転送データ４１Ｂ（“０１０１”）と入出力装置５０Ｃへの転送データ４１Ｃの半分（下位２ビット“０１”）とが含まれ、上位データ片２３ｂには入出力装置５０Ｃへの転送データ４１Ｃの残り半分（上位２ビット“１１”）が含まれている。
【００６５】
そこで、特定部２４では、入出力装置５０Ａへの転送データ４１Ａが格納されている下位データ片２３ａに局番Ａを添えたデータ片３１Ａを作り、演算部２５に渡す。また、入出力装置５０Ｂへの転送データ４１Ｂが格納されている下位データ片２３ａに局番Ｂを添えたデータ片３１Ｂを作り、演算部２５に渡す。そして、入出力装置５０Ｃへの転送データ４１Ｃは、下位データ片２３ａと上位データ片２３ｂに半分ずつ含まれているので、下位データ片２３ａと上位データ片２３ｂに局番Ｃを添えたデータ片３１Ｃ１と３１Ｃ０を作り、それぞれを演算部２５に渡す。
【００６６】
演算部２５では、入出力装置５０ｑ宛のデータ４１ｑが１つのデータ片３１ｑに全て含まれている場合は、そのデータ片３１ｑに特別の処理を施すことなく送信部２６に渡すデータ片３２ｑとする。一方、データ４１ｑが２つのデータ片３１ｑ０およびデータ片３１ｑ１に分かれて含まれている場合は、データ片３１ｑ０およびデータ片１３１ｑ１におけるデータ４１ｑ以外のビットを“０”にした上で２つのデータ片に論理和演算を施して送信部２６に渡すデータ片３２ｑを生成するようにしている。
【００６７】
すなわち、演算部２５では、特定部２４から渡されたデータ片３１Ａ（“０１０１０１０１”）には、入出力装置５０Ａ宛のデータ４１Ａ（“０１”）が全て含まれている。そこで、データ片３１Ａをそのままデータ片３２Ａとして送信部２６に渡す。送信部２６では、データ片３２Ａをビット列１４Ａとするデータフィールドを持つ送信フレームを生成し、センサ・アクチュエータネットワーク１７を介して入出力装置５０Ａ宛に送信する。
【００６８】
入出力装置５０Ａでは、受信部５１Ａが受信した送信フレームのデータフィールドから取り出したビット列１４Ａ（“０１０１０１０１”）をデータ片記憶部５２Ａに記憶させる。比較部５３Ａ０は、データ片記憶部５２Ａに格納されているデータ“０１０１０１０１”とテンプレート記憶部５５Ａ０に格納されているテンプレート情報“０００００００１”との論理積演算を行い、その演算結果が“１”であるので、出力５４Ａ０をＯＮにする。また、比較部５３Ａ１は、データ片記憶部５２Ａに格納されているデータ“０１０１０１０１”とテンプレート記憶部５５Ａ１に格納されているテンプレート情報“００００００１０”との論理積演算を行い、その演算結果が“０”であるので、出力５４Ａ１をＯＦＦにする。
【００６９】
また、演算部２５では、特定部２４から渡されたデータ片３１Ｂ（“０１０１０１０１”）には、入出力装置５０Ｂ宛のデータ４１Ｂ（“０１０１”）が全て含まれている。そこで、データ片３１Ｂをそのままデータ片３２Ｂとして送信部２６に渡す。送信部２６では、データ片３２Ｂをビット列１４Ｂとするデータフィールドを持つ送信フレームを生成し、センサ・アクチュエータネットワーク１７を介して入出力装置５０Ｂ宛に送信する。
【００７０】
入出力装置５０Ｂでは、受信部５１Ｂが受信した送信フレームのデータフィールドから取り出したビット列１４Ｂ（“０１０１０１０１”）をデータ片記憶部５２Ｂに記憶させる。比較部５３Ｂ０は、データ片記憶部５２Ｂに格納されているデータ“０１０１０１０１”とテンプレート記憶部５５Ｂ０に格納されているテンプレート情報“０００００１００”との論理積演算を行い、その演算結果が“０”と異なるので、出力５４Ｂ０をＯＮにする。比較部５３Ｂ１は、データ片記憶部５２Ｂに格納されているデータ“０１０１０１０１”とテンプレート記憶部５５Ｂ１に格納されているテンプレート情報“００００１０００”との論理積演算を行い、その演算結果が“０”であるので、出力５４Ｂ１をＯＦＦにする。
【００７１】
比較部５３Ｂ２は、データ片記憶部５２Ｂに格納されているデータ“０１０１０１０１”とテンプレート記憶部５５Ｂ２に格納されているテンプレート情報“０００１００００”との論理積演算を行い、その演算結果が“０”と異なるので、出力５４Ｂ２をＯＮにする。また、比較部５３Ｂ３は、データ片記憶部５２Ｂに格納されているデータ“０１０１０１０１”とテンプレート記憶部５５Ｂ３に格納されているテンプレート情報“００１０００００”との論理積演算を行い、その演算結果が“０”であるので、出力５４Ｂ３をＯＦＦにする。
【００７２】
一方、演算部２５では、特定部２４から渡されたデータ片３１Ｃ０（“０１０１０１０１”）とデータ片３１Ｃ１（“１１１１１１１１”）とには、入出力装置５０Ｃ宛のデータ４１Ｃが２分割されて含まれている。そして、局番Ｃから、データ片３１Ｃ０では上位の２ビットを取り出せばよく、データ片３１Ｃ１では下位の２ビットを取り出せばよいと判断できる。そこで、データ片３１Ｃ０では、上位２ビット以外を“０” にするために論理積回路２５ａにてデータ片３１Ｃ０（“０１０１０１０１”）と定数“１１００００００”との論理積を取りデータ片３１Ｃ２（“０１００００００”）を生成する。
【００７３】
また、データ片３１Ｃ１では、下位２ビット以外を“０”にするために論理積回路２５ｂにてデータ片３１Ｃ１（“１１１１１１１１”）と定数“００００００１１”との論理積を取りデータ片３１Ｃ３（“００００００１１”）を生成する。そして、論理和回路２５ｃにてデータ片３１Ｃ２とデータ片３１Ｃ３との論理和を取り、データ片３２Ｃ（“０１００００１１”）を生成し、送信部２６に与える。送信部２６は、データ片３２Ｃをビット列１４Ｃとするデータフィールドを持つ送信フレームを生成し、センサ・アクチュエータネットワーク１７を介して入出力装置５０Ｃ宛に送信する。
【００７４】
入出力装置５０Ｃでは、受信部５１Ｃが受信した送信フレームのデータフィールドから取り出したビット列１４Ｃ（“０１００００１１”）をデータ片記憶部５２Ｃに記憶させる。比較部５３Ｃ０は、データ片記憶部５２Ｃに格納されているデータ“０１０００００１１”とテンプレート記憶部５５Ｃ０に格納されているテンプレート情報“０１０００００”との論理積演算を行い、その演算結果が“０”と異なるので、出力５４Ｃ０をＯＮにする。比較部５３Ｃ１は、データ片記憶部５２Ｃに格納されているデータ“０１０００００１１”とテンプレート記憶部５５Ｃ１に格納されているテンプレート情報“１０００００００”との論理積演算を行い、その演算結果が“０”であるので、出力５４Ｃ１をＯＦＦにする。
【００７５】
比較部５３Ｃ２は、データ片記憶部５２Ｃに格納されているデータ“０１００００１１”とテンプレート記憶部５５Ｃ２に格納されているテンプレート情報“０００００００１”との論理積演算を行い、演算結果が“１”であるので、出力５４Ｃ２をＯＮにする。また、比較部５３Ｃ３は、データ片記憶部５２Ｃに格納されているデータ“０１００００１１”とテンプレート記憶部５５Ｃ３に格納されているテンプレート情報“００００００１０”との論理積演算を行い、演算結果が“０”と異なるので、出力５４Ｃ３をＯＮにする。
【００７６】
ここで、図５と図６を参照して、転送装置２０がビット列１３からデータ片３２ｑを作成する処理内容を具体的に説明する。なお、図５では、転送装置２０が８ビットのマイコンを用いて処理を実行する場合が示されている。また、図６は、図５に示すｄ部に関する処理内容の詳細を説明する図である。
【００７７】
図５において、転送処理は、定数定義部にて定数を定め、変数定義部にて変数を宣言し、変数の初期化部にて変数の初期値を定めた後、ｇｅｔ＿ｆｉｅｌｄ＿ｎｅｔｗｏｒｋ＿ｄａｔａ（）関数にてビット列１３の値を変数ｄ１３に格納し、続くｆｏｒループにて、入出力装置５０ｑへのデータ送信を行う順に実行される。
【００７８】
図６において、欄（イ）は図５に示すｄ部での処理を示し、欄（ロ）は実際にマイコンが行う処理動作を示し、欄（ハ）は所要クロック数を示している。欄（ハ）では、マイコンが一行分の処理を行うのに要するクロック数を１とし、条件判断の結果実行されない行のクロック数を０、実行される行のクロック数を１として表し、最下段にクロック数の合計３０が示されている。
【００７９】
すなわち、従来例（図２１）では、データ転送の処理に９９クロックを要していた。これに対してこの実施の形態では、３０クロックで転送処理を完了することができるので、転送装置の処理時間を大幅に短縮する効果を奏することが分る。
【００８０】
次に、図７と図８は、入出力装置５０ｑがデータ片記憶部５２ｑに記憶したデータから出力状態を決定する処理内容を具体的に説明する図である。なお、図７では、入出力装置５０ｑが８ビットのマイコンを用いて処理を実行する場合が示されている。また、図８では、図７に示すｅ部に関する処理内容の詳細が示されている。
【００８１】
図７において、入出力装置では、定数定義部にて定数を定め、変数定義部にて変数を宣言し、それを入出力装置毎に適用した後に、ビット列１４ｑの値を取り込み、出力５４ｑｋ（ｋ＝０〜３）の状態を決定する処理が行われる。
【００８２】
図８において、欄（イ）は図７に示すｅ部での処理を示し、欄（ロ）は実際にマイコンが行う処理動作を示し、欄（ハ）は所要クロック数を示している。欄（ハ）では、図７のｅ部の処理の実行に１２クロックを要することが示されている。これに対し、従来例（図１５）では、処理の実行に要したクロック数は１２クロックであった。すなわち、この実施の形態では、入出力装置の処理時間を維持したまま、転送装置の処理時間を大幅に短縮できるようになっている。
【産業上の利用可能性】
【００８３】
以上のように、この発明にかかるデータ分配システムは、１台のコントローラから複数の入出力装置に対して個別データを分配する処理の性能を向上するのに有用である。
【図面の簡単な説明】
【００８４】
【図１】この発明の一実施の形態であるデータ分配システムの構成と転送装置の処理内容を説明する図である。
【図２】図１に示す入出力装置の構成と処理内容を説明する図である。
【図３】図１に示す入出力装置の構成と処理内容を説明する図である。
【図４】図１に示す入出力装置の構成と処理内容を説明する図である。
【図５】図１に示す転送装置がコントローラから受信したビット列に基づき各入出力装置に転送するデータ片を作成する処理内容を具体的に説明する図である。
【図６】図５に示すｄ部に関する処理内容の詳細を説明する図である。
【図７】図１に示す入出力装置が転送装置から受信したビット列に基づき入出力状態を決定する処理内容を具体的に説明する図である。
【図８】図７に示すｅ部に関する処理内容の詳細を説明する図である。
【図９】フィールドネットワークとセンサ。アクチュエータネットワークを階層化する場合の概念図である。
【図１０】図９に示す一つのグループで行われる入出力装置へのデータ分配を説明する図である。
【図１１】図１０に示す転送装置がコントローラからの送信フレームに基づきグループ内の入出力装置宛の送信フレームを生成する処理内容を具体的に説明する図である。
【図１２】図１１に示すａ部に関する処理内容の詳細を説明する図である。
【図１３】図１０に示す入出力装置が転送装置から受け取った送信フレームから出力状態を決定する処理内容を具体的に説明する図である（出力ポートが同一アドレスの場合）。
【図１４】図１０に示す入出力装置が転送装置から受け取った送信フレームから出力状態を決定する処理内容を具体的に説明する図である（出力ポートが異なるアドレスの場合）。
【図１５】図１４に示すｂ部に関する処理内容の詳細を説明する図である。
【図１６】従来の階層化されたデータ分配システムの構成と転送装置の処理内容を説明する図である。
【図１７】図１６に示す従来のデータ分配システムにおける入出力装置の構成と処理内容を説明する図である。
【図１８】図１６に示す従来のデータ分配システムにおける入出力装置の構成と処理内容を説明する図である。
【図１９】図１６に示す従来のデータ分配システムにおける入出力装置の構成と処理内容を説明する図である。
【図２０】図１７に示す転送装置がコントローラから受信したビット列に基づき各入出力装置に転送するデータ片を作成する処理内容を具体的に説明する図である。
【図２１】図２０に示すｃ部に関する処理内容の詳細を説明する図である。
【符号の説明】
【００８５】
１０  コントローラ
１２  フィールドネットワーク
１３、１４Ａ、１４Ｂ、１４Ｃ  ビット列
１７  センサ・アクチュエータネットワーク
２０  転送装置
２１  受信部
２２  分割部
２３  受信バッファ
２４  特定部
２５  演算部
２６  送信部
３１Ａ、３１Ｂ、３１Ｃ０、３１Ｃ１、３１Ｃ２、３１Ｃ３、３２Ａ、３２Ｂ、３２Ｃ  データ片
５０Ａ、５０Ｂ、５０Ｃ  入出力装置
５１Ａ、５１Ｂ、５１Ｃ  受信部
５２Ａ、５２Ｂ、５２Ｃ  データ片記憶部
５３Ａ０、５３Ａ１、５３Ｂ０、５３Ｂ１、５３Ｂ２、５３Ｂ３、５３Ｃ０、５３Ｃ１、５３Ｃ２、５３Ｃ３  比較部
５４Ａ０、５４Ａ１、５４Ｂ０、５４Ｂ１、５４Ｂ２、５４Ｂ３、５４Ｃ０、５４Ｃ１、５４Ｃ２、５４Ｃ３  出力
５５Ａ０、５５Ａ１、５５Ｂ０、５５Ｂ１、５５Ｂ２、５５Ｂ３、５５Ｃ０、５５Ｃ１、５５Ｃ２、５５Ｃ３  テンプレート記憶部
【図１】
2005157583.tif 000003
【図２】
2005157583.tif 000004
【図３】
2005157583.tif 000005
【図４】
2005157583.tif 000006
【図５】
2005157583.tif 000007
【図６】
2005157583.tif 000008
【図７】
2005157583.tif 000009
【図８】
2005157583.tif 000010
【図９】
2005157583.tif 000011
【図１０】
2005157583.tif 000012
【図１１】
2005157583.tif 000013
【図１２】
2005157583.tif 000014
【図１３】
2005157583.tif 000015
【図１４】
2005157583.tif 000016
【図１５】
2005157583.tif 000017
【図１６】
2005157583.tif 000018
【図１７】
2005157583.tif 000019
【図１８】
2005157583.tif 000020
【図１９】
2005157583.tif 000021
【図２０】
2005157583.tif 000022
【図２１】
2005157583.tif 000023