(57)【要約】  複数の入力機器または出力機器に対してデータの入出力を行うの子局の共有メモリと、子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御システムにおいて、親局は、入力機器または出力機器に対するグループ情報を設定し、周期テーブルに応じて、子局の共有メモリとグループ情報が規定された入力要求フレームを出力するとともに、子局は、複数の入力機器または出力機器に対してデータの入出力を行うとともに、親局からの入力要求フレームの入力要求内容が 子局の一または複数単位の共有メモリの情報全てかグループ情報に対応する情報かを判別して入力要求内容に応じて出力データの転送を実施する。
2014037970.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力機器または出力機器に対してデータの入出力を行うの子局の共有メモリと、前記子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御システムにおいて、
前記親局は、前記各々の入力機器または出力機器に対する通信周期とグループ情報を規定する周期テーブルと、
前記周期テーブルに応じて、入力要求する前記子局の共有メモリとグループ情報が規定された入力要求フレームを出力する入力要求送信手段と、
前記周期テーブルを参照して前記出力機器のための出力データの格納された前記親局の共有メモリの送信タイミングを決定し共有メモリへ出力するよう送信指示を出す送信制御手段と、
前記ネットワークから入力された出力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに再現する再現手段を備え、
前記子局は、前記子局の共有メモリから前記出力機器への出力データの出力と前記入力機器から前記子局の共有メモリへの入力データの入力を行うデバイス入出力手段と、
前記親局からの入力要求フレームの入力要求内容が前記子局の一または複数単位の共有メモリの情報全てかグループ情報に対応する情報かを判定して対応する出力データの送出指示を出力する送信データ判定手段と、
前記子局の共有メモリからの出力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに圧縮する圧縮手段と、
を備えることを特徴とする分散Ｉ／Ｏ制御システム。
【請求項２】
請求項１記載の子局は、
各々の入力機器ごとにイベントとして設定された入力データの特定のパターンと、前記イベントの検知後から親局にイベントの発生した入力データを出力するまでの猶予時間とが登録されたイベントテーブルと、
前記デバイス入出力手段を経由して前記入力機器からの入力データからイベントテーブルを参照してイベントが発生したか否かを判定し、前記子局の共有メモリに対応するイベントタイマへタイマのセットを行うイベント判定手段、前記親局からの入力要求または前記イベントタイマのタイマが０になったことによる出力要求に応じて前記親局への送信指示を前記子局の共有メモリに送信する前記送信データ判定手段と、
を備えることを特徴とする請求項１に記載の分散Ｉ／Ｏ制御システム。
【請求項３】
前記周期テーブルに記載の通信周期が複数あり、かつ一部の前記通信周期が所定の周期の非整数倍となる場合において、前記所定の周期の非整数倍の周期にて前記子局の共有メモリに入力データを更新する前記子局の調整手段と、
前記入力データに対応しネットワークを経由して更新された前記親局の共有メモリから前記所定の周期の非整数倍の周期にて前記入力データを前記アプリケーションに出力する前記親局の調整手段と、
を特徴とする請求項１または２に記載の分散Ｉ／Ｏ制御システム。
【請求項４】
前記周期テーブルに記載の通信周期が複数ある場合において、
前記入力要求送信手段は、複数の通信周期の最小公倍数に当たる周期については前記子局の共有メモリの全てを指定した前記入力要求フレームを出力するとともに、それ以外の周期については、グループ情報に基づく前記入力要求フレームを出力すること
を特徴とする請求項１乃至３に記載の分散Ｉ／Ｏ制御システム。
【請求項５】
親局は、親局の共有メモリからの出力がグループ情報に基づくときに、出力不要なデータを削除する圧縮手段と、
子局は、親局からの出力データがグループ情報に基づくときに、子局の共有メモリに入力するためのデータに再現する再現手段と、
を備える請求項１乃至４に記載の分散Ｉ／Ｏ制御システム。
【請求項６】
複数の入力機器または出力機器に対してデータの入出力を行う子局の共有メモリと、前記子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御方法において、
親局側において、前記各々の入力機器または出力機器に対する通信周期とグループ情報を規定する周期テーブルに応じて、入力要求する前記子局の共有メモリとグループ情報が規定された入力要求フレームを出力する入力要求送信ステップと、
前記周期テーブルを参照して前記出力機器のための出力データの格納された前記親局の共有メモリの送信タイミングを決定し共有メモリへ出力するよう送信指示を出す送信制御ステップと、
子局側において、前記子局の共有メモリから前記出力機器への出力データの出力と前記入力機器から前記子局の共有メモリへの入力データの入力を行うデバイス入出力ステップと、
前記親局からの入力要求フレームの入力要求内容が前記子局の一または複数単位の共有メモリの情報全てかグループ情報に対応する情報かを判定して対応する出力データの送出指示を出力する送信データ判定ステップと、
前記子局の共有メモリからの出力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに圧縮する圧縮ステップと、
親局側において、前記ネットワークから入力された出力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに再現する再現ステップ
を有することを特徴とする分散Ｉ／Ｏ制御方法。
【請求項７】
複数の入力機器または出力機器に対してデータの入出力を行うの子局の共有メモリと、前記子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御システムの親局において、
前記各々の入力機器または出力機器に対する通信周期とグループ情報を規定する周期テーブルと、
前記周期テーブルに応じて、入力要求する前記子局の共有メモリとグループ情報が規定された入力要求フレームを出力する入力要求送信手段と、
前記周期テーブルを参照して前記出力機器のための出力データの格納された前記親局の共有メモリの送信タイミングを決定し共有メモリへ出力するよう送信指示を出す送信制御手段と、
前記ネットワークから入力された出力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに再現する再現手段と
を備えたことを特徴とする分散Ｉ／Ｏ制御システムの親局。
【請求項８】
複数の入力機器または出力機器に対してデータの入出力を行うの子局の共有メモリと、前記子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御システムの子局において、
前記子局の共有メモリから前記出力機器への出力データの出力と前記入力機器から前記子局の共有メモリへの入力データの入力を行うデバイス入出力手段と、
前記親局からの入力要求フレームの入力要求内容が前記子局の一または複数単位の共有メモリの情報全てかグループ情報に対応する情報かを判定して対応する出力データの送出指示を出力する送信データ判定手段と、
前記子局の共有メモリからの出力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに圧縮する圧縮手段と、
を備えることを特徴とする分散Ｉ／Ｏ制御システムの子局。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は分散Ｉ／Ｏ制御システム及びその制御方法に関する。
【背景技術】
【０００２】
自動車に搭載される車載システムを例にすると、複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）がそれぞれ一つのネットワークで接続され、さらに複数のうちの一つのＥＣＵの通信を行うＩ／Ｏデバイス（Ｉ／Ｏ：ＩＮＰＵＴ／ＯＵＴＰＵＴ）が専用の信号線で接続され、その一つのＥＣＵがＩ／Ｏデバイスを制御する。
このような車載システムには、制御対象のＩ／Ｏデバイスの増加に伴って、一つのＥＣＵに接続する専用の信号線の量が増加する、という課題がある。【０００３】
この課題を解決するために、特許文献１には、複数のＩ／Ｏデバイスそれぞれの専用の信号線を車両各部に配置されたいずれかの多重伝送装置に収容し、これらの多重伝送装置間を多重伝送路でＥＣＵと接続する方法が開示されている。
しかし、複数のＥＣＵが接続される状況においては、多重伝送路に、一つのＥＣＵと多重伝送装置との接続だけでなく、それ以外の複数のＥＣＵとの接続がなされ、それぞれのＥＣＵ間などでデータ交換にも利用される。また、ＥＣＵ間で交換されるデータは、走行中の車体制御などに利用されるため、所定のリアルタイム性が要求される。【０００４】
また、特許文献２には、親局と複数の子局（多重伝送装置に相当）との通信システムにおいて複数の子局を通信周期に応じてグループに分け、親局から処理すべきグループを指定するフレームを送信することで特定のグループのみ通信を行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平２−１６４９号公報
【特許文献２】特開２０１０−２８７９５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
親局と複数のＩ／Ｏデバイスと接続される複数の子局との通信システムであって、接続される多重伝送路が他の親局や子局による通信が発生する状況において、Ｉ／Ｏデバイスの入力データの変化を早期に通知する必要がある一方で、上記のリアルタイム性を保証できるように、子局から親局へのデータ送信が抑制される必要がある。
すなわち、子局から親局へ通信帯域を一定以下に抑えて、他の装置が通信できるようにする必要がある。【０００７】
しかし、入力データが変化する度に子局から親局に入力データが送信される方式では、入力データの変化が一定期間に集中して発生する状況にも対応できるよう、通信帯域を常時、多重伝送装置に割当てておく必要がある。
さらに、子局には様々な通信周期が要求されるＩ／Ｏ機器が接続されるため、通信周期に応じて子局を指定する方式ではＩ／Ｏ機器に求められる通信周期に対応できないといった問題もある。
このため、多重伝送路を利用する他の装置に十分な通信帯域を保証することができない。【０００８】
本発明は、このような状況を鑑みたものであり、通信帯域の抑制を図りながら、求められる通信機器の通信周期に対応しつつ、特定のデータは遅滞なく送信される構成を実現することを主な目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、複数の入力機器または出力機器に対してデータの入出力を行うの子局の共有メモリと、子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御システムにおいて、親局は、各々の入力機器または出力機器に対する通信周期とグループ情報を規定する周期テーブルと、 周期テーブルに応じて、入力要求する 子局の共有メモリとグループ情報が規定された入力要求フレームを出力する入力要求送信手段と、 周期テーブルを参照して 出力機器のための出力データの格納された 親局の共有メモリの送信タイミングを決定し共有メモリへ出力するよう送信指示を出す送信制御手段と、 ネットワークから入力された出力データがグループ情報に基づくときに、親局の共有メモリに入力するためのデータに再現する再現手段を備え、子局は、子局の共有メモリから 出力機器への出力データの出力と 入力機器から 子局の共有メモリへの入力データの入力を行うデバイス入出力手段と、親局からの入力要求フレームの入力要求内容が 子局の一または複数単位の共有メモリの情報全てかグループ情報に対応する情報かを判定して対応する出力データの送出指示を出力する送信データ判定手段と、子局の共有メモリからの出力データがグループ情報に基づくときに、 親局の共有メモリに入力するためのデータに圧縮する圧縮手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明にかかる分散Ｉ／Ｏ制御システムは、子局に接続される入力機器または出力機器に要求される通信周期に対応しつつ、多重伝送路の通信帯域の抑制を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１−１】実施の形態１における分散Ｉ／Ｏ制御システムの親局１００の構成図。
【図１−２】実施の形態１における分散Ｉ／Ｏ制御システムの子局３００の構成図。
【図２】実施の形態１における共有メモリ１０１、３０１について説明する図。
【図３】実施の形態１における出力データのグループと圧縮手段１１２，３１２での圧縮方法についての説明図。
【図４】実施の形態１における入力要求フレームについての説明図。
【図５】実施の形態１における入力取得の手順例を説明する図。
【図６】実施の形態２における子局３００の構成図。
【図７】実施の形態２における子局３００のイベント発生時の動作図。
【図８】実施の形態２における子局３００のイベントが複数発生時の動作図。
【図９−１】実施の形態３における分散Ｉ／Ｏ制御システムの親局１００の構成図。
【図９−２】実施の形態３における分散Ｉ／Ｏ制御システムの子局３００の構成図。
【図１０】実施の形態３における子局３００での共有メモリ３０１の更新タイミングと送信タイミングについての説明図。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかる分散Ｉ／Ｏ制御システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態１．
実施の形態１では親局からＩ／Ｏデバイスに接続された複数の子局に入力要求を送信して、子局が入力要求に対応したＩ／Ｏデバイスからの入力データを親局に送信する仕組みにおいて、入力データが共有メモリまたはグループと呼ぶデータ群に属しており、共有メモリ番号かグループ番号を指定することで親局から入力要求を行うＩ／Ｏデバイスに接続された子局から親局へ出力するシステムについて説明する。
【００１４】
図１−１は実施の形態１における分散Ｉ／Ｏ制御システムの親局１００の構成図である。また、図１−２は実施の形態１における分散Ｉ／Ｏ制御システムの子局３００の構成図である。
図１−１において、親局１００は単一のノードであり、ネットワーク２００を介して子局３００から入力データを収集して、制御演算を行い、ネットワーク２００を介して子局３００に出力データを提供する。ネットワーク２００は、本実施の形態に記載される以外の親局または子局間の通信も行われている。図１−２において、子局３００は個別の複数のノードであり、複数の入力機器４００から取得した入力データを親局１００に送信する。また、子局３００は、親局１００から取得した出力データを基に、複数の出力機器５００に対して出力を行う。
【００１５】
図１−１及び図１−２において、親局１００と子局３００の共有メモリ１０１、３０１は入力機器４００から入力データまたは出力機器５００への出力データを格納して親局１００と子局３００の間で交換するものである。どの入力機器４００または出力機器５００の情報をどの共有メモリのどのｂｉｔに割り付けるかの情報は親局１００と子局３００の間であらかじめ共有される。
なお、本実施の形態においては入力機器４００と出力機器５００を別に記載しているが、統合された入出力機器からについて、入出力機器から入力データまたは入出力機器への出力データを親局１００と子局３００の間で共有メモリ１０１、３０１を用いて交換してもよい。
【００１６】
図１−１及び図１−２において、親局１００と子局３００は、共有メモリ１０１、３０１の情報を交換する際、それぞれネットワーク２００に接続される通信手段１１０、３１０を介してデータのやり取りを行なう。
その際、一つの子局３００の一つの共有メモリ３０１のデータすべてを、対応する親局１００の一つの共有メモリ１０１に送信する場合は、共有メモリフレームを用いて通信手段３１０、１１０とネットワーク２００を経由してデータの授受が行われる。
また、逆に、親局１００の一つまたは複数の共有メモリ１０１のデータすべてについて一つの子局の一つまたは複数の共有メモリ３０１に対して送信する場合も、共有メモリフレームを用いて通信手段３１０、１１０とネットワーク２００を経由してデータの授受が行われる。
【００１７】
一方で、各々の共有メモリ１０１，３０１の領域の一部のデータの授受を行いたい場合には、通信手段１１０、３１０と共有メモリ１０１，３０１との通信の際に、再現手段１１１、３１１または圧縮手段１１２、３１２を経由する。
親局１００と子局３００の通信手段１１０、３１０に接続され、データの入力の際に通過する再現手段１１１、３１１は、ネットワーク２００を経由してデータを通信する際に、そのデータが不要なデータを省いて圧縮されており、その圧縮されたデータから、出力側の共有メモリ１０１のｂｉｔ割付け情報を再現し、入力側の共有メモリ１０１、３０１に出力する。
親局１００と子局３００の通信手段１１０、３１０に接続され、データの出力の際に出力用の共有メモリ１０１、３０１から経由する圧縮手段１１２、３１２は、送信する際に必要のないデータを省いて出力側共有メモリのｂｉｔ割付け情報を圧縮し通信手段１１０、３１０に送信する。この圧縮、再現の方法については後述する。
【００１８】
次に図１−１に特化して説明する。
図１−１の親局１００のアプリケーション１０２は、子局３００からネットワーク２００及び通信手段１１０を介して出力された共有メモリフレームと、さらに再現手段１１１を介して出力されたｂｉｔ割付け情報とをもとに入力用の共有メモリ１０１に入力された入力データを読み取り、制御演算を行い、出力用の共有メモリ１０１に出力データを書き込む。また必要に応じて周期テーブル１０３に子局３００への各入力と出力を行う周期の情報も提供する。
親局１００の周期テーブル１０３は、子局３００との入出力情報のやり取りされる通信周期の各入力機器４００及び各出力機器５００ごとの一覧が記述されたものである。また、この通信周期テーブル１０３には、各入力機器４００及び各出力機器５００のグループ情報（例えば通信周期など）が記述されている。さらにこの通信周期テーブル１０３には、各入力機器４００及び各出力機器５００に割りつけられる共有メモリ情報も記述されている。尚、上記グループ情報は通信周期に限定する必要はなく、そのグループの定義の詳細については後述する。
【００１９】
親局１００の通信周期算出手段１０４は、周期テーブル１０３を参照して入力要求フレームの送信周期を決定し、入力要求送信手段１０６へ入力要求フレームの送信周期情報を送信する。決定方法は最も短い周期を利用するなど任意の方法でよい。
親局１００の入力要求スケジュール手段１０５は、周期テーブル１０３を参照して、入力要求フレームでどの共有メモリ情報やグループを要求するかを決定し、入力要求送信手段１０６へ共有メモリ情報と周期グループ情報を送信する。決定方法はネットワーク１０２へのトラフィックの占有率を一定にする、アプリケーション１０３の動作タイミングに合わせて最新の値を利用できるようにするなど、任意の方法でよい。
【００２０】
親局１００の入力要求送信手段１０６は通信周期設定手段１０４に設定された通信周期情報と、入力要求スケジュール手段１０５から指定された次に要求すべき共有メモリ情報またはグループ情報から入力要求フレームを生成し通信手段１１０へ送信する。
親局１００の送信制御手段１０７は、周期テーブル１０３を参照して、出力機器５００のための制御出力情報の格納された共有メモリ１０１の送信タイミングを決定し共有メモリ１０１へ通信手段１１０へ出力するよう送信指示を出す。
【００２１】
通信手段１１０は、入力要求送信手段１０６から送信された入力要求フレームと、出力用の共有メモリ１０１から出力された共有メモリフレームと、出力用の共有メモリ１０１からさらに圧縮手段１１２を経由して出力された圧縮されたｂｉｔ割付け情報をネットワーク２００を介して、出力先の子局３００に出力する。
また、通信手段１１０は、ネットワーク２００を介して入力された共有フレームメモリ
を入力側の共有メモリ１０１に出力するとともに、圧縮手段３１２を経由した出力フレームを再現手段に出力する。
【００２２】
次に図１−２に特化して説明する。
子局３００のデバイス入出力手段３０２は、入力側の共有メモリ３０１から出力された出力データを入力し、該当する出力機器５００に対して出力データに対応した制御を行う。また、デバイス入出力手段３０２は、入力機器４００から定期的にデータを入力してその入力データを出力側の共有メモリ３０１に出力する。
子局３００の送信データ判定手段３０３は、通信手段３１０から入力された入力要求フレームの内容を判定して、子局３００の出力用の共有メモリ３０１から入力要求フレームで指定された共有メモリ情報や、入力要求フレームで指定された特定の通信周期に該当するグループの入力機器４００の入力データに該当するメモリアドレスまたはビットに対し、送信指示を行う。
【００２３】
図２は実施の形態１における共有メモリ１０１、３０１について説明する図である。
親局１００と子局３００の間では、どの入力機器４００または出力機器５００の情報をどの共有メモリのどのｂｉｔに割り付けるかの情報を共有している。一つの共有メモリ１０１、３０１は単一の送信フレームのペイロードとして、ｂｉｔの並びそのままに送受信される。
共有メモリ１０１、３０１は入力用、出力用共に複数存在し、親局１００は接続される全ての子局３００に対応する入力用、出力用の共有メモリ１０１を備える。子局３００は、その子局３００に対応した親局の入力用、出力用の共有メモリ１０１部分の入力用及び出力用の共有メモリ３０１を持ち、子局３００間では重複した入力用及び出力用共有メモリ３０１は持たない。
【００２４】
次にグループの定義について説明する。
グループは各入力機器４００からの入力データに関して設定可能なもので、どのグループにどの入力データが属するかは、親局１００と子局３００の間で共有されている。同じ入力周期のものを同じグループにする他、入力機器４００の接続するノードや割り付けられる共有メモリによらず任意に設定することができる。また、一つの入力データが複数の異なるグループに属してもよい。なお、このグループは複数定義することができる。
【００２５】
図３は実施の形態１における出力データのグループと圧縮手段１１２、３１２での圧縮方法についての説明図である。
入力要求フレームに図３に示すようなグループＢが指定された場合、子局３００の共有メモリ３０１内にある情報からグループＢ以外の入力機器４００に関する情報は、圧縮手段３１２によって省略され送信フレームとして通信手段３１０に出力し、通信手段３１０は、親局１００宛てにネットワーク２００に出力する。送信フレームを受信した親局１００は、通信手段１１０を経由して復元手段１１１により、送信フレームに対して、どの共有メモリのどのグループの情報かを判定し、省略された情報を補完（入れ替えない情報とする）ことで、元の共有メモリのｂｉｔ割付けを再現する。
これは、周期テーブル１０３にて管理されているグループ情報と対応する共有メモリ１０１、３０１の対応アドレスが親局１００と子局３００間で共有されていることで圧縮再現が可能となる。
また、親局１００から子局３００宛てにグループＢが指定された情報を送る際にも、親局１００の共有メモリ１０１からグループＢ以外の出力機器５００に関する情報は、圧縮手段１１２によって省略され送信フレームとして通信手段１１０に出力し、子局３００宛てにネットワーク２００に出力する。送信フレームを受信した子局３００は、通信手段３１０を経由して復元手段３１１により、送信フレームに対して、どの共有メモリのどのグループの情報かを判定し、省略された情報を補完（入れ替えない情報とする）ことで、元の共有メモリのｂｉｔ割付けを再現する。
【００２６】
図４は実施の形態１における入力要求フレームについての説明図である。入力要求フレームはヘッダ、データ領域、フッタから構成され、入力要求フレームはペイロードに該当するデータ領域の各ｂｉｔが各子局３００の各々の共有メモリ１０１、３０１またはグループの入力要求の有無に対応する。それぞれ対応するｂｉｔが１であれば入力要求することを表し、０であれば入力要求しないことを表す。
【００２７】
図５は実施の形態１における入力取得の手順例を説明する図である。図５を基に通信手順を説明する。
ステップＳ００１において、親局１００の入力要求送信手段１０６は、入力要求すべき共有メモリやグループの番号に対応するｂｉｔを１とした入力要求フレームを、設定された周期で生成し、通信手段１１０に出力した上で、通信手段１１０は、各子局３００に対してネットワーク２００経由にてブロードキャストする。例としてこの入力要求フレームは、図２や図４に示すように共有メモリ３０１のうち＃２１と＃２４の取得を要求するが、グループの取得は要求しないと仮定する。
【００２８】
子局３００において、デバイス入出力手段３０２は、入力機器４００の入力情報を定期的に取得し、入力データとして、出力用の共有メモリ３０１に出力し、出力用の共有メモリ３０１は、その入力データに応じて情報を更新している。
ステップＳ００２において、子局３００は入力要求フレームを受信したら、送信データ判定手段３０３により、どの共有メモリ３０１、またはグループが要求されているかを判定し、対応する共有メモリ３０１またはグループの送信指示を出す。今回は、共有メモリ３０１の情報のみを送信するため共有メモリ３０１は、共有メモリフレームのペイロードに共有メモリの情報を一括で格納し送信する。
【００２９】
ステップＳ００３において、親局１００は共有メモリフレームを受信したら対応する共有メモリ１０１の内容を一括更新する。
【００３０】
次にグループを入力要求する例について説明する。
ステップＳ００４において、親局１００の入力要求送信手段１０６は、入力要求すべきグループの番号に対応するｂｉｔを１とした入力要求フレームを、設定された周期で生成し、通信手段１１０に出力した上で、通信手段１１０は、各子局３００に対してネットワーク２００経由にてブロードキャストする。例としてこの入力要求フレームは、図４に示すように共有メモリ３０１のうちグループＡに属するデータの取得を要求すると仮定する。
【００３１】
ステップＳ００５において、各子局３００は入力要求フレームを受信したら、送信データ判定手段３０３により、どの共有メモリ３０１、またはグループが要求されているかを判定し、対応する共有メモリ３０１またはグループの送信指示を出す。今回は、グループＡの情報のみを送信するため、各子局３００のグループＡが属するデータが存在する共有メモリ３０１は、圧縮手段３１２にメモリのデータを送信する。各子局３００の圧縮手段３１２は、グループＡ以外のデータを削除のうえ、出力フレームとして通信手段３１０に出力し、通信手段３１０は親局１００に送信する。
このとき、グループとして送信することを示すために、送信フレームのヘッダやペイロード内にグループ送信であることを示す情報を付加してよい。
【００３２】
ステップＳ００６において、親局１００がグループＡのみの情報である送信フレームを受信したら再現手段１１１により元の共有メモリ３０１のｂｉｔ割付けを再現して１０１共有メモリを上書きする。そのため、省略されたｂｉｔを再現する際、その値は更新前の値を用いて値が変わらないようにする。
【００３３】
尚、親局１００から子局３００に送信する場合も、グループごとの送信を設定することができる。送信時は共有メモリ１０１のデータすべてを送信するか、グループとして送信するかを送信制御手段１０７が決定して共有メモリ１０１に対して送信指示を行う。送信制御手段１０７の送信タイミング決定方法は、周期テーブル１０３を参照して任意に行ってよい。
また、親局１００からグループごとのデータ送信する際にも、グループ送信であることを示すために、送信フレームのヘッダやペイロード内にグループ送信であることを示す情報を付加してよいし、またはあるグループに属する情報を全て送信した後に、別フレームでグループ名を指定してもよい。グループごとのデータ送信する場合、ブロードキャストとすることもできる。
【００３４】
親局１００から子局３００に送信するときも、親局１００の圧縮手段１１２と子局３００の再現手段３１１を用いて、子局３００から親局１００への場合と同様、送信しないグループの情報を省略してフレーム短くして送信することができる。
【００３５】
上記の構成では、まず、更新タイミングの訪れた共有メモリやグループのみを選択的に送信できるため、少ないトラフィックで異なる周期の混在する分散Ｉ／Ｏシステムの制御を行うことができる。
また、各入力機器４００及び各出力機器５００のグループ情報（例えば通信周期など）を設定したため、普段は短い周期で取得している情報を、通信周期の長いグループ情報として設定しておけば、長い周期で取得したり、通信周期の短いグループ情報を設定しておけば、逆に普段は長い周期で取得している情報を短い周期で集中的に取得するなど、動的に周期を変更してトラフィックをコントロールできる。
【００３６】
また入力要求はブロードキャストされ、各子局３００は入力要求受信時のデータを送信するため、異なるノードに接続された入力機器でも同じタイミングの入力値を親局に集めることができる。
また、例えばあるノードに５ｍｓと１０ｍｓ周期で取得する入力情報があり、かつ全ての入力情報が単一の共有メモリ３０１にｂｉｔ割付けできる場合、５ｍｓ周期の入力情報を同一のグループＢに設定し、入力要求を５ｍｓ周期で送信し、共有メモリ３０１を１０ｍｓ周期、グループＢをその次の入力要求で１０ｍｓ周期で要求することで、グループＢの送信時には圧縮手段により１０ｍｓ周期の情報を省略した短いフレームで送信できる。この場合、５ｍｓ周期の情報と１０ｍｓ周期の情報を別々の共有メモリ３０１にｂｉｔ割付けして、それぞれ入力要求を行う場合や、全てを共有メモリ３０１にｂｉｔ割付けしてグループを用いずに５ｍｓ周期で送信するよりもトラフィックを低減することができる。また、周期の異なる入力情報を同一の共有メモリに格納することで共有メモリの数を減らし、メモリリソースを低減できる。
【００３７】
以上のように、入力機器４００または出力機器５００に対してデータの入出力を行う子局３００の共有メモリ３０１と、親局１００の子局３００の共有メモリ３０１に対応した共有メモリ１０１と、をネットワーク２００を介して通信し、更新を行う分散Ｉ／Ｏ制御システムにおいて、
親局１００は、各々の入力機器４００または出力機器５００に対する通信周期と、各々の入力機器４００または出力機器５００に対するグループ情報を規定する周期テーブル１０３と、周期テーブル１０３に応じて、入力要求する共有メモリ３０１とグループ情報が規定された入力要求フレームを、周期テーブル１０３に基づいて出力する入力要求送信手段１０６と、周期テーブル１０３を参照して出力機器５００のための出力データの格納された共有メモリ１０１の送信タイミングを決定し共有メモリ１０１へ出力するよう送信指示を出す送信制御手段１０７と、共有メモリ１０１からの出力がグループ情報に基づくときに、出力不要なデータを削除する圧縮手段１１２と、ネットワーク２００から入力されたデータがグループ情報に基づくときに、共有メモリ１０１に入力するためのデータに再現する再現手段１１１を備え、子局３００は、親局１００からの出力データがグループ情報に基づくときに、共有メモリ３０１に入力するためのデータに再現する再現手段３１１と、入力機器４００または出力機器５００に対して共有メモリ３０１との間のデータの入出力を行うでデバイス入出力手段３０２と、親局１００からの入力要求フレームから共有メモリ３０１に対して共有メモリ３０１の情報かグループ情報に対応する情報かを判定して対応するデータの送出指示を出力する送信データ判定手段３０３と、メモリ３０１からの出力がグループ情報に基づくときに、共有メモリ３０１に入力するためのデータに再現する圧縮手段３１２と、を備えるので、子局が送るデータを減らし、パケットサイズを圧縮させるため、トラフィックの増加を低減しつつ必要な情報をリアルタイムに取得する分散Ｉ／Ｏシステムを実現することができる。
【００３８】
なお、複数のグループを送信するときは、同一の共有メモリに属する異なるグループについて、グループごとにフレームを分けずに、一つのフレームで送信してよい。また、同一の子局が有する複数の共有メモリ間で同一のグループに属する情報がある場合、ペイロードの容量を超えない限りは、それら同一のグループの情報を一つのフレームにまとめてよい。複数のグループをまとめるときのデータの順序はグループ番号の順や共有メモリ番号の順で決定し、親局と子局の間で共有されている。
【００３９】
また、複数のグループに属する情報は、同時に複数のグループが入力要求され伝達された際、同一のフレームで同一のデータが複数送信される場合がある。このとき再現手段は複数のグループから抽出された同一の値が等しいかどうかをエラー判定に用いてよい。
【００４０】
実施の形態２．
実施の形態２では実施の形態１の構成をすべて備え、さらに子局側でオンデマンドな通信を必要とするイベント発生時の処理を追加した構成について説明する。
【００４１】
親局１００は図１−１及び実施の形態１に記載したものと同じであり、子局３００について図１−２及び実施の形態１に記載した構成を備えるが、さらに付加した構成について図６を用いて説明する。図６は実施の形態２における子局３００の構成図である。
【００４２】
実施の形態１に付加した構成のみについて説明する。
子局３００のイベントテーブル３０４は、入力機器４００からデバイス入出力手段３０２を経由して入力された入力データをイベントとして検知するための特定の入力機器４００ごとに設定された入力データの特定のパターンと、そのイベントの検知後から親局１００にイベントの発生した入力データを伝達するまでの猶予時間が登録されている。
子局３００のイベント判定手段３０５は、各入力機器４００に対する入力データを取得したらイベントテーブル３０４を参照してイベントが発生しているか判定を行う。イベントの発生を確認したら、入力機器４００のイベントに対応する入力データの格納される共有メモリ３０１に対応したイベントタイマ３０６に対して、猶予時間をセットする。
子局３００のイベントタイマ３０６は猶予時間をセットされたらカウント（デクリメント）を開始し、ゼロになったら送信データ判定手段３０３に対して、対応する共有メモリ３０１の出力要求を行う。
【００４３】
図７は実施の形態２における子局３００のイベント発生時の動作図を示す。
上側は、入力機器４００からの入力データによってイベントが発生し、猶予時間経過時までに親局１００からの入力要求フレームがなかった場合を示し、下側は、入力機器４００からの入力データによってイベントが発生し、猶予時間経過時までに親局１００からの入力要求フレームがあった場合を示す。
【００４４】
上側の場合、入力機器４００からの入力データによって、イベント判定手段３０５は、イベントテーブル３０４を参照してイベントが発生していると判定すると、入力機器４００のイベントに対応する入力データの格納される共有メモリ３０１に対応したイベントタイマ３０６に対して、猶予時間をセットする。イベントタイマ３０６は猶予時間をセットされたらカウント（デクリメント）を開始し、ゼロになったら送信データ判定手段３０３に対して、対応する共有メモリ３０１の出力要求を行い、共有メモリ３０１は、共有メモリフレームまたは圧縮手段３１２を経由して送信フレームにて親局１００に送信する。
【００４５】
下側の場合、入力機器４００からの入力データによって、イベント判定手段３０５は、イベントテーブル３０４を参照してイベントが発生していると判定すると、入力機器４００のイベントに対応する入力データの格納される共有メモリ３０１に対応したイベントタイマ３０６に対して、猶予時間をセットする。イベントタイマ３０６は猶予時間をセットされたらカウント（デクリメント）を開始する。イベントタイマ３０６がゼロになる前に、送信データ判定手段３０３は親局１００からの入力要求フレームを受信する。その際、送信データ判定手段３０３は、指定された共有メモリ３０１またはイベント情報を含むグループの送信指示を行う際、指定された共有メモリのイベントタイマ３０６のリセットを行う。そのためイベントが発生して猶予時間を待機している間に入力要求でその共有メモリ３０１またはイベント情報を含むグループが指定された場合、猶予時間の経過を待たずに共有メモリ３０１またはイベント情報を含むグループは共有メモリフレームまたは圧縮手段３１２を経由して送信フレームにて親局１００に送信するとともにイベントタイマ３０６はリセットされる。
【００４６】
次に単数または複数の入力機器４００からの入力データによって、複数のイベントが発生した場合の動作について説明する。
図８は実施の形態２における子局３００のイベントが複数発生時の動作図を示す。
上側は、入力機器４００からの入力データによってイベント１が発生し、猶予時間経過時までにイベント２が発生するもの、イベント２猶予時間はイベント１の猶予時間経過後になる場合を示し、下側は、入力機器４００からの入力データによってイベント１が発生し、猶予時間経過時までにイベント２が発生し、イベント２猶予時間はイベント１の猶予時間経過前になる場合を示す。
【００４７】
上側の場合、入力機器４００からの入力データによって、イベント判定手段３０５は、イベントテーブル３０４を参照してイベントが発生していると判定すると、入力機器４００のイベントに対応する入力データの格納される共有メモリ３０１に対応したイベントタイマ３０６に対して、猶予時間をセットする。イベントタイマ３０６は猶予時間をセットされたらカウント（デクリメント）を開始する。また猶予時間の待機中に別のイベントが発生した場合、イベント判定手段３０５は先にセットしたイベントの残り猶予時間と、新しいイベントの猶予時間を比較する。先にセットしたイベントの方が短ければそのままとし、イベントタイマ３０６がゼロになったら送信データ判定手段３０３に対して、対応する共有メモリ３０１の出力要求を行い、共有メモリ３０１は、共有メモリフレームまたは圧縮手段３１２を経由して送信フレームにて親局１００に送信する。
【００４８】
下側の場合、入力機器４００からの入力データによって、イベント判定手段３０５は、イベントテーブル３０４を参照してイベントが発生していると判定すると、入力機器４００のイベントに対応する入力データの格納される共有メモリ３０１に対応したイベントタイマ３０６に対して、猶予時間をセットする。イベントタイマ３０６は猶予時間をセットされたらカウント（デクリメント）を開始する。また猶予時間の待機中に別のイベントが発生した場合、イベント判定手段３０５は先にセットしたイベントの残り猶予時間と、新しいイベントの猶予時間を比較する。後のイベントの方が短ければ、イベント判定手段３０５は後のイベントの猶予時間にイベントタイマ３０６を再セットする。イベントタイマ３０６がゼロになったら送信データ判定手段３０３に対して、対応する共有メモリ３０１の出力要求を行い、共有メモリ３０１は、共有メモリフレームまたは圧縮手段３１２を経由して送信フレームにて親局１００に送信する。
【００４９】
上記の構成では、イベントの猶予時間待機中に新たなイベントが発生した場合、先に発生したイベントの残り猶予時間と比べることによって、イベント頻発時もトラフィックの増加を低減する仕組みを単一のイベントタイマ３０６で実現できる。また猶予時間のカウント中に親局からの入力要求で共有メモリを送信する場合はイベントタイマ３０６をリセットすることによって、定期的に行われる親局１００との要求、応答の通信でオンデマンドの通信を代替させて、トラフィックの増加を低減する仕組みを、単一のタイマで実現できる。
また通信周期を管理するイベントタイマ３０６を子局３００が持たず、猶予時間待機中にも親局１００からの入力要求に対する動作が一定であることから、イベント発生時であっても通信周期の変化を動的に行うことができる。
【００５０】
以上のように、特定の入力機器４００ごとにイベントとして設定された入力データの特定のパターンと、そのイベントの検知後から親局１００にイベントの発生した入力データを出力するまでの猶予時間が登録されたイベントテーブルと、デバイス入出力手段３０２を経由して入力機器４００からの入力データからイベントテーブルを参照してイベントが発生したか否かを判定し、共有メモリ３０１に対応するイベントタイマ３０６へタイマのセットを行うイベント判定手段３０５と、親局１００からの入力要求またはイベントタイマ３０６からの出力要求に応じて親局１００への送信指示を共有メモリ３０１に送信する送信データ判定手段３０３を備えたことにより、定期通信にオンデマンド通信が混在したシステムでも少ないタイマのリソースでトラフィックを増加を低減して通信が可能な分散Ｉ／Ｏシステムを実現することができる。
【００５１】
実施の形態３．
実施の形態３では実施の形態１と実施の形態２の構成に加え、入力要求フレームの通信周期に対し、整数倍でない周期で子局からの入力を親局が取得する処理を追加した構成について説明する。
親局１００は図１−１及び実施の形態１及び２に記載の構成を備え、さらに付加した構成について図９−１を用いて説明する。子局３００について図１−２、図６及び実施の形態１及び２に記載した構成を備えるが、さらに付加した構成について図９−２を用いて説明する。
【００５２】
図９−１は実施の形態３における分散Ｉ／Ｏ制御システムの親局１００の構成図である。また、図９−２は実施の形態１における分散Ｉ／Ｏ制御システムの子局３００の構成図である。
図９−２において、子局３００の調整手段３１３は、各入力機器４００からの入力によってデバイス入出力手段３０２により常に更新されている共有メモリ３０１の入力データをフィルタリングして、各入力機器４００からの入力データに設定された入力周期ごとの入力データが送信されるように、共有メモリ３０１への更新タイミングを調整する。
図９−１において、親局１００の調整手段１１３は、通信周期に同期して更新される共有メモリの１０１値を、アプリケーション１０２から参照する際に、設定された入力周期で更新されているように更新タイミングを調整する。
【００５３】
図１０は実施の形態３における子局３００での共有メモリ３０１の更新タイミングと送信タイミングについての説明図である。
入力要求フレームの通信周期とその倍数の周期の入力値は、子局３００が入力要求を受信したタイミングで入力データが記憶されている共有メモリ３０１の情報を送信することで、親局１００に入力周期どおりの共有メモリ３０１の情報を提供することができる。
入力周期が入力要求フレームの通信周期の倍数でない場合、例えば、入力フレームの送信周期が５ｍｓで入力周期７ｍｓの入力を親局に伝達する場合について３つの方法について以下説明する。
【００５４】
第一の方法は、入力周期より短い周期で親局から入力要求を行う。子局３００の調整手段３１３はバッファリングすることで７ｍｓごとに共有メモリ３０１の入力値を更新する。親局１００の入力要求スケジュール手段１０５は、７ｍｓ周期の入力の格納された共有メモリ１０１を５ｍｓ周期で要求して取得する。親局１００の共有メモリ１０１は５ｍｓ周期で更新されるが、親局１００の調整手段１１３により一度バッファリングされ、アプリケーション１０２に対して７ｍｓ周期で更新しているように見せる。
他の５ｍｓ周期の情報を格納した共有メモリにこの７ｍｓの情報を格納できるだけの領域の余りがある場合に、５ｍｓ周期の情報のついでに送信できるため、トラフィックを低減できる。
【００５５】
第二の方法は、入力要求より長い周期で親局から入力要求を行い、１周期内で複数回更新されるときは複数回分のデータをまとめて送信する。子局３００の調整手段３１３はバッファリングすることで７ｍｓごとに共有メモリ３０１の入力値を更新する。共有メモリ１０１、３０１に７ｍｓ周期のデータを格納する領域を２データ分予約する。親局１００の入力要求スケジュール手段１０５は、７ｍｓ周期の入力の格納された共有メモリ１０１を１０ｍｓ周期で要求して取得する。同一の周期内で二度入力を取得した場合に、双方のデータを共有メモリに格納して送信する。親局１００の共有メモリ１０１は１０ｍｓ周期で更新されるが、親局１００の調整手段１１３により一度バッファリングされ、アプリケーション１０２に対して７ｍｓ周期で更新しているように見せる。同様に、７ｍｓ周期の情報を１５ｍｓや２０ｍｓ周期で要求される共有メモリに格納するときは、３データ分の領域を予約するなど、要求される周期内で更新されたデータを全て送信できるようにする。
【００５６】
したがって、親局１００では第一の方法と同様に調整手段１２３により一度バッファリングして７ｍｓ周期で更新するが、１０ｍｓ周期で伝達するため第一の方法に比べて入力取得からアプリケーション１０２への提供までの遅延は大きくなるが、トラフィックは低減できる。
【００５７】
第三の方法は、動的に周期を変更するか、共有メモリとグループを使い分けることにより、共有メモリの更新した次の入力要求フレームで親局に送信させる。子局３００の調整手段３１３はバッファリングすることで７ｍｓごとに共有メモリ３０１の入力値を更新する。親局１００の入力要求スケジュール手段１０５は、７ｍｓ周期の入力の格納された共有メモリ１０１を、前回要求取得後５ｍｓ以内に更新される場合は５ｍｓ周期で要求し、前回要求取得後５ｍｓ以内に更新されない場合は１０ｍｓ周期で要求して取得する。親局１００の共有メモリ１０１は入力要求スケジュール手段１０５の要求に応じて５ｍｓ周期または、１０ｍｓ周期で更新されるが、親局１００の調整手段１１３により一度バッファリングされ、アプリケーション１０２に対して７ｍｓ周期で更新しているように見せる。
したがって、１０ｍｓと５ｍｓ周期を使い分けて送信できるためトラフィックを低減でき、かつ５ｍｓ周期のみで送信するときと遅延時間は変わらない。
【００５８】
以上のように親局１００と子局３００に周期の調整手段１１３、３１３を有することで、通信周期の倍数でない周期での入力が要求される入力データも、正確な周期で取得した入力データを、異なる伝送周期で親局に伝送しても、アプリケーション１０２に伝達する時には正確な周期に再現できるよう調整手段１１３、３１３がバッファリングするので、入力周期どおりにアプリケーション１０２に提供する分散Ｉ／Ｏシステムを実現できる。
【産業上の利用可能性】
【００５９】
以上のように、本発明にかかる分散Ｉ／Ｏ制御システム及びその制御方法は、  親局と複数のＩ／Ｏデバイスと接続される子局（多重伝送装置）との通信システムであって接続されるネットワークが他の局による通信が発生する状況において有用であり、特に、通信周期に対応しつつ、通信帯域の抑制を図る分散Ｉ／Ｏ制御システムに適している。
【符号の説明】
【００６０】
１００  親局
１０１  共有メモリ
１０２  アプリケーション
１０３  周期テーブル
１０４  通信周期算出手段
１０５  入力要求スケジュール手段
１０６  入力要求送信手段
１０７  送信制御手段
１１０  通信手段
１１１  再現手段
１１２  圧縮手段
１１３  調整手段  
２００  ネットワーク
３００  子局
３０１  共有メモリ
３０２  デバイス入出力手段
３０３  送信データ判定手段
３０４  イベントテーブル
３０５  イベント判定手段
３０６  イベントタイマ
３１０  通信手段
３１１  再現手段
３１２  圧縮手段
３１３  調整手段  
４００  入力機器
５００  出力機器
【図１−１】
2014037970.tif 000003
【図１−２】
2014037970.tif 000004
【図２】
2014037970.tif 000005
【図３】
2014037970.tif 000006
【図４】
2014037970.tif 000007
【図５】
2014037970.tif 000008
【図６】
2014037970.tif 000009
【図７】
2014037970.tif 000010
【図８】
2014037970.tif 000011
【図９−１】
2014037970.tif 000012
【図９−２】
2014037970.tif 000013
【図１０】
2014037970.tif 000014
【手続補正書】
【提出日】平成26年12月17日(2014.12.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の入力機器または出力機器に対してデータの入出力を行う子局の共有メモリと、前記子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御システムにおいて、
前記親局は、前記各々の入力機器または出力機器に対する通信周期とグループ情報を規定する周期テーブルと、
前記周期テーブルに応じて、入力要求する前記子局の共有メモリとグループ情報が規定された入力要求フレームを出力する入力要求送信手段と、
前記ネットワークから入力された入力データが前記グループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに再現する再現手段を備え、
前記子局は、前記親局からの入力要求フレームの入力要求内容が前記子局の一または複数単位の共有メモリの情報全てか前記グループ情報に対応する情報かを判定して対応する出力データの送出指示を出力する送信データ判定手段と、
前記子局の共有メモリからの出力データが前記グループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに圧縮する圧縮手段と、
を備えることを特徴とする分散Ｉ／Ｏ制御システム。
【請求項２】
前記親局は、
前記周期テーブルを参照して前記出力機器のための出力データの格納された前記親局の共有メモリの送信タイミングを決定し共有メモリへ出力するよう送信指示を出す送信制御手段と、を備えるとともに、
前記子局は、
前記子局の共有メモリから前記出力機器への出力データの出力と前記入力機器から前記子局の共有メモリへの入力データの入力を行うデバイス入出力手段と、
各々の入力機器ごとにイベントとして設定された入力データの特定のパターンと、前記イベントの検知後から親局にイベントの発生した入力データを出力するまでの猶予時間とが登録されたイベントテーブルと、
前記デバイス入出力手段を経由して前記入力機器からの入力データからイベントテーブルを参照してイベントが発生したか否かを判定し、前記子局の共有メモリに対応するイベントタイマへタイマのセットを行うイベント判定手段、前記親局からの入力要求または前記イベントタイマのタイマが０になったことによる出力要求に応じて前記親局への送信指示を前記子局の共有メモリに送信する前記送信データ判定手段と、
を備えることを特徴とする請求項１に記載の分散Ｉ／Ｏ制御システム。
【請求項３】
前記周期テーブルに記載の通信周期が複数あり、かつ一部の前記通信周期が所定の周期の非整数倍となる場合において、前記所定の周期の非整数倍の周期にて前記子局の共有メモリに入力データを更新する前記子局の調整手段と、
前記入力データに対応しネットワークを経由して更新された前記親局の共有メモリから前記所定の周期の非整数倍の周期にて前記入力データを前記アプリケーションに出力する前記親局の調整手段と、
を特徴とする請求項１または２に記載の分散Ｉ／Ｏ制御システム。
【請求項４】
前記周期テーブルに記載の通信周期が複数ある場合において、
前記入力要求送信手段は、複数の通信周期の最小公倍数に当たる周期については前記子局の共有メモリの全てを指定した前記入力要求フレームを出力するとともに、それ以外の周期については、グループ情報に基づく前記入力要求フレームを出力すること
を特徴とする請求項１乃至３に記載の分散Ｉ／Ｏ制御システム。
【請求項５】
親局は、親局の共有メモリからの出力がグループ情報に基づくときに、出力不要なデータを削除する圧縮手段と、
子局は、親局からの出力データがグループ情報に基づくときに、子局の共有メモリに入力するためのデータに再現する再現手段と、
を備える請求項１乃至４に記載の分散Ｉ／Ｏ制御システム。
【請求項６】
複数の入力機器または出力機器に対してデータの入出力を行う子局の共有メモリと、前記子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御方法において、
親局側において、前記各々の入力機器または出力機器に対する通信周期とグループ情報を規定する周期テーブルに応じて、入力要求する前記子局の共有メモリとグループ情報が規定された入力要求フレームを出力する入力要求送信ステップと、
子局側において、前記親局からの入力要求フレームの入力要求内容が前記子局の一または複数単位の共有メモリの情報全てかグループ情報に対応する情報かを判定して対応する出力データの送出指示を出力する送信データ判定ステップと、
前記子局の共有メモリからの出力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに圧縮する圧縮ステップと、
親局側において、前記ネットワークから入力された入力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに再現する再現ステップ
を有することを特徴とする分散Ｉ／Ｏ制御方法。
【請求項７】
複数の入力機器または出力機器に対してデータの入出力を行う子局の共有メモリと、前記子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御システムの親局において、
前記各々の入力機器または出力機器に対する通信周期とグループ情報を規定する周期テーブルと、
前記周期テーブルに応じて、入力要求する前記子局の共有メモリとグループ情報が規定された入力要求フレームを出力する入力要求送信手段と、
前記ネットワークから入力された出力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに再現する再現手段と
を備えたことを特徴とする分散Ｉ／Ｏ制御システムの親局。
【請求項８】
複数の入力機器または出力機器に対してデータの入出力を行うの子局の共有メモリと、前記子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御システムの子局において、
前記親局からの入力要求フレームの入力要求内容が前記子局の一または複数単位の共有メモリの情報全てかグループ情報に対応する情報かを判定して対応する出力データの送出指示を出力する送信データ判定手段と、
前記子局の共有メモリからの出力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに圧縮する圧縮手段と、
を備えることを特徴とする分散Ｉ／Ｏ制御システムの子局。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は分散Ｉ／Ｏ制御システム及びその制御方法に関する。
【背景技術】
【０００２】
自動車に搭載される車載システムを例にすると、複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）がそれぞれ一つのネットワークで接続され、さらに複数のうちの一つのＥＣＵの通信を行うＩ／Ｏデバイス（Ｉ／Ｏ：ＩＮＰＵＴ／ＯＵＴＰＵＴ）が専用の信号線で接続され、その一つのＥＣＵがＩ／Ｏデバイスを制御する。
このような車載システムには、制御対象のＩ／Ｏデバイスの増加に伴って、一つのＥＣＵに接続する専用の信号線の量が増加する、という課題がある。
【０００３】
この課題を解決するために、特許文献１には、複数のＩ／Ｏデバイスそれぞれの専用の信号線を車両各部に配置されたいずれかの多重伝送装置に収容し、これらの多重伝送装置間を多重伝送路でＥＣＵと接続する方法が開示されている。
しかし、複数のＥＣＵが接続される状況においては、多重伝送路に、一つのＥＣＵと多重伝送装置との接続だけでなく、それ以外の複数のＥＣＵとの接続がなされ、それぞれのＥＣＵ間などでデータ交換にも利用される。また、ＥＣＵ間で交換されるデータは、走行中の車体制御などに利用されるため、所定のリアルタイム性が要求される。
【０００４】
また、特許文献２には、親局と複数の子局（多重伝送装置に相当）との通信システムにおいて複数の子局を通信周期に応じてグループに分け、親局から処理すべきグループを指定するフレームを送信することで特定のグループのみ通信を行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平２−１６４９号公報
【特許文献２】特開２０１０−２８７９５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
親局と複数のＩ／Ｏデバイスと接続される複数の子局との通信システムであって、接続される多重伝送路が他の親局や子局による通信が発生する状況において、Ｉ／Ｏデバイスの入力データの変化を早期に通知する必要がある一方で、上記のリアルタイム性を保証できるように、子局から親局へのデータ送信が抑制される必要がある。
すなわち、子局から親局へ通信帯域を一定以下に抑えて、他の装置が通信できるようにする必要がある。
【０００７】
しかし、入力データが変化する度に子局から親局に入力データが送信される方式では、入力データの変化が一定期間に集中して発生する状況にも対応できるよう、通信帯域を常時、多重伝送装置に割当てておく必要がある。
さらに、子局には様々な通信周期が要求されるＩ／Ｏ機器が接続されるため、通信周期に応じて子局を指定する方式ではＩ／Ｏ機器に求められる通信周期に対応できないといった問題もある。
このため、多重伝送路を利用する他の装置に十分な通信帯域を保証することができない。
【０００８】
本発明は、このような状況を鑑みたものであり、通信帯域の抑制を図りながら、求められる通信機器の通信周期に対応しつつ、特定のデータは遅滞なく送信される構成を実現することを主な目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、複数の入力機器または出力機器に対してデータの入出力を行う子局の共有メモリと、子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御システムにおいて、親局は、各々の入力機器または出力機器に対する通信周期とグループ情報を規定する周期テーブルと、 周期テーブルに応じて、入力要求する 子局の共有メモリとグループ情報が規定された入力要求フレームを出力する入力要求送信手段と、ネットワークから入力された出力データがグループ情報に基づくときに、親局の共有メモリに入力するためのデータに再現する再現手段を備え、子局は、親局からの入力要求フレームの入力要求内容が子局の一または複数単位の共有メモリの情報全てかグループ情報に対応する情報かを判定して対応する出力データの送出指示を出力する送信データ判定手段と、子局の共有メモリからの出力データがグループ情報に基づくときに、 親局の共有メモリに入力するためのデータに圧縮する圧縮手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明にかかる分散Ｉ／Ｏ制御システムは、子局に接続される入力機器または出力機器に要求される通信周期に対応しつつ、多重伝送路の通信帯域の抑制を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１−１】実施の形態１における分散Ｉ／Ｏ制御システムの親局１００の構成図。
【図１−２】実施の形態１における分散Ｉ／Ｏ制御システムの子局３００の構成図。
【図２】実施の形態１における共有メモリ１０１、３０１について説明する図。
【図３】実施の形態１における出力データのグループと圧縮手段１１２，３１２での圧縮方法についての説明図。
【図４】実施の形態１における入力要求フレームについての説明図。
【図５】実施の形態１における入力取得の手順例を説明する図。
【図６】実施の形態２における子局３００の構成図。
【図７】実施の形態２における子局３００のイベント発生時の動作図。
【図８】実施の形態２における子局３００のイベントが複数発生時の動作図。
【図９−１】実施の形態３における分散Ｉ／Ｏ制御システムの親局１００の構成図。
【図９−２】実施の形態３における分散Ｉ／Ｏ制御システムの子局３００の構成図。
【図１０】実施の形態３における子局３００での共有メモリ３０１の更新タイミングと送信タイミングについての説明図。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかる分散Ｉ／Ｏ制御システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態１．
実施の形態１では親局からＩ／Ｏデバイスに接続された複数の子局に入力要求を送信して、子局が入力要求に対応したＩ／Ｏデバイスからの入力データを親局に送信する仕組みにおいて、入力データが共有メモリまたはグループと呼ぶデータ群に属しており、共有メモリ番号かグループ番号を指定することで親局から入力要求を行うＩ／Ｏデバイスに接続された子局から親局へ出力するシステムについて説明する。
【００１４】
図１−１は実施の形態１における分散Ｉ／Ｏ制御システムの親局１００の構成図である。また、図１−２は実施の形態１における分散Ｉ／Ｏ制御システムの子局３００の構成図である。
図１−１において、親局１００は単一のノードであり、ネットワーク２００を介して子局３００から入力データを収集して、制御演算を行い、ネットワーク２００を介して子局３００に出力データを提供する。ネットワーク２００は、本実施の形態に記載される以外の親局または子局間の通信も行われている。図１−２において、子局３００は個別の複数のノードであり、複数の入力機器４００から取得した入力データを親局１００に送信する。また、子局３００は、親局１００から取得した出力データを基に、複数の出力機器５００に対して出力を行う。
【００１５】
図１−１及び図１−２において、親局１００と子局３００の共有メモリ１０１、３０１は入力機器４００から入力データまたは出力機器５００への出力データを格納して親局１００と子局３００の間で交換するものである。どの入力機器４００または出力機器５００の情報をどの共有メモリのどのｂｉｔに割り付けるかの情報は親局１００と子局３００の間であらかじめ共有される。
なお、本実施の形態においては入力機器４００と出力機器５００を別に記載しているが、統合された入出力機器からについて、入出力機器から入力データまたは入出力機器への出力データを親局１００と子局３００の間で共有メモリ１０１、３０１を用いて交換してもよい。
【００１６】
図１−１及び図１−２において、親局１００と子局３００は、共有メモリ１０１、３０１の情報を交換する際、それぞれネットワーク２００に接続される通信手段１１０、３１０を介してデータのやり取りを行なう。
その際、一つの子局３００の一つの共有メモリ３０１のデータすべてを、対応する親局１００の一つの共有メモリ１０１に送信する場合は、共有メモリフレームを用いて通信手段３１０、１１０とネットワーク２００を経由してデータの授受が行われる。
また、逆に、親局１００の一つまたは複数の共有メモリ１０１のデータすべてについて一つの子局の一つまたは複数の共有メモリ３０１に対して送信する場合も、共有メモリフレームを用いて通信手段３１０、１１０とネットワーク２００を経由してデータの授受が行われる。
【００１７】
一方で、各々の共有メモリ１０１，３０１の領域の一部のデータの授受を行いたい場合には、通信手段１１０、３１０と共有メモリ１０１，３０１との通信の際に、再現手段１１１、３１１または圧縮手段１１２、３１２を経由する。
親局１００と子局３００の通信手段１１０、３１０に接続され、データの入力の際に通過する再現手段１１１、３１１は、ネットワーク２００を経由してデータを通信する際に、そのデータが不要なデータを省いて圧縮されており、その圧縮されたデータから、出力側の共有メモリ１０１、３０１のｂｉｔ割付け情報を再現し、入力側の共有メモリ１０１、３０１に出力する。
親局１００と子局３００の通信手段１１０、３１０に接続され、データの出力の際に出力用の共有メモリ１０１、３０１から経由する圧縮手段１１２、３１２は、送信する際に必要のないデータを省いて出力側共有メモリのｂｉｔ割付け情報を圧縮し通信手段１１０、３１０に送信する。この圧縮、再現の方法については後述する。
【００１８】
次に図１−１に特化して説明する。
図１−１の親局１００のアプリケーション１０２は、子局３００からネットワーク２００及び通信手段１１０を介して出力された共有メモリフレームと、さらに再現手段１１１を介して出力されたｂｉｔ割付け情報とをもとに入力用の共有メモリ１０１に入力された入力データを読み取り、制御演算を行い、出力用の共有メモリ１０１に出力データを書き込む。また必要に応じて周期テーブル１０３に子局３００への各入力と出力を行う周期の情報も提供する。
親局１００の周期テーブル１０３は、子局３００との入出力情報のやり取りされる通信周期の各入力機器４００及び各出力機器５００ごとの一覧が記述されたものである。また、この通信周期テーブル１０３には、各入力機器４００及び各出力機器５００のグループ情報（例えば通信周期など）が記述されている。さらにこの通信周期テーブル１０３には、各入力機器４００及び各出力機器５００に割りつけられる共有メモリ情報も記述されている。尚、上記グループ情報は通信周期に限定する必要はなく、そのグループの定義の詳細については後述する。
【００１９】
親局１００の通信周期算出手段１０４は、周期テーブル１０３を参照して入力要求フレームの送信周期を決定し、入力要求送信手段１０６へ入力要求フレームの送信周期情報を送信する。決定方法は最も短い周期を利用するなど任意の方法でよい。
親局１００の入力要求スケジュール手段１０５は、周期テーブル１０３を参照して、入力要求フレームでどの共有メモリ情報やグループを要求するかを決定し、入力要求送信手段１０６へ共有メモリ情報と周期グループ情報を送信する。決定方法はネットワーク２００へのトラフィックの占有率を一定にする、アプリケーション１０２の動作タイミングに合わせて最新の値を利用できるようにするなど、任意の方法でよい。
【００２０】
親局１００の入力要求送信手段１０６は通信周期算出手段１０４に設定された通信周期情報と、入力要求スケジュール手段１０５から指定された次に要求すべき共有メモリ情報またはグループ情報から入力要求フレームを生成し通信手段１１０へ送信する。
親局１００の送信制御手段１０７は、周期テーブル１０３を参照して、出力機器５００のための制御出力情報の格納された共有メモリ１０１の送信タイミングを決定し共有メモリ１０１へ通信手段１１０へ出力するよう送信指示を出す。
【００２１】
通信手段１１０は、入力要求送信手段１０６から送信された入力要求フレームと、出力用の共有メモリ１０１から出力された共有メモリフレームと、出力用の共有メモリ１０１からさらに圧縮手段１１２を経由して出力された圧縮されたｂｉｔ割付け情報をネットワーク２００を介して、出力先の子局３００に出力する。
また、通信手段１１０は、ネットワーク２００を介して入力された共有フレームメモリ
を入力側の共有メモリ１０１に出力するとともに、圧縮手段３１２を経由した出力フレームを再現手段に出力する。
【００２２】
次に図１−２に特化して説明する。
子局３００のデバイス入出力手段３０２は、入力側の共有メモリ３０１から出力された出力データを入力し、該当する出力機器５００に対して出力データに対応した制御を行う。また、デバイス入出力手段３０２は、入力機器４００から定期的にデータを入力してその入力データを出力側の共有メモリ３０１に出力する。
子局３００の送信データ判定手段３０３は、通信手段３１０から入力された入力要求フレームの内容を判定して、子局３００の出力用の共有メモリ３０１から入力要求フレームで指定された共有メモリ情報や、入力要求フレームで指定された特定の通信周期に該当するグループの入力機器４００の入力データに該当するメモリアドレスまたはビットに対し、送信指示を行う。
【００２３】
図２は実施の形態１における共有メモリ１０１、３０１について説明する図である。
親局１００と子局３００の間では、どの入力機器４００または出力機器５００の情報をどの共有メモリのどのｂｉｔに割り付けるかの情報を共有している。一つの共有メモリ１０１、３０１は単一の送信フレームのペイロードとして、ｂｉｔの並びそのままに送受信される。
共有メモリ１０１、３０１は入力用、出力用共に複数存在し、親局１００は接続される全ての子局３００に対応する入力用、出力用の共有メモリ１０１を備える。子局３００は、その子局３００に対応した親局の入力用、出力用の共有メモリ１０１部分の入力用及び出力用の共有メモリ３０１を持ち、子局３００間では重複した入力用及び出力用共有メモリ３０１は持たない。
【００２４】
次にグループの定義について説明する。
グループは各入力機器４００からの入力データに関して設定可能なもので、どのグループにどの入力データが属するかは、親局１００と子局３００の間で共有されている。同じ入力周期のものを同じグループにする他、入力機器４００の接続するノードや割り付けられる共有メモリによらず任意に設定することができる。また、一つの入力データが複数の異なるグループに属してもよい。なお、このグループは複数定義することができる。
【００２５】
図３は実施の形態１における出力データのグループと圧縮手段１１２、３１２での圧縮方法についての説明図である。
入力要求フレームに図３に示すようなグループＢが指定された場合、子局３００の共有メモリ３０１内にある情報からグループＢ以外の入力機器４００に関する情報は、圧縮手段３１２によって省略され送信フレームとして通信手段３１０に出力し、通信手段３１０は、親局１００宛てにネットワーク２００に出力する。送信フレームを受信した親局１００は、通信手段１１０を経由して再現手段１１１により、送信フレームに対して、どの共有メモリのどのグループの情報かを判定し、省略された情報を補完（入れ替えない情報とする）ことで、元の共有メモリのｂｉｔ割付けを再現する。
これは、周期テーブル１０３にて管理されているグループ情報と対応する共有メモリ１０１、３０１の対応アドレスが親局１００と子局３００間で共有されていることで圧縮再現が可能となる。
また、親局１００から子局３００宛てにグループＢが指定された情報を送る際にも、親局１００の共有メモリ１０１からグループＢ以外の出力機器５００に関する情報は、圧縮手段１１２によって省略され送信フレームとして通信手段１１０に出力し、子局３００宛てにネットワーク２００に出力する。送信フレームを受信した子局３００は、通信手段３１０を経由して再現手段３１１により、送信フレームに対して、どの共有メモリのどのグループの情報かを判定し、省略された情報を補完（入れ替えない情報とする）ことで、元の共有メモリのｂｉｔ割付けを再現する。
【００２６】
図４は実施の形態１における入力要求フレームについての説明図である。入力要求フレームはヘッダ、データ領域、フッタから構成され、入力要求フレームのペイロードに該当するデータ領域の各ｂｉｔが各子局３００の各々の共有メモリ１０１、３０１またはグループの入力要求の有無に対応する。それぞれ対応するｂｉｔが１であれば入力要求することを表し、０であれば入力要求しないことを表す。
【００２７】
図５は実施の形態１における入力取得の手順例を説明する図である。図５を基に通信手順を説明する。
ステップＳ００１において、親局１００の入力要求送信手段１０６は、入力要求すべき共有メモリやグループの番号に対応するｂｉｔを１とした入力要求フレームを、設定された周期で生成し、通信手段１１０に出力した上で、通信手段１１０は、各子局３００に対してネットワーク２００経由にてブロードキャストする。例としてこの入力要求フレームは、図２や図４に示すように共有メモリ３０１のうち＃２１と＃２４の取得を要求するが、グループの取得は要求しないと仮定する。
【００２８】
子局３００において、デバイス入出力手段３０２は、入力機器４００の入力情報を定期的に取得し、入力データとして、出力用の共有メモリ３０１に出力し、出力用の共有メモリ３０１は、その入力データに応じて情報を更新している。
ステップＳ００２において、子局３００は入力要求フレームを受信したら、送信データ判定手段３０３により、どの共有メモリ３０１、またはグループが要求されているかを判定し、対応する共有メモリ３０１またはグループの送信指示を出す。今回は、共有メモリ３０１の情報のみを送信するため共有メモリ３０１は、共有メモリフレームのペイロードに共有メモリの情報を一括で格納し送信する。
【００２９】
ステップＳ００３において、親局１００は共有メモリフレームを受信したら対応する共有メモリ１０１の内容を一括更新する。
【００３０】
次にグループを入力要求する例について説明する。
ステップＳ００４において、親局１００の入力要求送信手段１０６は、入力要求すべきグループの番号に対応するｂｉｔを１とした入力要求フレームを、設定された周期で生成し、通信手段１１０に出力した上で、通信手段１１０は、各子局３００に対してネットワーク２００経由にてブロードキャストする。例としてこの入力要求フレームは、図４に示すように共有メモリ３０１のうちグループＡに属するデータの取得を要求すると仮定する。
【００３１】
ステップＳ００５において、各子局３００は入力要求フレームを受信したら、送信データ判定手段３０３により、どの共有メモリ３０１、またはグループが要求されているかを判定し、対応する共有メモリ３０１またはグループの送信指示を出す。今回は、グループＡの情報のみを送信するため、各子局３００のグループＡが属するデータが存在する共有メモリ３０１は、圧縮手段３１２にメモリのデータを送信する。各子局３００の圧縮手段３１２は、グループＡ以外のデータを削除のうえ、出力フレームとして通信手段３１０に出力し、通信手段３１０は親局１００に送信する。
このとき、グループとして送信することを示すために、送信フレームのヘッダやペイロード内にグループ送信であることを示す情報を付加してよい。
【００３２】
ステップＳ００６において、親局１００がグループＡのみの情報である送信フレームを受信したら再現手段１１１により元の共有メモリ３０１のｂｉｔ割付けを再現して１０１共有メモリを上書きする。そのため、省略されたｂｉｔを再現する際、その値は更新前の値を用いて値が変わらないようにする。
【００３３】
尚、親局１００から子局３００に送信する場合も、グループごとの送信を設定することができる。送信時は共有メモリ１０１のデータすべてを送信するか、グループとして送信するかを送信制御手段１０７が決定して共有メモリ１０１に対して送信指示を行う。送信制御手段１０７の送信タイミング決定方法は、周期テーブル１０３を参照して任意に行ってよい。
また、親局１００からグループごとのデータ送信する際にも、グループ送信であることを示すために、送信フレームのヘッダやペイロード内にグループ送信であることを示す情報を付加してよいし、またはあるグループに属する情報を全て送信した後に、別フレームでグループ名を指定してもよい。グループごとのデータ送信する場合、ブロードキャストとすることもできる。
【００３４】
親局１００から子局３００に送信するときも、親局１００の圧縮手段１１２と子局３００の再現手段３１１を用いて、子局３００から親局１００への場合と同様、送信しないグループの情報を省略してフレーム短くして送信することができる。
【００３５】
上記の構成では、まず、更新タイミングの訪れた共有メモリやグループのみを選択的に送信できるため、少ないトラフィックで異なる周期の混在する分散Ｉ／Ｏシステムの制御を行うことができる。
また、各入力機器４００及び各出力機器５００のグループ情報（例えば通信周期など）を設定したため、普段は短い周期で取得している情報を、通信周期の長いグループ情報として設定しておけば、長い周期で取得したり、通信周期の短いグループ情報を設定しておけば、逆に普段は長い周期で取得している情報を短い周期で集中的に取得するなど、動的に周期を変更してトラフィックをコントロールできる。
【００３６】
また入力要求はブロードキャストされ、各子局３００は入力要求受信時のデータを送信するため、異なるノードに接続された入力機器でも同じタイミングの入力値を親局に集めることができる。
また、例えばあるノードに５ｍｓと１０ｍｓ周期で取得する入力情報があり、かつ全ての入力情報が単一の共有メモリ３０１にｂｉｔ割付けできる場合、５ｍｓ周期の入力情報を同一のグループＢに設定し、入力要求を５ｍｓ周期で送信し、共有メモリ３０１を１０ｍｓ周期、グループＢをその次の入力要求で１０ｍｓ周期で要求することで、グループＢの送信時には圧縮手段により１０ｍｓ周期の情報を省略した短いフレームで送信できる。この場合、５ｍｓ周期の情報と１０ｍｓ周期の情報を別々の共有メモリ３０１にｂｉｔ割付けして、それぞれ入力要求を行う場合や、全てを共有メモリ３０１にｂｉｔ割付けしてグループを用いずに５ｍｓ周期で送信するよりもトラフィックを低減することができる。また、周期の異なる入力情報を同一の共有メモリに格納することで共有メモリの数を減らし、メモリリソースを低減できる。
【００３７】
以上のように、入力機器４００または出力機器５００に対してデータの入出力を行う子局３００の共有メモリ３０１と、親局１００の子局３００の共有メモリ３０１に対応した共有メモリ１０１と、をネットワーク２００を介して通信し、更新を行う分散Ｉ／Ｏ制御システムにおいて、
親局１００は、各々の入力機器４００または出力機器５００に対する通信周期と、各々の入力機器４００または出力機器５００に対するグループ情報を規定する周期テーブル１０３と、周期テーブル１０３に応じて、入力要求する共有メモリ３０１とグループ情報が規定された入力要求フレームを、周期テーブル１０３に基づいて出力する入力要求送信手段１０６と、周期テーブル１０３を参照して出力機器５００のための出力データの格納された共有メモリ１０１の送信タイミングを決定し共有メモリ１０１へ出力するよう送信指示を出す送信制御手段１０７と、共有メモリ１０１からの出力がグループ情報に基づくときに、出力不要なデータを削除する圧縮手段１１２と、ネットワーク２００から入力されたデータがグループ情報に基づくときに、共有メモリ１０１に入力するためのデータに再現する再現手段１１１を備え、子局３００は、親局１００からの出力データがグループ情報に基づくときに、共有メモリ３０１に入力するためのデータに再現する再現手段３１１と、入力機器４００または出力機器５００に対して共有メモリ３０１との間のデータの入出力を行うでデバイス入出力手段３０２と、親局１００からの入力要求フレームから共有メモリ３０１に対して共有メモリ３０１の情報かグループ情報に対応する情報かを判定して対応するデータの送出指示を出力する送信データ判定手段３０３と、メモリ３０１からの出力がグループ情報に基づくときに、共有メモリ３０１に入力するためのデータに圧縮する圧縮手段３１２と、を備えるので、子局が送るデータを減らし、パケットサイズを圧縮させるため、トラフィックの増加を低減しつつ必要な情報をリアルタイムに取得する分散Ｉ／Ｏシステムを実現することができる。
【００３８】
なお、複数のグループを送信するときは、同一の共有メモリに属する異なるグループについて、グループごとにフレームを分けずに、一つのフレームで送信してよい。また、同一の子局が有する複数の共有メモリ間で同一のグループに属する情報がある場合、ペイロードの容量を超えない限りは、それら同一のグループの情報を一つのフレームにまとめてよい。複数のグループをまとめるときのデータの順序はグループ番号の順や共有メモリ番号の順で決定し、親局と子局の間で共有されている。
【００３９】
また、複数のグループに属する情報は、同時に複数のグループが入力要求され伝達された際、同一のフレームで同一のデータが複数送信される場合がある。このとき再現手段は複数のグループから抽出された同一の値が等しいかどうかをエラー判定に用いてよい。
【００４０】
実施の形態２．
実施の形態２では実施の形態１の構成をすべて備え、さらに子局側でオンデマンドな通信を必要とするイベント発生時の処理を追加した構成について説明する。
【００４１】
親局１００は図１−１及び実施の形態１に記載したものと同じであり、子局３００について図１−２及び実施の形態１に記載した構成を備えるが、さらに付加した構成について図６を用いて説明する。図６は実施の形態２における子局３００の構成図である。
【００４２】
実施の形態１に付加した構成のみについて説明する。
子局３００のイベントテーブル３０４は、入力機器４００からデバイス入出力手段３０２を経由して入力された入力データをイベントとして検知するための特定の入力機器４００ごとに設定された入力データの特定のパターンと、そのイベントの検知後から親局１００にイベントの発生した入力データを伝達するまでの猶予時間が登録されている。
子局３００のイベント判定手段３０５は、各入力機器４００に対する入力データを取得したらイベントテーブル３０４を参照してイベントが発生しているか判定を行う。イベントの発生を確認したら、入力機器４００のイベントに対応する入力データの格納される共有メモリ３０１に対応したイベントタイマ３０６に対して、猶予時間をセットする。
子局３００のイベントタイマ３０６は猶予時間をセットされたらカウント（デクリメント）を開始し、ゼロになったら送信データ判定手段３０３に対して、対応する共有メモリ３０１の出力要求を行う。
【００４３】
図７は実施の形態２における子局３００のイベント発生時の動作図を示す。
上側は、入力機器４００からの入力データによってイベントが発生し、猶予時間経過時までに親局１００からの入力要求フレームがなかった場合を示し、下側は、入力機器４００からの入力データによってイベントが発生し、猶予時間経過時までに親局１００からの入力要求フレームがあった場合を示す。
【００４４】
上側の場合、入力機器４００からの入力データによって、イベント判定手段３０５は、イベントテーブル３０４を参照してイベントが発生していると判定すると、入力機器４００のイベントに対応する入力データの格納される共有メモリ３０１に対応したイベントタイマ３０６に対して、猶予時間をセットする。イベントタイマ３０６は猶予時間をセットされたらカウント（デクリメント）を開始し、ゼロになったら送信データ判定手段３０３に対して、対応する共有メモリ３０１の出力要求を行い、共有メモリ３０１は、共有メモリフレームまたは圧縮手段３１２を経由して送信フレームにて親局１００に送信する。
【００４５】
下側の場合、入力機器４００からの入力データによって、イベント判定手段３０５は、イベントテーブル３０４を参照してイベントが発生していると判定すると、入力機器４００のイベントに対応する入力データの格納される共有メモリ３０１に対応したイベントタイマ３０６に対して、猶予時間をセットする。イベントタイマ３０６は猶予時間をセットされたらカウント（デクリメント）を開始する。イベントタイマ３０６がゼロになる前に、送信データ判定手段３０３は親局１００からの入力要求フレームを受信する。その際、送信データ判定手段３０３は、指定された共有メモリ３０１またはイベント情報を含むグループの送信指示を行う際、指定された共有メモリのイベントタイマ３０６のリセットを行う。そのためイベントが発生して猶予時間を待機している間に入力要求でその共有メモリ３０１またはイベント情報を含むグループが指定された場合、猶予時間の経過を待たずに共有メモリ３０１またはイベント情報を含むグループは共有メモリフレームまたは圧縮手段３１２を経由して送信フレームにて親局１００に送信するとともにイベントタイマ３０６はリセットされる。
【００４６】
次に単数または複数の入力機器４００からの入力データによって、複数のイベントが発生した場合の動作について説明する。
図８は実施の形態２における子局３００のイベントが複数発生時の動作図を示す。
上側は、入力機器４００からの入力データによってイベント１が発生し、猶予時間経過時までにイベント２が発生するもの、イベント２猶予時間はイベント１の猶予時間経過後になる場合を示し、下側は、入力機器４００からの入力データによってイベント１が発生し、猶予時間経過時までにイベント２が発生し、イベント２猶予時間はイベント１の猶予時間経過前になる場合を示す。
【００４７】
上側の場合、入力機器４００からの入力データによって、イベント判定手段３０５は、イベントテーブル３０４を参照してイベントが発生していると判定すると、入力機器４００のイベントに対応する入力データの格納される共有メモリ３０１に対応したイベントタイマ３０６に対して、猶予時間をセットする。イベントタイマ３０６は猶予時間をセットされたらカウント（デクリメント）を開始する。また猶予時間の待機中に別のイベントが発生した場合、イベント判定手段３０５は先にセットしたイベントの残り猶予時間と、新しいイベントの猶予時間を比較する。先にセットしたイベントの方が短ければそのままとし、イベントタイマ３０６がゼロになったら送信データ判定手段３０３に対して、対応する共有メモリ３０１の出力要求を行い、共有メモリ３０１は、共有メモリフレームまたは圧縮手段３１２を経由して送信フレームにて親局１００に送信する。
【００４８】
下側の場合、入力機器４００からの入力データによって、イベント判定手段３０５は、イベントテーブル３０４を参照してイベントが発生していると判定すると、入力機器４００のイベントに対応する入力データの格納される共有メモリ３０１に対応したイベントタイマ３０６に対して、猶予時間をセットする。イベントタイマ３０６は猶予時間をセットされたらカウント（デクリメント）を開始する。また猶予時間の待機中に別のイベントが発生した場合、イベント判定手段３０５は先にセットしたイベントの残り猶予時間と、新しいイベントの猶予時間を比較する。後のイベントの方が短ければ、イベント判定手段３０５は後のイベントの猶予時間にイベントタイマ３０６を再セットする。イベントタイマ３０６がゼロになったら送信データ判定手段３０３に対して、対応する共有メモリ３０１の出力要求を行い、共有メモリ３０１は、共有メモリフレームまたは圧縮手段３１２を経由して送信フレームにて親局１００に送信する。
【００４９】
上記の構成では、イベントの猶予時間待機中に新たなイベントが発生した場合、先に発生したイベントの残り猶予時間と比べることによって、イベント頻発時もトラフィックの増加を低減する仕組みを単一のイベントタイマ３０６で実現できる。また猶予時間のカウント中に親局からの入力要求で共有メモリを送信する場合はイベントタイマ３０６をリセットすることによって、定期的に行われる親局１００との要求、応答の通信でオンデマンドの通信を代替させて、トラフィックの増加を低減する仕組みを、単一のタイマで実現できる。
また通信周期を管理するイベントタイマ３０６を子局３００が持たず、猶予時間待機中にも親局１００からの入力要求に対する動作が一定であることから、イベント発生時であっても通信周期の変化を動的に行うことができる。
【００５０】
以上のように、特定の入力機器４００ごとにイベントとして設定された入力データの特定のパターンと、そのイベントの検知後から親局１００にイベントの発生した入力データを出力するまでの猶予時間が登録されたイベントテーブルと、デバイス入出力手段３０２を経由して入力機器４００からの入力データからイベントテーブルを参照してイベントが発生したか否かを判定し、共有メモリ３０１に対応するイベントタイマ３０６へタイマのセットを行うイベント判定手段３０５と、親局１００からの入力要求またはイベントタイマ３０６からの出力要求に応じて親局１００への送信指示を共有メモリ３０１に送信する送信データ判定手段３０３を備えたことにより、定期通信にオンデマンド通信が混在したシステムでも少ないタイマのリソースでトラフィックを増加を低減して通信が可能な分散Ｉ／Ｏシステムを実現することができる。
【００５１】
実施の形態３．
実施の形態３では実施の形態１と実施の形態２の構成に加え、入力要求フレームの通信周期に対し、整数倍でない周期で子局からの入力を親局が取得する処理を追加した構成について説明する。
親局１００は図１−１及び実施の形態１及び２に記載の構成を備え、さらに付加した構成について図９−１を用いて説明する。子局３００について図１−２、図６及び実施の形態１及び２に記載した構成を備えるが、さらに付加した構成について図９−２を用いて説明する。
【００５２】
図９−１は実施の形態３における分散Ｉ／Ｏ制御システムの親局１００の構成図である。また、図９−２は実施の形態３における分散Ｉ／Ｏ制御システムの子局３００の構成図である。
図９−２において、子局３００の調整手段３１３は、各入力機器４００からの入力によってデバイス入出力手段３０２により常に更新されている共有メモリ３０１の入力データをフィルタリングして、各入力機器４００からの入力データに設定された入力周期ごとの入力データが送信されるように、共有メモリ３０１への更新タイミングを調整する。
図９−１において、親局１００の調整手段１１３は、通信周期に同期して更新される共有メモリの１０１値を、アプリケーション１０２から参照する際に、設定された入力周期で更新されているように更新タイミングを調整する。
【００５３】
図１０は実施の形態３における子局３００での共有メモリ３０１の更新タイミングと送信タイミングについての説明図である。
入力要求フレームの通信周期とその倍数の周期の入力値は、子局３００が入力要求を受信したタイミングで入力データが記憶されている共有メモリ３０１の情報を送信することで、親局１００に入力周期どおりの共有メモリ３０１の情報を提供することができる。
入力周期が入力要求フレームの通信周期の倍数でない場合、例えば、入力フレームの送信周期が５ｍｓで入力周期７ｍｓの入力を親局に伝達する場合について３つの方法について以下説明する。
【００５４】
第一の方法は、入力周期より短い周期で親局から入力要求を行う。子局３００の調整手段３１３はバッファリングすることで７ｍｓごとに共有メモリ３０１の入力値を更新する。親局１００の入力要求スケジュール手段１０５は、７ｍｓ周期の入力の格納された共有メモリ１０１を５ｍｓ周期で要求して取得する。親局１００の共有メモリ１０１は５ｍｓ周期で更新されるが、親局１００の調整手段１１３により一度バッファリングされ、アプリケーション１０２に対して７ｍｓ周期で更新しているように見せる。
他の５ｍｓ周期の情報を格納した共有メモリにこの７ｍｓの情報を格納できるだけの領域の余りがある場合に、５ｍｓ周期の情報のついでに送信できるため、トラフィックを低減できる。
【００５５】
第二の方法は、入力要求より長い周期で親局から入力要求を行い、１周期内で複数回更新されるときは複数回分のデータをまとめて送信する。子局３００の調整手段３１３はバッファリングすることで７ｍｓごとに共有メモリ３０１の入力値を更新する。共有メモリ１０１、３０１に７ｍｓ周期のデータを格納する領域を２データ分予約する。親局１００の入力要求スケジュール手段１０５は、７ｍｓ周期の入力の格納された共有メモリ１０１を１０ｍｓ周期で要求して取得する。同一の周期内で二度入力を取得した場合に、双方のデータを共有メモリに格納して送信する。親局１００の共有メモリ１０１は１０ｍｓ周期で更新されるが、親局１００の調整手段１１３により一度バッファリングされ、アプリケーション１０２に対して７ｍｓ周期で更新しているように見せる。同様に、７ｍｓ周期の情報を１５ｍｓや２０ｍｓ周期で要求される共有メモリに格納するときは、３データ分の領域を予約するなど、要求される周期内で更新されたデータを全て送信できるようにする。
【００５６】
したがって、親局１００では第一の方法と同様に調整手段１２３により一度バッファリングして７ｍｓ周期で更新するが、１０ｍｓ周期で伝達するため第一の方法に比べて入力取得からアプリケーション１０２への提供までの遅延は大きくなるが、トラフィックは低減できる。
【００５７】
第三の方法は、動的に周期を変更するか、共有メモリとグループを使い分けることにより、共有メモリの更新した次の入力要求フレームで親局に送信させる。子局３００の調整手段３１３はバッファリングすることで７ｍｓごとに共有メモリ３０１の入力値を更新する。親局１００の入力要求スケジュール手段１０５は、７ｍｓ周期の入力の格納された共有メモリ１０１を、前回要求取得後５ｍｓ以内に更新される場合は５ｍｓ周期で要求し、前回要求取得後５ｍｓ以内に更新されない場合は１０ｍｓ周期で要求して取得する。親局１００の共有メモリ１０１は入力要求スケジュール手段１０５の要求に応じて５ｍｓ周期または、１０ｍｓ周期で更新されるが、親局１００の調整手段１１３により一度バッファリングされ、アプリケーション１０２に対して７ｍｓ周期で更新しているように見せる。
したがって、１０ｍｓと５ｍｓ周期を使い分けて送信できるためトラフィックを低減でき、かつ５ｍｓ周期のみで送信するときと遅延時間は変わらない。
【００５８】
以上のように親局１００と子局３００に周期の調整手段１１３、３１３を有することで、通信周期の倍数でない周期での入力が要求される入力データも、正確な周期で取得した入力データを、異なる伝送周期で親局に伝送しても、アプリケーション１０２に伝達する時には正確な周期に再現できるよう調整手段１１３、３１３がバッファリングするので、入力周期どおりにアプリケーション１０２に提供する分散Ｉ／Ｏシステムを実現できる。
【産業上の利用可能性】
【００５９】
以上のように、本発明にかかる分散Ｉ／Ｏ制御システム及びその制御方法は、  親局と複数のＩ／Ｏデバイスと接続される子局（多重伝送装置）との通信システムであって接続されるネットワークが他の局による通信が発生する状況において有用であり、特に、通信周期に対応しつつ、通信帯域の抑制を図る分散Ｉ／Ｏ制御システムに適している。
【符号の説明】
【００６０】
１００  親局
１０１  共有メモリ
１０２  アプリケーション
１０３  周期テーブル
１０４  通信周期算出手段
１０５  入力要求スケジュール手段
１０６  入力要求送信手段
１０７  送信制御手段
１１０  通信手段
１１１  再現手段
１１２  圧縮手段
１１３  調整手段  
２００  ネットワーク
３００  子局
３０１  共有メモリ
３０２  デバイス入出力手段
３０３  送信データ判定手段
３０４  イベントテーブル
３０５  イベント判定手段
３０６  イベントタイマ
３１０  通信手段
３１１  再現手段
３１２  圧縮手段
３１３  調整手段  
４００  入力機器
５００  出力機器
【手続補正書】
【提出日】平成27年10月29日(2015.10.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の入力機器または出力機器に対してデータの入出力を行う子局の共有メモリと、前記子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御システムにおいて、
前記親局は、前記各々の入力機器または出力機器に対する通信周期とグループ情報を規定する周期テーブルと、
前記周期テーブルに応じて、入力要求する前記子局の共有メモリとグループ情報が規定された入力要求フレームを出力する入力要求送信手段と、
前記ネットワークから入力された入力データが前記グループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに再現する再現手段を備え、
前記子局は、前記親局からの入力要求フレームの入力要求内容が前記子局の一または複数単位の共有メモリの情報全てか前記グループ情報に対応する情報かを判定して対応する出力データの送出指示を出力する送信データ判定手段と、
前記子局の共有メモリからの出力データが前記グループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに圧縮する圧縮手段と、
を備えることを特徴とする分散Ｉ／Ｏ制御システム。
【請求項２】
前記親局は、
前記周期テーブルを参照して前記出力機器のための出力データの格納された前記親局の共有メモリの送信タイミングを決定し共有メモリへ出力するよう送信指示を出す送信制御手段と、を備えるとともに、
前記子局は、
前記子局の共有メモリから前記出力機器への出力データの出力と前記入力機器から前記子局の共有メモリへの入力データの入力を行うデバイス入出力手段と、
各々の入力機器ごとにイベントとして設定された入力データの特定のパターンと、前記イベントの検知後から親局にイベントの発生した入力データを出力するまでの猶予時間とが登録されたイベントテーブルと、
前記デバイス入出力手段を経由して前記入力機器からの入力データからイベントテーブルを参照してイベントが発生したか否かを判定し、前記子局の共有メモリに対応するイベントタイマへタイマのセットを行うイベント判定手段、前記親局からの入力要求または前記イベントタイマのタイマが０になったことによる出力要求に応じて前記親局への送信指示を前記子局の共有メモリに送信する前記送信データ判定手段と、
を備えることを特徴とする請求項１に記載の分散Ｉ／Ｏ制御システム。
【請求項３】
前記周期テーブルに記載の通信周期が複数あり、かつ一部の前記通信周期が所定の周期の非整数倍となる場合において、前記所定の周期の非整数倍の周期にて前記子局の共有メモリに入力データを更新する前記子局の調整手段と、
前記入力データに対応しネットワークを経由して更新された前記親局の共有メモリから前記所定の周期の非整数倍の周期にて前記入力データを前記親局のアプリケーションに出力する前記親局の調整手段と、
を備えることを特徴とする請求項１または２に記載の分散Ｉ／Ｏ制御システム。
【請求項４】
前記周期テーブルに記載の通信周期が複数ある場合において、
前記入力要求送信手段は、複数の通信周期の最小公倍数に当たる周期については前記子局の共有メモリの全てを指定した前記入力要求フレームを出力するとともに、それ以外の周期については、グループ情報に基づく前記入力要求フレームを出力すること
を特徴とする請求項１乃至３に記載の分散Ｉ／Ｏ制御システム。
【請求項５】
親局は、親局の共有メモリからの出力がグループ情報に基づくときに、出力不要なデータを削除する圧縮手段と、
子局は、親局からの出力データがグループ情報に基づくときに、子局の共有メモリに入力するためのデータに再現する再現手段と、
を備える請求項１乃至４に記載の分散Ｉ／Ｏ制御システム。
【請求項６】
複数の入力機器または出力機器に対してデータの入出力を行う子局の共有メモリと、前記子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御方法において、
親局側において、前記各々の入力機器または出力機器に対する通信周期とグループ情報を規定する周期テーブルに応じて、入力要求する前記子局の共有メモリとグループ情報が規定された入力要求フレームを出力する入力要求送信ステップと、
子局側において、前記親局からの入力要求フレームの入力要求内容が前記子局の一または複数単位の共有メモリの情報全てかグループ情報に対応する情報かを判定して対応する出力データの送出指示を出力する送信データ判定ステップと、
前記子局の共有メモリからの出力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに圧縮する圧縮ステップと、
親局側において、前記ネットワークから入力された入力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに再現する再現ステップ
を有することを特徴とする分散Ｉ／Ｏ制御方法。
【請求項７】
複数の入力機器または出力機器に対してデータの入出力を行う子局の共有メモリと、前記子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御システムの親局において、
前記各々の入力機器または出力機器に対する通信周期とグループ情報を規定する周期テーブルと、
前記周期テーブルに応じて、入力要求する前記子局の共有メモリとグループ情報が規定された入力要求フレームを出力する入力要求送信手段と、
前記ネットワークから入力された出力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに再現する再現手段と
を備えたことを特徴とする分散Ｉ／Ｏ制御システムの親局。
【請求項８】
複数の入力機器または出力機器に対してデータの入出力を行うの子局の共有メモリと、前記子局の共有メモリに対応した親局の共有メモリと、をネットワークを介して通信し、更新を行う分散Ｉ／Ｏ制御システムの子局において、
前記親局からの入力要求フレームの入力要求内容が前記子局の一または複数単位の共有メモリの情報全てかグループ情報に対応する情報かを判定して対応する出力データの送出指示を出力する送信データ判定手段と、
前記子局の共有メモリからの出力データがグループ情報に基づくときに、前記親局の共有メモリに入力するためのデータに圧縮する圧縮手段と、
を備えることを特徴とする分散Ｉ／Ｏ制御システムの子局。
【国際調査報告】
2014037970.tif 000015
2014037970.tif 000016