(57)【要約】      （修正有）【課題】時間を置いてコントローラから取得されるデータの整合性を保障するデータアクセス方法を提供する。【解決手段】ゲートウェイ装置が備えるデータアクセス管理部は、コンピュータから受信したデータの取得を要求するメッセージをコントローラが解釈可能に変換し、コントローラからデータを取得する。また、データアクセス管理部は、許容時間内にコントローラから取得したデータがデータアクセス管理テーブルに格納されたことをデータの整合性を保障するための条件として、データアクセス管理テーブルから取得したデータを含むメッセージをコンピュータが解釈可能に変換してコンピュータに送信する。【選択図】図１
2019008690.tif 000002
【特許請求の範囲】
【請求項１】
情報ネットワークに接続されたコンピュータとメッセージの送受信を行う情報系通信処理部と、
前記情報ネットワークとは異なる制御ネットワークに接続され、プロセスを制御するコントローラとメッセージの送受信を行う制御系通信処理部と、
前記コントローラに対して前記プロセスに関するデータのアクセス先を指定し、かつデータの整合性を保障するために参照されるデータアクセス管理テーブルと、
前記情報系通信処理部が前記コンピュータから受信したデータの取得を要求するメッセージを前記コントローラが解釈可能に変換し、前記コントローラが解釈可能なメッセージを前記制御系通信処理部から前記コントローラに送信させ、前記制御系通信処理部が前記コントローラから受信したメッセージに含まれ、前記コントローラが前記アクセス先から取得したデータを前記データアクセス管理テーブルに格納し、前記情報系通信処理部が前記コンピュータから受信したデータの取得を要求するメッセージに、前記コントローラから取得するデータの整合性の保障を要求する情報が含まれる場合に、許容時間内に前記コントローラから取得したデータが前記データアクセス管理テーブルに格納されたことをデータの整合性を保障するための条件として、前記データアクセス管理テーブルから取得したデータを含むメッセージを前記コンピュータが解釈可能に変換し、前記コンピュータが解釈可能なメッセージを前記情報系通信処理部から前記コンピュータに送信させるデータアクセス管理部と、を備える
ゲートウェイ装置。
【請求項２】
さらに、前記データアクセス管理部は、前記情報系通信処理部が前記コンピュータからデータの取得を要求するメッセージを受信したタイミングで、前記コンピュータがデータの取得を要求するメッセージを受信した時点における時刻と、過去に前記コントローラから取得したデータを前記データアクセス管理テーブルに格納した時刻との差が、許容時間内に収まる場合に、前記データアクセス管理テーブルに管理され、整合性が保障されるデータを含むメッセージを前記コンピュータに対する応答として作成し、一方、前記メッセージを受信した時点における時刻と、過去に前記コントローラから取得したデータを前記データアクセス管理テーブルに格納した時刻との差が、前記許容時間を超えた場合に、新たに前記コントローラから取得したデータにより前記データアクセス管理テーブルに管理されるデータを書換え、書換えたデータを含むメッセージを前記コンピュータに対する応答として作成する
請求項１に記載のゲートウェイ装置。
【請求項３】
さらに、周期的に設定される時刻と、過去に前記コントローラから取得したデータを前記データアクセス管理テーブルに格納した時刻との差が、許容時間を超えた場合に、前記コントローラから取得したデータを前記データアクセス管理テーブルに格納することでデータを更新するデータ更新部を備える
請求項２に記載のゲートウェイ装置。
【請求項４】
さらに、周期的に設定される時刻と、過去に前記コントローラから取得したデータを前記コンピュータに配信した時刻との差が、前記許容時間を超えた場合に、前記データアクセス管理テーブルから取得したデータを含むメッセージを作成して、前記データアクセス管理テーブルに配信先として規定された前記コンピュータにメッセージを配信するデータ配信部を備える
請求項３に記載のゲートウェイ装置。
【請求項５】
情報ネットワークに接続されたコンピュータ、及び前記情報ネットワークとは異なる制御ネットワークに接続され、プロセスを制御するコントローラとメッセージを送受信するゲートウェイ装置により実行されるデータアクセス方法であって、
前記コンピュータから前記プロセスに関するデータの取得を要求するメッセージを受信するステップと、
前記コンピュータから受信したメッセージを前記コントローラが解釈可能に変換するステップと、
前記コントローラが解釈可能なメッセージを前記コントローラに送信するステップと、
前記コントローラからメッセージを受信するステップと、
前記コントローラから受信したメッセージに含まれ、前記コントローラがアクセス先から取得したデータを、制御対象であるプロセスに関するデータの前記アクセス先が指定され、かつデータの整合性を保障するために参照されるデータアクセス管理テーブルに格納するステップと、
前記コンピュータから受信したデータの取得を要求するメッセージに、前記コントローラから取得するデータの整合性の保障を要求する情報が含まれる場合に、許容時間内に前記コントローラから取得したデータが前記データアクセス管理テーブルに格納されたことをデータの整合性を保障するための条件として、前記データアクセス管理テーブルからデータを取得するステップと、
前記データアクセス管理テーブルから取得したデータを含むメッセージを前記コンピュータが解釈可能なメッセージに変換するステップと、
前記コンピュータが解釈可能なメッセージを前記コンピュータに送信するステップと、を含む
ゲートウェイ装置により実行されるデータアクセス方法。
【請求項６】
ネットワークに接続されたコンピュータ又はゲートウェイ装置とメッセージの送受信を行う通信処理部と、
制御対象であるプロセスに関するデータのアクセス先が指定され、かつデータの整合性を保障するために参照されるデータアクセス管理テーブルと、
前記アクセス先にアクセスしてデータを取得するデータアクセス要求受信部と、
前記通信処理部が前記コンピュータ又は前記ゲートウェイ装置から受信したデータの取得を要求するメッセージを解釈し、前記データアクセス要求受信部に前記アクセス先からデータを取得させ、前記データアクセス要求受信部が前記アクセス先から取得したデータを前記データアクセス管理テーブルに格納し、前記コンピュータ又は前記ゲートウェイ装置から受信したデータの取得を要求するメッセージに、データの整合性の保障を要求する情報が含まれる場合に、前記データアクセス要求受信部が許容時間内に取得したデータが前記データアクセス管理テーブルに格納されたことをデータの整合性を保障するための条件として、前記データアクセス管理テーブルから取得したデータを前記コンピュータ又は前記ゲートウェイ装置が解釈可能に変換したメッセージを、前記通信処理部から前記コンピュータ又は前記ゲートウェイ装置に送信させるデータアクセス管理部と、を備える
コントローラ。
【請求項７】
ネットワークに接続されたコンピュータ又はゲートウェイ装置とメッセージの送受信を行うコントローラにより実行されるデータアクセス方法であって、
前記コンピュータ又は前記ゲートウェイ装置からデータの取得を要求するメッセージを受信するステップと、
データの取得を要求するメッセージを解釈するステップと、
解釈したメッセージに基づいて制御対象であるプロセスに関するデータのアクセス先にアクセスしてデータを取得するステップと、
前記アクセス先が指定され、かつデータの整合性を保障するために参照されるデータアクセス管理テーブルに、前記アクセス先から取得したデータを格納するステップと、
データの取得を要求するメッセージに、データの整合性の保障を要求する情報が含まれる場合に、許容時間内に取得したデータが前記データアクセス管理テーブルに格納されたことをデータの整合性を保障するための条件として、前記データアクセス管理テーブルからデータを取得するステップと、
前記データアクセス管理テーブルから取得したデータを前記コンピュータ又は前記ゲートウェイ装置が解釈可能なメッセージに変換するステップと、
前記コンピュータ又は前記ゲートウェイ装置が解釈可能なメッセージを、前記コンピュータ又は前記ゲートウェイ装置に送信するステップと、を含む
コントローラにより実行されるデータアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲートウェイ装置、ゲートウェイ装置により実行されるデータアクセス方法、コントローラ、及びコントローラにより実行されるデータアクセス方法に関する。
【背景技術】
【０００２】
近年、多くのデータを収集し、それらのデータを分析し、新たな価値を創造することへのニーズが高まっている。特に制御システムの分野では、これまで制御システム内に留まっていた制御データを、分析基盤などの上位システムで活用することが求められている。制御データとは、上位システムから下位システムに送信され、下位システムで所定の処理の実行を指示するためのデータ、及び下位システムにて実行された処理の結果を示すデータを表す。
【０００３】
上位システムによる制御データの活用例として、例えば、制御データをコンピュータなどが備える表示装置の画面上にグラフなどで表示する見える化がある。制御データの見える化を行うために、画面上に制御データを表示するアプリケーションやそれを実現するシステムは、例えば、同一の制御データを複数の経路で取得したり、複数の画面に同一の制御データを表示したりする冗長化による多重化構成で実現することが想定される。
【０００４】
複数のコンピュータを含む多重化構成とした上位システムでは、制御システムから同じタイミングで制御データを取得しなければ、各コンピュータにて異なるグラフが表示されてしまう。そのため、制御データの整合性を保障することが必要となる。本明細書において、データの整合性とは、複数のコンピュータがデータを取得するタイミングが同時であること、及び、複数のコンピュータが同じタイミングで取得したデータの内容が同一であることを表す。なお、タイミングが同時とは、例えば、データの取得時刻が数秒程度異なる場合も含む。
【０００５】
ここで、特許文献１には、２つのリモート制御装置を二重化されたリモート伝送回線に接続し、リモート入出力装置を介して外部の制御機器を制御する装置について記載されている。この装置は、リモート入出力装置に２つのリモート制御回路と、それらのリモート制御回路を整合にアクセスする入出力制御回路とを実装してデータの同時性を確保している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１―２６６４８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上位システムと制御システムでは用いられるネットワークが異なるため、上位システムと制御システムとの間には、上位システムと制御システムとを接続するゲートウェイ装置が配置されることが多い。このゲートウェイ装置は、上位システムの複数のコンピュータから受信した要求に基づいて、制御システムから要求に合致したデータを取得し、このデータを上位システムに送信する。
【０００８】
ところで、コンピュータが、最初にデータを取得するための要求をゲートウェイ装置に送信し、ゲートウェイ装置からデータを取得した後、例えば、１日以上の時間を置いて、次の要求をゲートウェイ装置に送信する場合がある。この場合、ゲートウェイ装置が、最初にコンピュータからの要求に従ってコンピュータに返信したデータと同一のデータを、次の要求に従って返信することは好ましくないと考えられる。この理由としては、制御システムの状態が変化することにより、１日以上の時間が置かれると、データも変わっていると考えられるからである。また、時間が置かれてもデータの整合性が保障されるべきであることは、ゲートウェイ装置を備えない、コンピュータとコントローラが接続されたシステムにおいても同様である。
【０００９】
しかし、特許文献１には、このように最初の要求と次の要求とで時間が置かれた場合における対処について何ら記載されておらず、同一のデータが返信されてしまう可能性が高い。
【００１０】
本発明はこのような状況に鑑みて成されたものであり、取得を要求された整合性の保障が必要なデータを、整合性を保障して返信できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係るゲートウェイ装置は、情報ネットワークに接続されたコンピュータとメッセージの送受信を行う情報系通信処理部と、情報ネットワークとは異なる制御ネットワークに接続され、プロセスを制御するコントローラとメッセージの送受信を行う制御系通信処理部と、コントローラに対してプロセスに関するデータのアクセス先を指定し、かつデータの整合性を保障するために参照されるデータアクセス管理テーブルと、情報系通信処理部がコンピュータから受信したデータの取得を要求するメッセージをコントローラが解釈可能に変換し、コントローラが解釈可能なメッセージを制御系通信処理部からコントローラに送信させ、制御系通信処理部がコントローラから受信したメッセージに含まれ、コントローラがアクセス先から取得したデータをデータアクセス管理テーブルに格納し、情報系通信処理部がコンピュータから受信したデータの取得を要求するメッセージに、コントローラから取得するデータの整合性の保障を要求する情報が含まれる場合に、許容時間内にコントローラから取得したデータがデータアクセス管理テーブルに格納されたことをデータの整合性を保障するための条件として、データアクセス管理テーブルから取得したデータを含むメッセージをコンピュータが解釈可能に変換し、コンピュータが解釈可能なメッセージを情報系通信処理部からコンピュータに送信させるデータアクセス管理部と、を備える。
【００１２】
また、本発明に係るコントローラは、ネットワークに接続されたコンピュータ又はゲートウェイ装置とメッセージの送受信を行う通信処理部と、制御対象であるプロセスに関するデータのアクセス先が指定され、かつデータの整合性を保障するために参照されるデータアクセス管理テーブルと、アクセス先にアクセスしてデータを取得するデータアクセス要求受信部と、通信処理部がコンピュータ又はゲートウェイ装置から受信したデータの取得を要求するメッセージを解釈し、データアクセス要求受信部にアクセス先からデータを取得させ、データアクセス要求受信部がアクセス先から取得したデータをデータアクセス管理テーブルに格納し、コンピュータ又はゲートウェイ装置から受信したデータの取得を要求するメッセージに、データの整合性の保障を要求する情報が含まれる場合に、許容時間内に取得したデータがデータアクセス管理テーブルに格納されたことをデータの整合性を保障するための条件として、データアクセス管理テーブルから取得したデータをコンピュータ又はゲートウェイ装置が解釈可能に変換したメッセージを、通信処理部からコンピュータ又はゲートウェイ装置に送信させるデータアクセス管理部と、を備える。
【発明の効果】
【００１３】
本発明によれば、例えば、コンピュータから整合性が保障されるデータが要求された場合に、データアクセス管理テーブルを使用することにより、整合性が保障されたデータをコンピュータに返信することが可能となる。
上記した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施の形態に係るデータアクセスシステムの全体構成例を示す機能ブロック図である。
【図２】本発明の第１の実施の形態に係るコンピュータとゲートウェイ装置とが互いに送受信するメッセージのフォーマットの例を示す説明図である。
【図３】本発明の第１の実施の形態に係るデータアクセス管理テーブルの一例を示す説明図である。
【図４】本発明の第１の実施の形態に係るゲートウェイ装置とコントローラとが互いに送受信するメッセージのフォーマットの例を示す説明図である。
【図５】本発明の第１の実施の形態に係るコンピュータにてデータアクセス要求送信部が実行するデータ取得処理の例を示すフローチャートである。
【図６】本発明の第１の実施の形態に係るゲートウェイ装置にて情報系通信処理部が実行する要求受信・応答送信処理の例を示すフローチャートである。
【図７】本発明の第１の実施の形態に係るデータアクセス管理部が実行するデータアクセス要求処理の例を示すフローチャートである。
【図８】本発明の第１の実施の形態に係るデータアクセス管理部が実行する整合性対応処理の例を示すフローチャートである。
【図９】本発明の第１の実施の形態に係る制御系通信処理部が実行する命令送信・結果受信処理の例を示すフローチャートである。
【図１０】本発明の第１の実施の形態に係るデータアクセス管理部が実行するデータアクセス応答処理の例を示すフローチャートである。
【図１１】本発明の第１の実施の形態に係るデータアクセス要求受信部が実行するデータ応答処理の例を示すフローチャートである。
【図１２】本発明の第２の実施の形態に係るデータアクセスシステムの全体構成例を示す機能ブロック図である。
【図１３】本発明の第２の実施の形態に係るデータ更新部が実行するデータ更新処理の例を示す機能ブロック図である。
【図１４】本発明の第３の実施の形態に係るデータアクセスシステムの全体構成例を示す機能ブロック図である。
【図１５】本発明の第３の実施の形態に係るデータアクセス管理テーブルの一例を示す説明図である。
【図１６】本発明の第３の実施の形態に係るデータ受信部が実行するデータ配信処理の例を示すフローチャートである。
【図１７】本発明の第３の実施の形態に係るデータ配信部が実行するデータ配信処理の例を示すフローチャートである。
【図１８】本発明の第４の実施の形態に係るデータアクセスシステムの全体構成例を示す機能ブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態例について、添付図面を参照して説明する。本明細書及び図面において、実質的に同一の機能又は構成を有する構成要素については、同一の符号を付することにより重複する説明を省略する。
【００１６】
［第１の実施の形態］
始めに、本発明の第１の実施の形態に係るデータアクセスシステムが備える各装置の構成について説明する。
図１は、第１の実施の形態に係るデータアクセスシステム７の全体構成例を示す機能ブロック図である。
【００１７】
＜データアクセスシステム＞
データアクセスシステム７は、複数台のコンピュータ１−１〜１−ｎ（情報処理装置の一例）と、１台のゲートウェイ装置２（中継装置の一例）と、複数台のコントローラ３−１〜３−ｎ（制御装置の一例）と、を備える。コンピュータ１−１〜１−ｎを区別しない場合には、コンピュータ１と表記し、コントローラ３−１〜３−ｎを区別しない場合には、コントローラ３と表記する。図１では、複数のコンピュータ１−１〜１−ｎが示されているが、これは一例である。コンピュータ１としては、例えば、コンピュータ１−１の１台であっても、コンピュータ１−１〜１−ｎのように２台以上であってもよい。同様に、図１では、複数のコントローラ３−１〜３−ｎが示されているが、これは一例である。コントローラ３としては、例えば、コントローラ３−１の１台であっても、コントローラ３−１〜３−ｎのように２台以上であってもよい。
【００１８】
コンピュータ１−１〜１−ｎと、ゲートウェイ装置２とは、情報ネットワーク５を介して相互にメッセージを送受信可能である。また、ゲートウェイ装置２と、コントローラ３−１〜３−ｎとは、制御ネットワーク６を介して相互にメッセージを送受信可能である。メッセージの詳細は、後述する図２及び図４に示すが、コンピュータ１−１〜１−ｎからゲートウェイ装置２には要求メッセージ１１０が送信され、ゲートウェイ装置２からコントローラ３−１〜３−ｎには命令メッセージ１３０が送信される。逆に、コントローラ３−１〜３−ｎからゲートウェイ装置２には結果メッセージ１３７が送信され、ゲートウェイ装置２からコンピュータ１−１〜１−ｎには応答メッセージ１１７が送信される。情報ネットワーク５と制御ネットワーク６は、異なるネットワークであるため、コンピュータ１−１〜１−ｎと、コントローラ３−１〜３−ｎとは、ゲートウェイ装置２を介さなければメッセージを直接送受信することができない。
【００１９】
コンピュータ１−１〜１−ｎは、いずれも同様の構成としてある。また、コントローラ３−１〜３−ｎについても、同様の構成としてある。このため、以下の説明において、コンピュータ１−１、ゲートウェイ装置２、コントローラ３−１について順に構成及び動作を説明する。
【００２０】
＜コンピュータ＞
コンピュータ１−１は、メモリ１０、表示装置／入力装置１１、情報ネットワークインターフェイス（InterFace、以下、Ｉ／Ｆと略記）１２、ＣＰＵ１３、及びディスク装置１４を有する。メモリ１０には、データアクセス要求送信部１００が記憶される。データアクセス要求送信部１００は、ＣＰＵ１３により読出され、実行される機能部であり、データアクセス要求をゲートウェイ装置２に送信する。コンピュータ１−１から見たデータアクセス要求は、要求メッセージ１１０を用いて行われるゲートウェイ装置２に対してデータを取得する要求である。
【００２１】
コンピュータ１−１は、情報ネットワーク５に接続され、情報ネットワーク５経由でゲートウェイ装置２と通信する。また、コンピュータ１−１は、データアクセス要求送信部１００を使用してコントローラ３−１内のデータを取得する。
【００２２】
ゲートウェイ装置２は、メモリ２０、情報ネットワークＩ／Ｆ２１、制御ネットワークＩ／Ｆ２２、不揮発性記憶装置２３、及びＣＰＵ２４を有する。メモリ２０には、データアクセス管理テーブル２００、情報系通信処理部２０１、データアクセス管理部２０２、制御系通信処理部２０３が記憶される。情報系通信処理部２０１、データアクセス管理部２０２、制御系通信処理部２０３は、それぞれＣＰＵ２４によりメモリ２０から読出され、実行される機能部である。
【００２３】
データアクセス管理テーブル２００は、後述する図３に詳細を示すように、コントローラ３−１をアクセス対象とするデータ識別ＩＤ毎に、データにアクセスするために必要な情報を管理するテーブルである。このデータアクセス管理テーブル２００は、コントローラ３−１に対してプロセス４−１に関するデータのアクセス先を指定し、かつデータの整合性を保障するために参照される。データは、コントローラ３−１のメモリ３０内に記憶されている。そして、データアクセス管理テーブル２００は、制御系通信処理部２０３がコントローラ３−１から受信した結果メッセージ１３７に含まれるデータを管理する。
【００２４】
＜ゲートウェイ装置＞
ゲートウェイ装置２は、情報ネットワーク５を介してコンピュータ１−１と接続し、制御ネットワーク６を介してコントローラ３−１と接続する。ゲートウェイ装置２は、コンピュータ１−１からコントローラ３−１内のデータの取得を要求するための要求メッセージ１１０を受信すると、コントローラ３−１に命令メッセージ１３０を送信することでデータの取得を要求する。そして、ゲートウェイ装置２は、コントローラ３−１にて取得されたデータを含む結果メッセージ１３７を受信し、このデータを含む応答メッセージ１１７をコンピュータ１−１に送信する。
【００２５】
このため、情報系通信処理部２０１は、情報ネットワーク５を通じて、コンピュータ１−１と送受信するメッセージの通信処理を行う。このとき、情報系通信処理部２０１は、コンピュータ１−１から、要求メッセージ１１０を受信する。
【００２６】
データアクセス管理部２０２は、情報系通信処理部２０１がコンピュータ１−１から受信したデータの取得を要求する要求メッセージ１１０をコントローラ３−１が解釈可能に変換し、コントローラ３−１が解釈可能な命令メッセージ１３０を制御系通信処理部２０３からコントローラ３−１に送信させる。このため、データアクセス管理部２０２は、データアクセス管理テーブル２００を参照して、情報系通信処理部２０１から受け取るデータアクセス要求を制御系通信処理部２０３に渡す。ここで、データアクセス管理部２０２は、データアクセス管理テーブル２００を参照して、要求メッセージ１１０を命令メッセージ１３０に変換する。要求メッセージ１１０は、コンピュータ１−１が解釈可能なメッセージの一例であり、命令メッセージ１３０は、コントローラ３−１が解釈可能なメッセージの一例である。そして、データアクセス管理部２０２は、制御系通信処理部２０３がコントローラ３−１から受信した結果メッセージ１３７に含まれ、コントローラ３−１がアクセス先から取得したデータを、データアクセス管理テーブル２００に格納する。
【００２７】
情報系通信処理部２０１がコンピュータ１−１から受信したデータの取得を要求する要求メッセージ１１０に、コントローラ３−１から取得するデータの整合性の保障を要求する情報（例えば、整合性フラグ１１６に格納された“１”）が含まれる場合がある。この場合、データアクセス管理部２０２は、許容時間内にコントローラ３−１から取得したデータがデータアクセス管理テーブル２００に格納されたことをデータの整合性を保障するための条件として、データアクセス管理テーブル２００からデータを取得する。そして、データアクセス管理部２０２は、データアクセス管理テーブル２００から取得したデータを含む応答メッセージ１１７をコンピュータ１−１が解釈可能に変換する。一方、要求メッセージ１１０にコントローラ３−１から取得するデータの整合性の保障を要求する情報（例えば、整合性フラグ１１６に格納された“０”）が含まれていなければ、データアクセス管理部２０２は、データの整合性を保障することなく、データアクセス管理テーブル２００から取得したデータを含む応答メッセージ１１７をコンピュータ１−１が解釈可能に変換する。
【００２８】
データの整合性を保障する場合、データアクセス管理部２０２は、情報系通信処理部２０１がコンピュータ１−１からデータの取得を要求する要求メッセージ１１０を受信したタイミングで、データアクセス管理テーブル２００に管理されるデータの整合性を判断する。例えば、データアクセス管理部２０２は、コンピュータ１−１がデータの取得を要求する要求メッセージ１１０を受信した時点における要求時刻と、過去にコントローラ３−１から取得したデータをデータアクセス管理テーブル２００に格納した時刻との差が、データの整合性を保障するために許容される許容時間内に収まる場合に、データアクセス管理テーブル２００に管理され、整合性が保障されるデータを含む応答メッセージ１１７をコンピュータ１−１に対する応答として作成する。一方、データアクセス管理部２０２は、要求時刻と、コントローラ３−１からデータを取得した時刻との差が、許容時間を超えた場合に、コントローラ３−１から取得したデータによりデータアクセス管理テーブル２００に管理されるデータを書換える。そして、データアクセス管理部２０２は、書換えたデータを含む応答メッセージ１１７をコンピュータ１−１に対する応答として作成する。
【００２９】
このため、データアクセス管理部２０２は、制御系通信処理部２０３から渡された応答を情報系通信処理部２０１に渡すため、データアクセス管理テーブル２００を参照して、コントローラ３−１から受信した、結果メッセージ１３７を応答メッセージ１１７に変換する。結果メッセージ１３７は、コントローラ３−１が解釈可能なメッセージの一例であり、応答メッセージ１１７は、コンピュータ１−１が解釈可能なメッセージの一例である。このようにデータアクセス管理部２０２は、制御系通信処理部２０３がコントローラ３−１から受信したメッセージをコンピュータ１−１が解釈可能に変換する。そして、データアクセス管理部２０２は、コンピュータ１−１が解釈可能なメッセージを情報系通信処理部２０１からコンピュータ１−１に送信させる。
【００３０】
制御系通信処理部２０３は、制御ネットワーク６を通じて、コントローラ３−１と送受信するメッセージの通信処理を行うことが可能である。このとき、制御系通信処理部２０３は、データアクセス管理部２０２から受け取るデータアクセス要求をコントローラ３−１に送信する。ゲートウェイ装置２から見たデータアクセス要求は、命令メッセージ１３０を用いて行われるコントローラ３−１に対するデータの取得命令である。また、制御系通信処理部２０３は、コントローラ３−１から受信した結果メッセージ１３７をデータアクセス管理部２０２に渡す。この結果メッセージ１３７には、コントローラ３−１がプロセス４から取得したデータが、アクセス対象の結果値１４０として含まれている。
【００３１】
＜コントローラ＞
コントローラ３−１は、メモリ３０、制御ネットワークＩ／Ｆ３１、ＣＰＵ３２、不揮発性記憶装置３３、入力モジュール３４、及び出力モジュール３５を有しており、プロセス４−１を制御する。
メモリ３０には、入力処理部３０１、出力処理部３０２、演算処理部３０３、データアクセス要求受信部３０４が記憶される。
入力処理部３０１、出力処理部３０２、演算処理部３０３、データアクセス要求受信部３０４は、それぞれＣＰＵ３２によりメモリ３０から読出され、実行される機能部である。データアクセス要求受信部３０４は、ゲートウェイ装置２により指定されたアクセス先にアクセスしてデータを取得する。
【００３２】
不揮発性記憶装置３３は、例えば、メモリ３０に記憶されたデータをバックアップする。
入力モジュール３４は、プロセス４に対する入力インターフェイスであり、プロセス４から入力したデータをメモリ３０に記憶する。メモリ３０に記憶されたデータは、入力処理部３０１、出力処理部３０２、演算処理部３０３、データアクセス要求受信部３０４により適宜読出される。
出力モジュール３５は、プロセス４に対する出力インターフェイスであり、出力処理部３０２から出力される制御信号等をプロセス４に出力する。
【００３３】
コントローラ３−１は、制御ネットワーク６に接続され、制御ネットワーク６経由でゲートウェイ装置２と通信する。また、コントローラ３−１は、データアクセス要求受信部を使用してコンピュータ１−１にデータを応答する。
【００３４】
入力処理部３０１は、入力モジュール３４から入力するプロセス４−１の状態を示すデータを取得する。プロセス４−１は、例えば、鉄板を圧延する設備や発電所のタービン等である。そして、プロセス４−１の状態とは、例えば、鉄板の圧延速度、タービンの回転速度等である。例えば、入力処理部３０１は、入力モジュール３４から入力されるプロセス４の状態（センサ値等）をメモリ３０の所定領域に記憶する。また、例えば、入力処理部３０１には、プロセス４の一例として挙げるモータの回転数、モータの回転に伴って移動する装置の移動量が入力される。
【００３５】
演算処理部３０３は、入力処理部３０１を実行してプロセス４−１の状態を取得し、得られた情報を基に所定の演算を行い、その結果を基に出力処理部３０２に処理を実行させてプロセスの制御を行う。演算処理部３０３は、入力処理部３０１から入力するプロセス４の状態に基づいて、プロセス４を適切に制御するための制御データを演算する。例えば、演算処理部３０３は、装置の移動量を所定値とするために必要なモータの回転数を演算し、モータをこの回転数で駆動するために必要な電圧値等を演算する。
【００３６】
出力処理部３０２は、出力モジュール３５を使用してプロセス４−１に制御信号等を出力する。出力処理部３０２は、演算処理部３０３により演算された制御データを出力モジュール３５を通じてプロセス４に出力する。例えば、出力処理部３０２は、演算処理部３０３により演算された電圧値に基づく電圧をモータに出力する。
【００３７】
そして、プロセス４が制御データに従って動作する。例えば、モータは、演算処理部３０３が意図した回転数で駆動する。なお、出力処理部３０２がモータに出力する電圧が低ければ、モータの回転数が減少する。このため、入力処理部３０１は、常にモータの動作結果を入力し、演算処理部３０３がモータの回転数を増加させるフィードバック制御を行う。入力処理部３０１、出力処理部３０２、演算処理部３０３により処理されるデータは、メモリ３０内のアドレス及びサイズで規定される所定領域に記憶され、適宜更新される。
【００３８】
データアクセス要求受信部３０４は、ゲートウェイ装置２から受信する、図４に示す命令メッセージ１３０に基づいて、入力処理部３０１、出力処理部３０２、演算処理部３０３により処理されるデータをメモリ３０から取得する。このとき、データアクセス要求受信部３０４が取得するデータは、命令メッセージ１３０の命令詳細情報１３４に格納されたアクセス対象のアドレス１３５及びアクセス対象のサイズ１３６に基づいてメモリ３０にアクセス可能である。そして、データアクセス要求受信部３０４は、メモリ３０から取得したデータに基づいて、図４に示す結果メッセージ１３７を作成し、ゲートウェイ装置２に結果メッセージ１３７を送信する。
【００３９】
次に、各装置で用いられる各種のメッセージ及びテーブルの構成例について、図２〜図４を参照して説明する。
【００４０】
＜要求メッセージ及び応答メッセージ＞
図２は、コンピュータ１−１とゲートウェイ装置２とが互いに送受信するメッセージのフォーマットの例を示す説明図である。
【００４１】
メッセージには、コンピュータ１−１がデータを要求するための要求メッセージ１１０と、ゲートウェイ装置２が要求されたデータをコンピュータ１−１に送信するための応答メッセージ１１７がある。
【００４２】
要求メッセージ１１０は、プロトコルヘッダ１１２と要求情報１１１により構成される。プロトコルヘッダ１１２には、プロトコル種別、送信元、及び宛先などの情報が含まれる。
【００４３】
要求情報１１１は、データの取得を要求するデータ数１１３と、少なくとも一つ以上の要求詳細情報１１４により構成される。
データ数１１３は、要求詳細情報１１４の個数を示す情報である。要求詳細情報１１４は、コンピュータ１−１が取得を要求するデータの数に応じて複数必要となる場合がある。
【００４４】
要求詳細情報１１４は、コンピュータ１−１が取得を要求するデータ毎に、データ識別ＩＤ１１５と、整合性フラグ１１６により構成される。整合性フラグ１１６は、コンピュータ１−１により設定されるフラグであり、整合性の保障が必要なデータの取得を要求する情報としてゲートウェイ装置２により用いられる。コンピュータ１−１が取得を要求するデータが、整合性の保障が必要なデータである場合、整合性フラグ１１６に“１”が格納され、整合性の保障が不要なデータである場合、整合性フラグ１１６に“０”が格納される。そして、ゲートウェイ装置２では、整合性フラグ１１６に基づいて、コントローラ３から取得するデータの整合性を保障するか否かが判定される。
【００４５】
応答メッセージ１１７は、プロトコルヘッダ１１２と応答情報１１８により構成される。応答メッセージ１１７に含まれるプロトコルヘッダ１１２は、要求メッセージ１１０に含まれるプロトコルヘッダ１１２と同じ内容である。
応答情報１１８は、データ数１１３と、少なくとも一つ以上の応答詳細情報１１９により構成される。
応答詳細情報１１９は、データ識別ＩＤ１１５と、コントローラ３−１が持つデータである結果値１２０により構成される。
【００４６】
＜データアクセス管理テーブル＞
図３は、第１の実施の形態に係るデータアクセス管理テーブル２００の一例を示す説明図である。
【００４７】
データアクセス管理テーブル２００は、データ識別ＩＤ、アクセス先情報、許容時間、要求時刻、結果一時蓄積の各フィールドを備える。
データ識別ＩＤフィールドには、データを識別するために一意に割り振られるデータ識別ＩＤが格納される。
アクセス先情報フィールドには、コントローラ３−１のデータアクセス要求受信部３０４がメモリ３０に記憶されるデータにアクセスするためのアクセス対象のアドレスとサイズが含まれている。
アクセス対象のアドレスは、アクセス先の先頭アドレスを示す。
サイズはアクセス先のアドレスサイズを示す。アドレスサイズは、アクセス対象のデータ型に応じたデータの長さを表す。
【００４８】
許容時間フィールドには、ゲートウェイ装置２が取得したコントローラ３−１から取得した結果値１４０の許容時間（ミリ秒単位）が格納される。例えば、許容時間を超えて取得される２つの結果値１４０は、整合性が保障されず、有効でないデータとなる。
【００４９】
要求時刻フィールドには、後述する図７に示すステップＳ２５を実行した時の要求時刻が格納される。この要求時刻は、データアクセス管理テーブル２００から結果値１４０が取得された時刻である。要求時刻フィールドの初期値は“０”であり、コンピュータ１−１からデータアクセス要求が行われると、要求時刻フィールドにデータアクセス要求が行われた現在時刻が格納される。
【００５０】
結果一時蓄積フィールドには、ゲートウェイ装置２がコントローラ３−１から取得した、図４に示すアクセス対象の結果値１４０が一時的に蓄積される。結果一時蓄積フィールドに格納されるアクセス対象の結果値１４０が、コンピュータ１−１により取得が要求されるデータとなる。
【００５１】
＜命令メッセージ及び結果メッセージ＞
図４は、ゲートウェイ装置２とコントローラ３とが互いに送受信するメッセージのフォーマットの例を示す説明図である。
【００５２】
メッセージには、ゲートウェイ装置２がデータを取得するための命令メッセージ１３０と、コントローラ３が要求されたデータをゲートウェイ装置２に送信するための結果メッセージ１３７がある。
【００５３】
命令メッセージ１３０は、プロトコルヘッダ１３２と命令情報１３１により構成される。プロトコルヘッダ１３２には、プロトコル種別、送信元、及び宛先などの情報が含まれる。
命令情報１３１は、データの取得を要求するデータ数１３３と、少なくとも一つ以上の命令詳細情報１３４により構成される。命令詳細情報１３４は、アクセス対象のアドレス１３５とサイズ１３６により構成される。
【００５４】
結果メッセージ１３７は、プロトコルヘッダ１３２と結果情報１３８により構成される。
結果情報１３８は、データ数１３３と、少なくとも一つ以上の結果詳細情報１３９により構成される。
結果詳細情報１３９は、アクセス対象のアドレス１３５、アクセス対象のサイズ１３６、及びコントローラ３−１が持つデータである、アクセス対象の結果値１４０により構成される。
【００５５】
次に、コンピュータ１−１、ゲートウェイ装置２、及びコントローラ３−１の動作例について、図５〜図１１を参照して説明する。図５に、コンピュータ１−１にて行われる動作例を示し、図６〜図１０に、ゲートウェイ装置２にて行われるデータアクセス方法の例を示し、図１１に、コントローラ３−１にて行われる動作例を示す。
【００５６】
＜データ取得処理＞
図５は、第１の実施の形態に係るコンピュータ１−１にてデータアクセス要求送信部１００が実行するデータ取得処理の例を示すフローチャートである。データ取得処理とは、コンピュータ１−１が、ゲートウェイ装置２を介してコントローラ３−１からデータを取得する処理である。データアクセス要求送信部１００は、例えば、作業員が操作する入力装置１１より、取得対象のデータを一意に識別するデータ識別ＩＤ１１５を入力情報として受け取ると、以下の動作を開始する。
【００５７】
始めに、データアクセス要求送信部１００は、入力されたデータ識別ＩＤ１１５に基づいて、図２に示す要求メッセージ１１０を作成し（Ｓ１）、情報ネットワークＩ／Ｆ１２を介してゲートウェイ装置２に対し、要求メッセージ１１０を送信する（Ｓ２）。
【００５８】
次に、データアクセス要求送信部１００は、ゲートウェイ装置２から情報ネットワークＩ／Ｆ１２を介して、図２に示す応答メッセージ１１７の受信を待つ（Ｓ３）。応答メッセージ１１７を受信しなければ（Ｓ３の無し）、データアクセス要求送信部１００は、応答メッセージ１１７の受信を待ち続ける。
【００５９】
ステップＳ３にて、データアクセス要求送信部１００は、応答メッセージ１１７を受信すると（Ｓ３の有り）、受信した応答メッセージ１１７に格納されている、コントローラ３−１が持つデータである結果値１２０を取り出し（Ｓ４）、表示装置１１に結果値１２０を表示する（Ｓ５）。
【００６０】
＜要求受信・応答送信処理＞
図６は、第１の実施の形態に係るゲートウェイ装置２にて情報系通信処理部２０１が実行する要求受信・応答送信処理の例を示すフローチャートである。要求受信・応答送信処理とは、ゲートウェイ装置２がコントローラ３−１に対してデータアクセス要求を送信し、コントローラ３−１から取得した応答メッセージ１１７をコンピュータ１−１に送信する処理である。
【００６１】
始めに、情報系通信処理部２０１は、情報ネットワークＩ／Ｆ２１を介して、コンピュータ１−１から送信される要求メッセージ１１０の受信を待つ（Ｓ１１）。要求メッセージ１１０を受信しなければ（Ｓ１１の無し）、情報系通信処理部２０１は、要求メッセージ１１０の受信を待ち続ける。
【００６２】
ステップＳ１１にて、情報系通信処理部２０１は、要求メッセージ１１０を受信すると（Ｓ１１の有り）、データアクセス要求処理を実行する（Ｓ１２）。データアクセス要求処理とは、受信した要求メッセージ１１０に含まれるデータ識別ＩＤ１１５と整合性フラグ１１６を取り出し、それらに応じてアクセス先の情報の取得やデータの整合性を保障する処理であり、その詳細は図７を用いて後述する。
【００６３】
次に、情報系通信処理部２０１は、データアクセス要求処理が完了した後、情報ネットワークＩ／Ｆ２１を介してコンピュータ１−１に応答メッセージ１１７を送信する（Ｓ１３）。その後、情報系通信処理部２０１は、要求メッセージ１１０の受信を待つ（Ｓ１１）。
【００６４】
応答メッセージ１１７は、図７に示すデータアクセス要求処理にて実行される、図１０に示すデータアクセス応答処理によって作成されたものである。データアクセス応答処理は、コントローラ３−１から取得したデータをコンピュータ１−１に送信するための応答を作成する処理であり、図１０を用いて後述する。応答詳細情報１１９の結果値１２０は、コントローラ３−１によりプロセス４から取得され、データアクセス管理テーブル２００の結果一時蓄積フィールドに格納されたアクセス対象の結果値１４０である。
【００６５】
＜データアクセス要求処理＞
図７は、第１の実施の形態に係るデータアクセス管理部２０２が実行するデータアクセス要求処理の例を示すフローチャートである。データアクセス要求処理とは、ゲートウェイ装置２がコントローラ３−１に対してデータアクセス要求を送信する処理である。データアクセス要求処理にて、コンピュータ１−１が解釈可能な要求メッセージ１１０が、コントローラ３−１が解釈可能な命令メッセージ１３０に変換される。
【００６６】
情報系通信処理部２０１が図６に示すデータアクセス要求処理を実行する（Ｓ１２）と、データアクセス管理部２０２が実行される。データアクセス管理部２０２は、情報系通信処理部２０１が受信した要求メッセージ１１０から、データ識別ＩＤ１１５と整合性フラグ１１６をそれぞれ一つずつ取り出す（Ｓ２１）。
【００６７】
次に、データアクセス管理部２０２は、ステップＳ２１で取得した整合性フラグ１１６が“１”であるか判定する（Ｓ２２）。ステップＳ２１で取得した整合性フラグ１１６が“１”ではない場合（Ｓ２２のＮＯ）、データアクセス管理部２０２は、後述するステップＳ２６を実行する。
【００６８】
ステップＳ２２にて、ステップＳ２１で取得した整合性フラグ１１６が“１”である場合（Ｓ２２のＹＥＳ）、データの整合性の保障が必要となる。このため、データアクセス管理部２０２は、ステップＳ２１で取得したデータ識別ＩＤ１１５をキーとして、図３に示すデータアクセス管理テーブル２００を参照して、許容時間フィールドから許容時間を取得し、要求時刻フィールドから要求時刻を取得する（Ｓ２３）。
【００６９】
次に、データアクセス管理部２０２は、現在時刻と、ステップＳ２３で取得した要求時刻との差が、ステップＳ２３で取得した許容時間外であるか、すなわち許容時間を超えたか否かを判定する（Ｓ２４）。現在時刻とは、例えば、コンピュータ１−１から送信された要求メッセージ１１０を、情報系通信処理部２０１が受信した時点における時刻であり、要求時刻とは、過去にデータアクセス管理テーブル２００にデータが格納された時刻を表す。
【００７０】
現在時刻と、ステップＳ２３で取得した要求時刻との差が、ステップＳ２３で取得した許容時間内に収まっている場合（Ｓ２４のＮＯ）、データアクセス管理部２０２は、整合性対応処理を実行する（Ｓ２５）。ここで、図８を用いて整合性対応処理について説明する。
【００７１】
＜整合性対応処理＞
図８は、第１の実施の形態に係るデータアクセス管理部２０２が実行する整合性対応処理の例を示すフローチャートである。整合性対応処理とは、取得を要求する複数のデータの整合性を保障する処理である。
【００７２】
始めに、データアクセス管理部２０２は、ステップＳ２１で取得したデータ識別ＩＤ１１５をキーとして、図３に示すデータアクセス管理テーブル２００を参照して、データアクセス管理テーブル２００の結果一時蓄積フィールドにアクセス対象の結果値１４０が格納されるまで待つ（Ｓ４１）。結果一時蓄積フィールドには、ゲートウェイ装置２がコントローラ３−１からアクセス対象の結果値１４０を取得するまで何も格納されていない。
【００７３】
このため、結果一時蓄積フィールドにアクセス対象の結果値１４０が格納されていなければ（Ｓ４１のＮＯ）、データアクセス管理部２０２は、ステップＳ４１の処理を繰り返す。結果一時蓄積フィールドにアクセス対象の結果値１４０が格納されると（Ｓ４１のＹＥＳ）、データアクセス管理部２０２は、データアクセス管理テーブル２００の結果一時蓄積フィールドからアクセス対象の結果値１４０、すなわちデータを取得する（Ｓ４２）。
【００７４】
次に、データアクセス管理部２０２は、ステップＳ２１で取得したデータ識別ＩＤ１１５と、ステップＳ４２で取得した結果値１４０を基にして、図２に示す応答詳細情報１１９を作成する（Ｓ４３）。そして、データアクセス管理部２０２は、図７のステップＳ２９に移る。
【００７５】
図７に戻って説明を続ける。
ステップＳ２４にて、現在時刻と、ステップＳ２３で取得した要求時刻との差が、ステップＳ２３で取得した許容時間を超えた場合（Ｓ２４のＹＥＳ）、データアクセス管理部２０２は、ステップＳ２１で取得したデータ識別ＩＤ１１５をキーとして、図３に示すデータアクセス管理テーブル２００を参照する。そして、データアクセス管理部２０２は、データアクセス管理テーブル２００の要求時刻フィールドに現在時刻を格納し、結果一時蓄積フィールドからデータを削除する（Ｓ２６）。
【００７６】
次に、データアクセス管理部２０２は、ステップＳ２１で取得したデータ識別ＩＤ１１５をキーとして、図３に示すデータアクセス管理テーブル２００を参照して、アクセス先情報フィールドからアクセス先情報を取得する（Ｓ２７）。そして、データアクセス管理部２０２は、ステップＳ２７で取得したアクセス先情報に基づいて、図４に示す命令詳細情報１３４を作成する（Ｓ２８）。
【００７７】
ステップＳ２５又はＳ２８の後、データアクセス管理部２０２は、要求メッセージ１１０に含まれる全てのデータ識別ＩＤ１１５に対する整合性フラグ１１６を取得したか判断する（Ｓ２９）。全てのデータ識別ＩＤ１１５に対する整合性フラグ１１６を取得していなければ（Ｓ２９のＮＯ）、データアクセス管理部２０２は、ステップＳ２１〜Ｓ２８の処理を繰り返し、実行する。
【００７８】
ステップＳ２９にて、全てのデータ識別ＩＤ１１５に対する整合性フラグ１１６を取得していれば（Ｓ２９のＹＥＳ）、データアクセス管理部２０２は、ステップＳ２１〜Ｓ２８の処理の間に、命令詳細情報１３４を少なくとも一つ以上、作成したか判定する（Ｓ３０）。
【００７９】
ステップＳ２１〜Ｓ２８の処理の間に、命令詳細情報１３４を一つも作成していない場合（Ｓ３０のＮＯ）、データアクセス管理部２０２は、図８に示すステップＳ４３で作成した応答詳細情報１１９を基にして、図２に示す応答メッセージ１１７を作成する（Ｓ３１）。その後、図６に示すステップＳ１３が実行され、応答メッセージ１１７がコンピュータ１−１に送信される。
【００８０】
ステップＳ２１〜Ｓ２８の処理の間に、命令詳細情報１３４を少なくとも一つ以上作成した場合（Ｓ３０のＹＥＳ）、データアクセス管理部２０２は、ステップＳ２８で作成した命令詳細情報１３４を基にして、図４に示す命令メッセージ１３０を作成する（Ｓ３２）。
【００８１】
そして、データアクセス管理部２０２は、命令送信・結果受信処理を実行する（Ｓ３３）。命令送信・結果受信処理により、ステップＳ３２で作成された命令メッセージ１３０がコントローラ３−１に送信され、コントローラ３−１から結果メッセージ１３７が受信される。命令送信・結果受信処理は、図９を用いて詳細を後述する。
【００８２】
その後、データアクセス管理部２０２は、データアクセス応答処理を実行する（Ｓ３４）。データアクセス応答処理により、結果メッセージ１３７から取出された情報がデータアクセス管理テーブル２００に格納され、コンピュータ１−１に対する応答メッセージ１１７が作成される。データアクセス応答処理は、図１０を用いて詳細を後述する。
【００８３】
＜命令送信・結果受信処理＞
図９は、第１の実施の形態に係る制御系通信処理部２０３が実行する命令送信・結果受信処理の例を示すフローチャートである。命令送信・結果受信処理とは、ゲートウェイ装置２がコントローラ３−１にデータアクセスのための命令メッセージ１３０を送信し、コントローラ３−１から結果メッセージ１３７を受信する処理である。
【００８４】
データアクセス管理部２０２が命令送信・結果受信処理を実行する（Ｓ３３）と、制御系通信処理部２０３が実行される。制御系通信処理部２０３は、ステップＳ３２で作成された命令メッセージ１３０を、制御ネットワークＩ／Ｆ２２を介して、コントローラ３−１に送信する（Ｓ５１）。
【００８５】
次に、制御系通信処理部２０３は、制御ネットワークＩ／Ｆ２２を介して、コントローラ３−１から送信される結果メッセージ１３７の受信を待つ（Ｓ５２）。結果メッセージ１３７を受信しなければ（Ｓ５２の無し）、制御系通信処理部２０３は、結果メッセージ１３７の受信を待ち続ける。
【００８６】
ステップＳ５２にて、制御系通信処理部２０３は、結果メッセージ１３７を受信すると（Ｓ５２の有り）、図７のステップＳ３３における本処理を終了し、ステップＳ３４に移る。
【００８７】
＜データアクセス応答処理＞
図１０は、第１の実施の形態に係るデータアクセス管理部２０２が実行するデータアクセス応答処理の例を示すフローチャートである。データアクセス応答処理とは、データアクセス管理部２０２が、コンピュータ１−１に送信する応答メッセージ１１７を結果メッセージ１３７に基づいて作成する処理である。データアクセス応答処理にて、コントローラ３−１が解釈可能な結果メッセージ１３７が、コンピュータ１−１が解釈可能な応答メッセージ１１７に変換される。
【００８８】
図９に示す命令送信・結果受信処理の後、制御系通信処理部２０３が、データアクセス応答処理を実行する（Ｓ３４）と、データアクセス管理部２０２が実行される。データアクセス管理部２０２は、制御系通信処理部２０３が受信した結果メッセージ１３７から、結果詳細情報１３９を一つ取り出す（Ｓ６１）。
【００８９】
データアクセス管理部２０２は、ステップＳ６１で取得した結果詳細情報１３９からアクセス対象のアドレス１３５、アクセス対象のサイズ１３６、及びアクセス対象の結果値１４０を取り出す（Ｓ６２）。
【００９０】
次に、データアクセス管理部２０２は、アクセス対象のアドレス１３５と、アクセス対象のサイズ１３６とをキーとして、データアクセス管理テーブル２００を参照して、データ識別ＩＤを取得し、結果一時蓄積フィールドにステップＳ６２で取得したアクセス対象の結果値１４０を格納する（Ｓ６３）。
【００９１】
次に、データアクセス管理部２０２は、ステップＳ６２で取得したアクセス対象の結果値１４０と、ステップＳ６３で取得したデータ識別ＩＤを基にして、図２に示す応答詳細情報１１９を作成する（Ｓ６４）。
【００９２】
次に、データアクセス管理部２０２は、結果メッセージ１３７に含まれる全てのアクセス対象の結果値１４０に対して、ステップＳ６１〜Ｓ６４の処理を行ったか判断する（Ｓ６５）。全てのアクセス対象の結果値１４０に対して、ステップＳ６１〜Ｓ６４の処理を行っていなければ（Ｓ６５のＮＯ）、データアクセス管理部２０２は、ステップＳ６１に戻ってステップＳ６１〜Ｓ６４の処理を繰り返し、実行する。
【００９３】
全てのアクセス対象の結果値１４０に対して、ステップＳ６１〜Ｓ６４の処理を行っていれば（Ｓ６５のＹＥＳ）、データアクセス管理部２０２は、ステップＳ４３で作成した応答詳細情報１１９と、ステップＳ６４で作成した応答詳細情報１１９を基にして、図２に示す応答メッセージ１１７を作成する（Ｓ６６）。そして、データアクセス管理部２０２は、図７のステップＳ３４における本処理を終了する。その後、図６に示すステップＳ１３が実行され、応答メッセージ１１７はコンピュータ１−１に送信される。
【００９４】
＜データ応答処理＞
図１１は、第１の実施の形態に係るデータアクセス要求受信部３０４が実行するデータ応答処理の例を示すフローチャートである。データ応答処理は、コントローラ３−１がゲートウェイ装置２から受信した命令メッセージ１３０に基づいて作成した結果メッセージ１３７を、命令に対する応答としてゲートウェイ装置２に送信する処理である。
【００９５】
データアクセス要求受信部３０４は、制御ネットワークＩ／Ｆ３１を介して、ゲートウェイ装置２から送信される命令メッセージ１３０の受信を待つ（Ｓ７１）。命令メッセージ１３０を受信しなければ（Ｓ７１の無し）、データアクセス要求受信部３０４は、命令メッセージ１３０の受信を待ち続ける（Ｓ７１）。
【００９６】
ステップＳ７１にて、データアクセス要求受信部３０４は、命令メッセージ１３０を受信すると（Ｓ７１の有り）、受信した命令メッセージ１３０に含まれる命令詳細情報１３４を一つ取り出す（Ｓ７２）。
【００９７】
次に、データアクセス要求受信部３０４は、ステップＳ７２で取得した命令詳細情報１３４からアクセス対象のアドレス１３５と、アクセス対象のサイズ１３６とを取り出す。そして、データアクセス要求受信部３０４は、取得したアクセス対象のアドレス１３５と、アクセス対象のサイズ１３６とを基にして、メモリ３０からデータを取り出す（Ｓ７３）。
【００９８】
次に、データアクセス要求受信部３０４は、ステップＳ７２で取得したアクセス対象のアドレス１３５、アクセス対象のサイズ１３６、及びステップＳ７３で取得したデータを基にして、図４に示す結果詳細情報１３９を作成する（Ｓ７４）。その際、ステップＳ７３で取得したデータをアクセス対象の結果値１４０に格納する。
【００９９】
次に、データアクセス要求受信部３０４は、命令メッセージ１３０に含まれる全てのアクセス対象のアドレス１３５と、アクセス対象のサイズ１３６に対して、ステップＳ７２〜Ｓ７４の処理を行ったか判断する（Ｓ７５）。全てのアクセス対象のアドレス１３５と、アクセス対象のサイズ１３６の個数は、命令情報１３１のデータ数１３３に規定される数で表される。全てのアクセス対象のアドレス１３５と、アクセス対象のサイズ１３６に対して、ステップＳ７２〜Ｓ７４の処理を行っていなければ（Ｓ７５のＮＯ）、データアクセス要求受信部３０４は、ステップＳ７１に戻ってステップＳ７１〜Ｓ７４の処理を繰り返し、実行する。
【０１００】
全てのアクセス対象のアドレス１３５と、アクセス対象のサイズ１３６に対して、ステップＳ７２〜Ｓ７４の処理を行っていれば（Ｓ７５のＹＥＳ）、データアクセス要求受信部３０４は、ステップＳ７４で作成した結果詳細情報１３９を基にして、図４に示す結果メッセージ１３７を作成する（Ｓ７６）。
【０１０１】
次に、データアクセス要求受信部３０４は、制御ネットワークＩ／Ｆ３１を介して、ステップＳ７６で作成した結果メッセージ１３７をゲートウェイ装置２に送信する（Ｓ７７）。その後、データアクセス要求受信部３０４は、ステップＳ７１にて命令メッセージ１３０の受信を待つ。
【０１０２】
以上説明した第１の実施の形態に係るデータアクセスシステム７では、ゲートウェイ装置２が、コンピュータ１から受信する整合性の保障が必要なデータのアクセス要求に対し、コントローラ３内のデータの整合性を保障してコンピュータ１に返信する。ゲートウェイ装置２は、例えば、複数のコンピュータ１からほぼ同じタイミングで同じデータを要求された場合、コントローラ３から取得したそれぞれ複数のコンピュータ１に送信するデータが同じであることを保障する。また、ゲートウェイ装置２は、複数のコンピュータ１に送信するデータがコントローラ３から取得したタイミングがほぼ同時であることも保障する。そして、ゲートウェイ装置２は、保障が必要なデータのデータアクセス要求を最初に受信してから、ユーザが任意に設定した許容時間内に次のデータアクセス要求を受信した場合に限り、コントローラ３内の同一のデータをコンピュータ１に返信することができる。
【０１０３】
また、要求メッセージ１１０内には、整合性フラグ１１６が含まれる。このため、コンピュータ１は、整合性を保障したくないデータに関しては、整合性フラグ１１６に“０”を格納することで許容時間に関係なくコントローラ３からデータを取得することができる。また、コンピュータ１は、整合性の保障が必要なデータに関しては、整合性フラグ１１６に“１”を格納することで許容時間内で同一のデータをコントローラ３から取得することができる。そして、要求詳細情報１１４毎に設けた整合性フラグ１１６に“０”又は“１”を格納することで、整合性の保障が必要なデータのデータアクセス要求と、整合性の保障が不要なデータのデータアクセス要求とが混在した一つの要求メッセージ１１０をゲートウェイ装置２に送信する。そして、コンピュータ１は、ゲートウェイ装置２から整合性の保障が必要なデータと、整合性の保障が不要なデータとが混在した応答メッセージ１１７を受信する。
【０１０４】
また、ゲートウェイ装置２は、最初に受信した要求メッセージ１１０について、コントローラ３に命令メッセージ１３０を送信し、次に他のコンピュータ１から受信した要求メッセージ１１０について、同じデータのデータアクセス要求であれば、コントローラ３に命令メッセージ１３０を送信せず、データアクセス管理テーブル２００の結果一時蓄積から取得したデータを返信する。また、コントローラ３からは、最初の命令メッセージ１３０に対する結果メッセージ１３７だけがゲートウェイ装置２に返信される。このため、制御ネットワーク６の負荷を低減させることができる。
【０１０５】
さらに、ゲートウェイ装置２は、整合性の保障を要求しないデータの取得を要求する要求メッセージ１１０、及び許容時間外にコンピュータ１から受信した要求メッセージ１１０を変換した命令メッセージ１３０だけをコントローラ３へと送信する。そして、他の要求メッセージ１１０については、命令メッセージ１３０に変換せず、コントローラ３に命令メッセージ１３０を送信しないため、制御ネットワーク６の負荷を低減させることができる。
【０１０６】
なお、本実施の形態では、コンピュータ１−１の１台のみがコントローラ３−１の１台のみに対してデータの取得を行うが、これに限定されることはない。他の例として、複数台のコンピュータ１（コンピュータ１−１〜１−ｎから選択される２台以上のコンピュータ）が、コントローラ３−１の整合性が保障されたデータを取得することが可能である。また、１台のコンピュータ１−１が、複数台のコントローラ３（コントローラ３−１〜３−ｎから選択される２台以上のコントローラ）から整合性が保障されたデータの取得を行うことも可能である。
【０１０７】
［第２の実施の形態］
上述した第１の実施の形態では、コンピュータ１から要求があったときのみ、ゲートウェイ装置２が許容時間の判定を行っていた。一方、第２の実施の形態に係るゲートウェイ装置２は常に許容時間の判定を行っており、全てのデータを許容時間内に更新する。これにより、コンピュータ１から整合性を保障する要求がゲートウェイ装置２に送信されたとき、ゲートウェイ装置２は、直ちに応答することが可能になる。以下、第２の実施の形態に係るデータアクセスシステム７の構成及び動作の詳細を説明する。なお、ここでは主に第２の実施の形態について第１の実施の形態との差異に着目して説明する。
【０１０８】
図１２は、第２の実施の形態に係るデータアクセスシステムの全体構成例を示す機能ブロック図である。図１２に示す第２の実施の形態に係るゲートウェイ装置２では、図１に示す第１の実施の形態に対して、メモリ２０にデータ更新部２１０が追加されている。
【０１０９】
データ更新部２１０は、ＣＰＵ２４によりメモリ２０から読出され、実行される機能部であり、データアクセス管理テーブル２００に管理されるデータを自動的に更新する機能とを有している。このため、データ更新部２１０は、コントローラ３−１から取得したデータをデータアクセス管理テーブル２００に格納することでデータを更新する。データの更新は、周期的に設定される時刻と、過去にコントローラ３−１から取得したデータをデータアクセス管理テーブル２００に格納した時刻との差が、許容時間を超えた場合に行われる。周期的に設定される時刻とは、例えば、データ更新部２１０が動作する時点においてゲートウェイ装置２で管理される現在時刻であるが、他の時刻としてもよい。そして、データ更新部２１０は、コンピュータ１−１からデータアクセス要求を受信することなく、データアクセス管理テーブル２００に管理されるデータを更新することが可能である。
【０１１０】
＜データ更新処理＞
図１３は、第２の実施の形態に係るデータ更新部２１０が実行するデータ更新処理の例を示すフローチャートである。データ更新処理は、データ更新部２１０がデータアクセス管理テーブル２００を更新する処理である。
【０１１１】
データ更新部２１０は、ゲートウェイ装置２が起動すると、図３に示すデータアクセス管理テーブル２００の先頭レコードからデータ識別ＩＤを取り出す（Ｓ８１）。
【０１１２】
次に、データ更新部２１０は、ステップＳ８１、又は後述するステップＳ９２で取得したデータ識別ＩＤをキーとして、データアクセス管理テーブル２００を参照して、許容時間フィールドから許容時間を取得し、要求時刻フィールドから要求時刻を取得する（Ｓ８２）。
【０１１３】
次に、データ更新部２１０は、現在時刻と、ステップＳ８２で取得した要求時刻との差が、ステップＳ８２で取得した許容時間外であるか、すなわち許容時間を超えたか否かを判定する（Ｓ８３）。
【０１１４】
現在時刻と、ステップＳ８２で取得した要求時刻との差が、ステップＳ８２で取得した許容時間内に収まっている場合（Ｓ８３のＮＯ）、データ更新部２１０は、このレコードのデータを更新せず、データアクセス管理テーブル２００から次のレコードのデータ識別ＩＤを取り出す（Ｓ９２）。その後、ステップＳ８２に戻って、ステップＳ８２の処理を繰り返し実行する。
【０１１５】
ステップＳ８３にて、現在時刻と、ステップＳ８２で取得した要求時刻との差が、ステップＳ８２で取得した許容時間を超えた場合（Ｓ８３のＹＥＳ）、データ更新部２１０は、ステップＳ８１、又は後述するステップＳ９２で取得したデータ識別ＩＤをキーとして、データアクセス管理テーブル２００を参照する。そして、データ更新部２１０は、データアクセス管理テーブル２００の要求時刻フィールドに現在時刻を格納し、結果一時蓄積フィールドから、以前格納したデータ（アクセス対象の結果値１４０）を削除する（Ｓ８４）。
【０１１６】
次に、データ更新部２１０は、ステップＳ８１、又は後述するステップＳ９２で取得したデータ識別ＩＤをキーとして、データアクセス管理テーブル２００を参照して、アクセス先情報を取得する（Ｓ８５）。
【０１１７】
次に、データ更新部２１０は、ステップＳ８５で取得したアクセス先情報に基づいて、図４に示す命令詳細情報１３４を作成し（Ｓ８６）、命令メッセージ１３０を作成する（Ｓ８７）。
【０１１８】
次に、データ更新部２１０は、制御系通信処理部２０３に対して、図９に示す命令送信・結果受信処理を実行させる（Ｓ８８）。命令送信・結果受信処理が完了した後、データ更新部２１０は、制御系通信処理部２０３が受信した結果メッセージ１３７から、図４に示す結果詳細情報１３９を取り出す（Ｓ８９）。
【０１１９】
次に、データ更新部２１０は、ステップＳ８９で取得した結果詳細情報１３９からアクセス対象のアドレス１３５、アクセス対象のサイズ１３６、及びアクセス対象の結果値１４０を取り出す（Ｓ９０）。
【０１２０】
データ更新部２１０は、アクセス対象のアドレス１３５と、アクセス対象のサイズ１３６とをキーとして、データアクセス管理テーブル２００を参照して、結果一時蓄積フィールドにステップＳ６２で取得したアクセス対象の結果値１４０を格納する（Ｓ９１）。これにより、アクセス対象の結果値１４０が更新される。そして、データ更新部２１０は、結果一時蓄積フィールドにアクセス対象の結果値１４０を格納した時刻を、データアクセス管理テーブル２００の要求時刻に格納する。
【０１２１】
次に、データ更新部２１０は、データアクセス管理テーブル２００から次のレコードのデータ識別ＩＤを取り出す（Ｓ９２）。その後、データ更新部２１０は、ステップＳ８２〜Ｓ９２を繰り返し、実行する。これによりデータアクセス管理テーブル２００に管理される全てのレコードについてアクセス対象の結果値１４０が周期的に更新される。
【０１２２】
以上説明した第２の実施の形態に係るデータアクセスシステム７Ａでは、ゲートウェイ装置２のデータ更新部２１０が、現在時刻と、データアクセス管理テーブル２００から取得した要求時刻との差が許容時間を超えたデータに関して、データの更新を行う。これにより、第１の実施の形態に係るデータアクセスシステム７と比較して、制御ネットワーク６の負荷は増えてしまう。しかし、コンピュータ１から整合性の保障が必要なデータの要求として要求メッセージ１１０がゲートウェイ装置２に送信された場合、ゲートウェイ装置２は、コントローラ３からデータを取得することなく、直ちに応答メッセージ１１７を返信して応答することができる。
【０１２３】
なお、本実施の形態では、ゲートウェイ装置２がコントローラ３内のデータを取得する際、データアクセス管理テーブル２００内のデータ識別ＩＤ毎に命令メッセージ１３０を作成し（Ｓ８７）、コントローラ３に対して送信する（Ｓ８８）が、このような処理に限定しなくてよい。他の例として、ゲートウェイ装置２のデータ更新部２１０は、データアクセス管理テーブル２００内の複数のデータ識別ＩＤに対して図１３のデータ更新処理に示すステップＳ８２〜Ｓ８６を繰り返し実行して複数の命令詳細情報１３４を作成した後、ステップＳ８７を実行して作成した命令メッセージ１３０を、ステップＳ８８を実行してコントローラ３に送信する。その後、データ更新部２１０は、コントローラ３から結果メッセージ１３７を受信する（Ｓ８８）。そして、データ更新部２１０は、結果メッセージ１３７に含まれる結果詳細情報１３９のアクセス対象のアドレス１３５とサイズ１３６に対して、ステップＳ８９〜Ｓ９１を繰り返し実行して、データアクセス管理テーブル２００に複数の結果値１４０を格納することにより、本実施の形態と同様の処理が可能となる。
【０１２４】
また、データアクセス管理テーブル２００に、更新時刻フィールドを追加することで、コンピュータ１−１からデータの取得を要求された要求時刻と、アクセス対象の結果値１４０を更新した時刻とを明確に分けてもよい。
【０１２５】
［第３の実施の形態］
上述した第１及び第２の実施の形態に係るデータアクセスシステムでは、コンピュータ１から要求があった時にのみ、ゲートウェイ装置２がコンピュータ１にデータを送信していた。一方、図１４に示す第３の実施の形態に係るデータアクセスシステム７Ｂが備えるゲートウェイ装置２は、現在時刻と、データアクセス管理テーブル２００から取得した配信時刻との差が許容時間を超えた場合に、コンピュータ１に対してデータの送信を行う。これにより、コンピュータ１がゲートウェイ装置２を通じて同じデータを周期的に取得する場合、コンピュータ１からゲートウェイ装置２に対して同じ要求を何度も送信する必要がなくなるため、情報ネットワーク５の負荷を低減することができる。以下、第３の実施の形態に係るデータアクセスシステム７Ｂの構成及び動作の詳細を説明する。なお、ここでは主に第３の実施の形態について第２の実施の形態との差異に着目して説明する。
【０１２６】
図１４は、第３の実施の形態に係るデータアクセスシステム７Ｂの全体構成例を示す機能ブロック図である。
【０１２７】
第３の実施の形態に係るコンピュータ１−１には、図１２に示す第２の実施の形態に係るコンピュータ１−１に対して、データ受信部１０１が追加されている。データ受信部１０１は、ＣＰＵ１３によりメモリ１０から読出され、実行される機能部であり、ゲートウェイ装置２から配信されるデータを受信する。
【０１２８】
また、第３の実施の形態に係るゲートウェイ装置２では、図１２に示す第２の実施の形態に対して、メモリ２０にデータ配信部２２０が追加されている。
データ配信部２２０は、ＣＰＵ２４によりメモリ２０から読出され、実行される機能部であり、コンピュータ１−１に対して周期的にデータを配信する。データ配信部２２０は、データアクセス管理テーブル２３０から取得したデータを含む応答メッセージ１１７を作成して、データアクセス管理テーブル２３０に配信先として規定されたコンピュータ１−１に、応答メッセージ１１７を配信する。応答メッセージ１１７の配信は、周期的に設定される時刻と、過去にコントローラ３−１から取得したデータをコンピュータ１−１に配信した時刻との差が、許容時間を超えた場合に行われる。周期的に設定される時刻とは、例えば、データ配信部２２０が動作する時点においてゲートウェイ装置２で管理される現在時刻であるが、他の時刻としてもよい。
【０１２９】
さらに、図１４に示すデータアクセス管理テーブル２３０は、図１２に示すデータアクセス管理テーブル２００に一部項目（配信先情報、配信時刻）を追加したものである。ここで、データアクセス管理テーブル２３０の詳細な構成について説明する。
【０１３０】
＜データアクセス管理テーブル＞
図１５は、データアクセス管理テーブル２３０の一例を示す説明図である。
上述したようにデータアクセス管理テーブル２３０は、図１２に示すデータアクセス管理テーブル２００に対して、配信先情報フィールドと配信時刻フィールドを追加した構成としてある。
配信先情報フィールドには、データの配信先となるコンピュータ１のアドレスが配信先情報として格納される。配信先となるコンピュータ１は１台でも、２台以上でもよい。また、配信先のコンピュータ１がない場合には、“０”が格納される。
配信時刻フィールドには、データ配信部２２０が後述する図１７のステップＳ１１７を実行したときに格納される配信時刻が格納される。
【０１３１】
＜データ配信処理＞
図１６は、第３の実施の形態に係るデータ受信部１０１が実行するデータ配信処理の例を示すフローチャートである。データ配信処理は、ゲートウェイ装置２からコンピュータ１−１に対して周期的に配信されたデータを受信する処理である。
【０１３２】
始めに、データ受信部１０１は、ゲートウェイ装置２から情報ネットワークＩ／Ｆ１２を介して、図２に示す応答メッセージ１１７の受信を待つ（Ｓ１０１）。応答メッセージ１１７を受信しなければ（Ｓ１０１の無し）、データ受信部１０１は、ゲートウェイ装置２から配信される応答メッセージ１１７の受信を待ち続ける。
【０１３３】
ステップＳ１０１にて、データ受信部１０１は、応答メッセージ１１７を受信すると（Ｓ１０１の有り）、応答メッセージ１１７に格納されている、結果値１２０を取り出し（Ｓ１０２）、表示装置１１に結果値１２０を表示する（Ｓ１０３）。その後、データ受信部１０１は、ステップＳ１０１に戻り、処理を繰り返す。
【０１３４】
＜データ配信処理＞
図１７は、第３の実施の形態に係るデータ配信部２２０が実行するデータ配信処理の例を示すフローチャートである。データ配信処理は、ゲートウェイ装置２のデータ配信部２２０が、コンピュータ１−１に対して所定の配信時刻にデータを配信する処理である。
【０１３５】
データ配信部２２０は、ゲートウェイ装置２が起動すると、図１５に示すデータアクセス管理テーブル２３０の先頭レコードからデータ識別ＩＤを取り出す（Ｓ１１１）。
【０１３６】
データ配信部２２０は、ステップＳ１１１、又は後述するステップＳ１２０で取得したデータ識別ＩＤをキーとして、データアクセス管理テーブル２３０を参照して、配信先情報フィールドから配信情報を取得し、配信時刻フィールドから配信時刻を取得する（Ｓ１１２）。
【０１３７】
次に、データ配信部２２０は、ステップＳ１１３で取得した配信先情報が“０”であるか否かを判定する（Ｓ１１３）。ステップＳ１１３で取得した配信先情報が“０”である場合（Ｓ１１３のＹＥＳ）、データ配信部２２０は、データアクセス管理テーブル２３０から次のレコードのデータ識別ＩＤを取り出す（Ｓ１２０）。その後、データ配信部２２０は、ステップＳ１１２を実行する。
【０１３８】
ステップＳ１１３で取得した配信先情報が“０”でない場合（Ｓ１１３のＮＯ）、データの配信先となるコンピュータ１の数は少なくとも一つ以上ある。このため、データ配信部２２０は、ステップＳ１１２で取得した配信時刻と現在時刻との差が、許容時間外であるか、すなわち許容時間を超えたか否かを判定する（Ｓ１１４）。
【０１３９】
ステップＳ１１２で取得した配信時刻と現在時刻との差が、許容時間を超えた場合（Ｓ１１４のＹＥＳ）、配信先のコンピュータ１にデータを配信するため、データ配信部２２０は、データアクセス管理テーブル２３０から次のレコードのデータ識別ＩＤを取り出す（Ｓ１２０）。その後、データ配信部２２０は、ステップＳ１１２を実行する。
【０１４０】
ステップＳ１１２で取得した配信時刻と現在時刻との差が、許容時間内に収まっている場合（Ｓ１１４のＮＯ）、配信先のコンピュータ１にデータは配信されない。このため、データ配信部２２０は、ステップＳ１１１、又は後述するステップＳ１１９で取得したデータ識別ＩＤをキーとして、データアクセス管理テーブル２３０の結果一時蓄積フィールドからアクセス対象の結果値１４０を取得する（Ｓ１１５）。
【０１４１】
次に、データ配信部２２０は、ステップＳ１１２で取得した配信先情報と、ステップＳ１１５で取得した結果値とを基にして、図２に示す応答詳細情報１１９を作成する（Ｓ１１６）。
【０１４２】
次に、データ配信部２２０は、ステップＳ１１１、又は後述するステップＳ１１９で取得したデータ識別ＩＤをキーとして、データアクセス管理テーブル２３０を参照して、配信時刻に現在時刻を格納する（Ｓ１１７）。
【０１４３】
次に、データ配信部２２０は、ステップＳ１１６で作成した応答詳細情報１１９を基にして、図２に示す応答メッセージ１１７を作成する（Ｓ１１８）。そして、データ配信部２２０は、ステップＳ１１２で取得した配信先情報を基にし、情報ネットワークＩ／Ｆ２１を介して、配信先のコンピュータ１に応答メッセージ１１７を個別に送信する（Ｓ１１９）。
【０１４４】
次に、データ配信部２２０は、データアクセス管理テーブル２３０から次のレコードのデータ識別ＩＤを取り出す（Ｓ１２０）。その後、データ配信部２２０は、ステップＳ１１２〜Ｓ１１９を繰り返し、実行する。
【０１４５】
以上説明した第３の実施の形態に係るデータアクセスシステム７Ｂでは、ゲートウェイ装置２が配信時刻を管理し、配信時刻と現在時刻の差が許容時間内である場合には、データアクセス管理テーブル２３０に格納されている配信先のコンピュータ１にデータを配信する。これにより、コンピュータ１は、ゲートウェイ装置２から周期的にデータを取得する際、ゲートウェイ装置２に対する毎回のデータアクセス要求をなくすことができ、情報ネットワーク５の負荷を低減することが可能となる。また、コンピュータ１が周期的な取得を望まないデータに関しては、データアクセス管理テーブル２３０の該当データの配信先を“０”としておく。これにより、ゲートウェイ装置２は、不必要にコンピュータ１へとデータを配信しないため、情報ネットワーク５の負荷を上昇させることはない。
【０１４６】
なお、本実施の形態では、ゲートウェイ装置２が配信先へ応答メッセージ１１７を送信する際、配信先に個別にデータを送信するが、これに限定されることはない。他の例として、ゲートウェイ装置２は、配信先情報フィールドに格納されている配信先のコンピュータ１に対してデータを一斉に送信してもよい。
【０１４７】
また、本実施の形態では、データアクセス管理テーブル２３０は配信先情報フィールドに配信先情報を格納しているが、データアクセス管理テーブル２３０に配信先情報フィールドがなくてもよい。この場合、ゲートウェイ装置２は、情報ネットワーク５に接続されている全てのコンピュータ１−１〜１−ｎに対して、応答メッセージ１１７を送信する。そして、各コンピュータ１−１〜１−ｎが備えるデータ受信部１０１は、応答メッセージ１１７の破棄、又は受信を個別に行うことにより、本実施の形態と同様の処理が可能である。
【０１４８】
また、本実施の形態に係るゲートウェイ装置２は、データアクセス管理テーブル２３０内のデータ識別ＩＤ毎に応答メッセージ１１７を作成し（Ｓ１１８）、送信する（Ｓ１１９）が、これに限定されることはない。他の例として、データアクセス管理テーブル２３０内の複数のデータ識別ＩＤに対して、ステップＳ１１２〜Ｓ１１７を実行して応答詳細情報１１９を作成した後、ステップＳ１１８にて作成した応答メッセージ１１７を、ステップＳ１１９にて配信先へ送信することにより、本実施の形態と同様の処理が可能である。
【０１４９】
［第４の実施の形態］
上述した第１〜第３の実施の形態に係るデータアクセスシステムでは、コンピュータ１−１〜１−ｎ、ゲートウェイ装置２及びコントローラ３−１〜３−ｎを備える構成とした。しかし、コンピュータ１−１〜１−ｎとコントローラ３−１〜３−ｎが直接つながる構成とすることで、ゲートウェイ装置２を除いた構成としてもよい。以下、第４の実施の形態に係るデータアクセスシステム７Ｃの構成及び動作の詳細を説明する。なお、ここでは主に第４の実施の形態について第３の実施の形態との差異に着目して説明する。
【０１５０】
図１８は、第４の実施の形態に係るデータアクセスシステム７Ｃの全体構成例を示す機能ブロック図である。
【０１５１】
第４の実施の形態に係るコンピュータ１−１は、図１４に示す第３の実施の形態に係るコンピュータ１−１と同様の構成としている。すなわち、コンピュータ１−１のデータアクセス要求送信部１００は、ネットワーク８を通じてコントローラ３−１にデータの要求を行い、コントローラ３−１からデータを取得することができる。また、コンピュータ１−１のデータ受信部１０１は、コントローラ３−１から配信されるデータを受信することができる。
【０１５２】
コントローラ３−１のメモリ３０には、上述した入力処理部３０１、出力処理部３０２、演算処理部３０３、データアクセス要求受信部３０４に加えて、データアクセス管理部３０６、通信処理部３０５、データ更新部３０７、データ配信部３０８及びデータアクセス管理テーブル３００を備える。
【０１５３】
通信処理部３０５、データアクセス管理部３０６、データ更新部３０７、データ配信部３０８は、上述したゲートウェイ装置２が備える情報系通信処理部２０１又は制御系通信処理部２０３、データアクセス管理部２０２、データ更新部２１０、データ配信部２２０と同様の機能としている。そして、通信処理部３０５、データアクセス管理部３０６、データ更新部３０７、データ配信部３０８は、ＣＰＵ３２によりメモリ３０から読出され、実行される機能部である。
【０１５４】
データアクセス管理テーブル３００は、上述したゲートウェイ装置２が備えるデータアクセス管理テーブル２３０と同様の構成としている。このため、データアクセス管理テーブル３００は、コントローラ３−１の制御対象であるプロセス４−１に関するデータのアクセス先が指定され、かつデータの整合性を保障するために参照される。
【０１５５】
通信処理部３０５は、ネットワーク８に接続されたコンピュータ１−１とメッセージの送受信を行う。具体的には、通信処理部３０５は、コンピュータ１−１から要求メッセージ１１０を受信し、コンピュータ１−１に応答メッセージ１１７を送信する。
【０１５６】
データアクセス管理部３０６は、データアクセス管理テーブル３００を参照して、通信処理部３０５から受け取るデータアクセス要求をデータアクセス要求受信部３０４に渡す。このため、データアクセス管理部３０６は、データアクセス管理テーブル３００を参照して、図２に示す要求メッセージ１１０を、データアクセス要求受信部３０４が解釈可能な命令に変換する。また、データアクセス管理部３０６は、データアクセス要求受信部３０４から渡された結果を、コンピュータ１−１が解釈可能な図２に示す応答メッセージ１１７に変換して通信処理部３０５に渡す。
【０１５７】
より具体的には、データアクセス管理部３０６は、通信処理部３０５がコンピュータ１−１から受信したデータの取得を要求する要求メッセージ１１０を解釈し、データアクセス要求受信部３０４にアクセス先からデータを取得させる。そして、データアクセス管理部３０６は、解釈されたメッセージに基づいて、データアクセス要求受信部３０４がアクセス先から取得したデータをデータアクセス管理テーブル３００に格納する。データアクセス管理部３０６は、コンピュータ１−１から受信したデータの取得を要求する要求メッセージ１１０に、データの整合性の保障を要求する情報が含まれる場合に、整合性を保障したデータを含む応答メッセージ１１７を通信処理部３０５からコンピュータ１−１に送信させる。このとき、許容時間内に取得したデータがデータアクセス管理テーブル３００に格納されたことをデータの整合性を保障するための条件とする。そして、データアクセス管理部３０６は、データアクセス管理テーブル３００から取得したデータをコンピュータ１−１が解釈可能に変換した応答メッセージ１１７を通信処理部３０５からコンピュータ１−１に送信する。
【０１５８】
ここで、データアクセス管理部３０６は、通信処理部３０５がコンピュータ１−１からデータの取得を要求する要求メッセージ１１０を受信したタイミングで、データアクセス管理テーブル３００に管理されるデータの整合性を判断する。例えば、データアクセス管理部３０６は、コンピュータ１−１がデータの取得を要求する要求メッセージ１１０を受信した時点における要求時刻と、過去にデータアクセス要求受信部３０４がデータを取得してデータアクセス管理テーブル３００に格納した時刻との差が、許容時間内に収まるか判定する。データアクセス管理部３０６は、この差が許容時間内に収まる場合に、データアクセス管理テーブル３００に管理され、整合性が保障されるデータを含む応答メッセージ１１７をコンピュータ１−１に対する応答として作成する。一方、データアクセス管理部３０６は、要求メッセージ１１０を受信した時点における要求時刻と、過去にデータアクセス要求受信部３０４がデータを取得してデータアクセス管理テーブル３００に格納した時刻との差が、許容時間を超えた場合に、新たにデータアクセス要求受信部３０４が取得したデータによりデータアクセス管理テーブル３００に管理されるデータを書換える。そして、データアクセス管理部３０６は、書換えたデータを含む応答メッセージ１１７をコンピュータ１−１に対する応答として作成する。この応答メッセージ１１７が通信処理部３０５によりコンピュータ１−１に送信される。
【０１５９】
データ更新部３０７は、データアクセス要求受信部３０４との間でデータを送受信する機能と、データアクセス管理テーブル３００に管理されるデータを更新する機能とを有している。このため、データ更新部３０７は、周期的に設定される時刻と、過去にデータアクセス要求受信部３０４が取得したデータをデータアクセス管理テーブル３００に格納した時刻との差が、許容時間を超えた場合に、データアクセス要求受信部３０４が取得したデータをデータアクセス管理テーブル３００に格納することでデータを更新する。
【０１６０】
データ配信部３０８は、コンピュータ１−１に対して周期的にデータを配信する。このため、データ配信部３０８は、周期的に設定される時刻と、過去にデータアクセス要求受信部３０４が取得したデータをコンピュータ１−１に配信した時刻との差が、許容時間を超えた場合に、データアクセス管理テーブル３００から取得したデータを含む応答メッセージ１１７を作成する。そして、データ配信部３０８は、データアクセス管理テーブル３００に配信先として規定されたコンピュータ１−１に応答メッセージ１１７を配信する。
【０１６１】
以上説明した第４の実施の形態に係るデータアクセスシステム７Ｃにおいても、第１〜第３の実施の形態に係るデータアクセスシステムと同様の機能を実現することが可能である。すなわち、コントローラ３がコンピュータ１に送信する応答メッセージ１１７に含まれるデータは整合性が保障されたものとなる。また、データアクセス管理テーブル３００に格納されるデータは、許容時間を超えると最新のデータに更新される。また、コントローラ３からコンピュータ１には、周期的にデータを配信することが可能となる。
【０１６２】
図１８では、コントローラ３にネットワーク８を介してコンピュータ１−１〜１−ｎが接続された例を示したが、コントローラ３にネットワーク８を介してゲートウェイ装置２が接続された例としてもよい。このゲートウェイ装置２には、図１に示したように情報ネットワーク５を介してコンピュータ１が接続される構成としてもよい。この場合のゲートウェイ装置２は、上述した各実施の形態におけるデータの整合性を保障する機能は不要となり、異なる情報ネットワーク５とネットワーク８の間で送受信されるメッセージを変換する機能だけを有するものとしてよい。
【０１６３】
なお、本発明は上述した実施の形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した実施の形態は本発明を分かりやすく説明するために装置及びシステムの構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、ここで説明した実施の形態の構成の一部を他の実施の形態の構成に置き換えることは可能であり、さらにはある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１６４】
１−１〜１−ｎ…コンピュータ、２…ゲートウェイ装置、３−１〜３−ｎ…コントローラ、４−１…プロセス、５…情報ネットワーク、６…制御ネットワーク、７…データアクセスシステム、１００…データアクセス要求送信部、１０１…データ受信部、１１０…要求メッセージ、１１７…応答メッセージ、１３０…命令メッセージ、１３７…結果メッセージ、２００…データアクセス管理テーブル、２０１…情報系通信処理部、２０２…データアクセス管理部、２０３…制御系通信処理部、２１０…データ更新部、２２０…データ配信部、３０４…データアクセス要求受信部
【図１】
2019008690.tif 000003
【図２】
2019008690.tif 000004
【図３】
2019008690.tif 000005
【図４】
2019008690.tif 000006
【図５】
2019008690.tif 000007
【図６】
2019008690.tif 000008
【図７】
2019008690.tif 000009
【図８】
2019008690.tif 000010
【図９】
2019008690.tif 000011
【図１０】
2019008690.tif 000012
【図１１】
2019008690.tif 000013
【図１２】
2019008690.tif 000014
【図１３】
2019008690.tif 000015
【図１４】
2019008690.tif 000016
【図１５】
2019008690.tif 000017
【図１６】
2019008690.tif 000018
【図１７】
2019008690.tif 000019
【図１８】
2019008690.tif 000020