(57)【要約】  処理エンジンは、オブジェクト指向言語プログラム（１０３）の記述でオブジェクトのクラス定義を設定し、非オブジェクト指向言語プログラムであるラダープログラム（１０１）の記述にオブジェクトのオブジェクト名と変数名を設定し、ラダープログラム（１０１）からオブジェクト指向言語プログラム（１０３）のオブジェクトの変数へのアクセスを行う。ラダープログラム（１０１）は、予め取り決めたアクセス方式に基づき、オブジェクト指向言語プログラム（１０３）に対してオブジェクトの変数へのアクセス要求を行う。
2016162935.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト指向言語プログラムの記述でオブジェクトのクラス定義を設定し、  非オブジェクト指向言語プログラムの記述に前記オブジェクトのオブジェクト名と変数名を設定し、  前記非オブジェクト指向言語プログラムから前記オブジェクト指向言語プログラムの前記オブジェクトの変数へのアクセスを行う処理エンジン  を備えたことを特徴とする非オブジェクト指向言語プログラム連携装置。
【請求項２】
前記処理エンジンは、  前記非オブジェクト指向言語プログラムには、予め取り決めたアクセス方式に基づき、前記オブジェクト指向言語プログラムに対して前記オブジェクトの変数へのアクセス要求を行うことを特徴とする請求項１に記載の非オブジェクト指向言語プログラム連携装置。
【請求項３】
前記処理エンジンは、  前記オブジェクトの変数へのアクセス要求に基づく処理を前記オブジェクト指向言語プログラムが実行し、実行結果を前記非オブジェクト指向言語プログラムに返答することを特徴とする請求項２に記載の非オブジェクト指向言語プログラム連携装置。
【請求項４】
前記処理エンジンは、  前記非オブジェクト指向言語プログラムの中間コードを生成し、  前記非オブジェクト指向言語プログラムがアクセス可能な第１エリアと、前記非オブジェクト指向言語プログラムがアクセス可能なオブジェクトの変数および関数が格納された第２エリアと、  前記第２エリアの変数へのアクセスや関数の呼び出しを行うサービス関数が格納された第３エリアと、をメモリ上に確保し、  前記中間コードの解釈実行時のオブジェクトの変数が前記第１エリアにあれば、前記中間コードの変数の値を該当する前記第１エリアに書き込み、  前記中間コードの解釈実行時にオブジェクトが前記第１エリアにない場合には、前記第３エリアのサービス関数をコールする、  ことを特徴とする請求項２または３に記載の非オブジェクト指向言語プログラム連携装置。
【請求項５】
コンピュータが、  オブジェクト指向言語プログラムの記述でオブジェクトのクラス定義を設定し、  非オブジェクト指向言語プログラムの記述に前記オブジェクトのオブジェクト名と変数名を設定し、  前記非オブジェクト指向言語プログラムから前記オブジェクト指向言語プログラムの前記オブジェクトの変数へのアクセスを行う処理、  を実行することを特徴とする非オブジェクト指向言語プログラム連携方法。
【請求項６】
コンピュータに、  オブジェクト指向言語プログラムの記述でオブジェクトのクラス定義を設定し、  非オブジェクト指向言語プログラムの記述に前記オブジェクトのオブジェクト名と変数名を設定し、  前記非オブジェクト指向言語プログラムから前記オブジェクト指向言語プログラムの前記オブジェクトの変数へのアクセスを行う処理、  を実行させることを特徴とする非オブジェクト指向言語プログラムの連携プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  この発明は、シーケンス図を作成する非オブジェクト指向言語プログラム連携装置、非オブジェクト指向言語プログラム連携方法および非オブジェクト指向言語プログラムの連携プログラムに関する。
【背景技術】
【０００２】  従来、ラダー（ＬＤ：ＬＡＤＤＥＲ）プログラム、ＦＢＤ（Ｆｕｎｃｔｉｏｎ  Ｂｌｏｃｋ  Ｄｉａｇｒａｍ）プログラム等があり、それぞれ専用の非オブジェクト指向言語プログラムとして用いられている。これらは、プログラマブルコントローラ（ＰＬＣ）等におけるプログラミングツールとして用いられており、例えば、ラダープログラムのデバッグを容易に行うために、ラダープログラムの編集を行うツールが開示されている（例えば、下記特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２４３１３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】  しかしながら、ラダープログラムは、ラダーの仕様が制御装置メーカ間で統一されておらず、プログラミングを行うためには特殊な知識や経験が必要になることから、その扱いが特殊であり容易ではない。また、ＦＢＤにより記述されたＦＢＤプログラムは、ラダープログラムに比べて図形を用いて構造化およびモジュール化したプログラムであるが、ラダープログラム同様に汎用的ではない。【０００５】  このようなラダープログラムやＦＢＤプログラムは、それぞれ専用の非オブジェクト指向言語プログラムであり、現在汎用化されているＣ＋＋やＪａｖａ（登録商標）などのオブジェクト指向言語プログラムと連携したプログラム開発を行うことはできない。【０００６】  特に、ラダーやＦＢＤプログラムは、それぞれ専用の非オブジェクト指向言語プログラムであるため、言語使用に基づいて定義された変数や関数へのアクセスは可能であるが、オブジェクト指向言語のクラス定義に基づいて生成されたオブジェクトへのアクセスはできない。【０００７】  本発明は、上記課題に鑑み、非オブジェクト指向言語のプログラムをオブジェクト指向言語のプログラムと連携できることを目的とする。
【課題を解決するための手段】
【０００８】  上記目的を達成するため、この発明の非オブジェクト指向言語プログラム連携装置は、オブジェクト指向言語プログラムの記述でオブジェクトのクラス定義を設定し、非オブジェクト指向言語プログラムの記述に前記オブジェクトのオブジェクト名と変数名を設定し、前記非オブジェクト指向言語プログラムから前記オブジェクト指向言語プログラムの前記オブジェクトの変数へのアクセスを行う処理エンジンを備えたことを特徴とする。【０００９】  また、前記処理エンジンは、前記非オブジェクト指向言語プログラムには、予め取り決めたアクセス方式に基づき、前記オブジェクト指向言語プログラムに対して前記オブジェクトの変数へのアクセス要求を行うことを特徴とする。【００１０】  また、前記処理エンジンは、前記オブジェクトの変数へのアクセス要求に基づく処理を前記オブジェクト指向言語プログラムが実行し、実行結果を前記非オブジェクト指向言語プログラムに返答することを特徴とする。【００１１】  また、前記処理エンジンは、前記非オブジェクト指向言語プログラムの中間コードを生成し、前記非オブジェクト指向言語プログラムがアクセス可能な第１エリアと、前記非オブジェクト指向言語プログラムがアクセス可能なオブジェクトの変数および関数が格納された第２エリアと、前記第２エリアの変数へのアクセスや関数の呼び出しを行うサービス関数が格納された第３エリアと、をメモリ上に確保し、前記中間コードの解釈実行時のオブジェクトの変数が前記第１エリアにあれば、前記中間コードの変数の値を該当する前記第１エリアに書き込み、前記中間コードの解釈実行時にオブジェクトが前記第１エリアにない場合には、前記第３エリアのサービス関数をコールする、ことを特徴とする。【００１２】  また、この発明の非オブジェクト指向言語プログラム連携方法は、コンピュータが、オブジェクト指向言語プログラムの記述でオブジェクトのクラス定義を設定し、非オブジェクト指向言語プログラムの記述に前記オブジェクトのオブジェクト名と変数名を設定し、前記非オブジェクト指向言語プログラムから前記オブジェクト指向言語プログラムの前記オブジェクトの変数へのアクセスを行う処理、を実行することを特徴とする。【００１３】  また、この発明の非オブジェクト指向言語プログラムの連携プログラムは、コンピュータに、オブジェクト指向言語プログラムの記述でオブジェクトのクラス定義を設定し、非オブジェクト指向言語プログラムの記述に前記オブジェクトのオブジェクト名と変数名を設定し、前記非オブジェクト指向言語プログラムから前記オブジェクト指向言語プログラムの前記オブジェクトの変数へのアクセスを行う処理、を実行させることを特徴とする。【００１４】  上記構成によれば、非オブジェクト指向言語プログラムであっても、オブジェクト指向言語のクラス定義に基づいて生成されたオブジェクトへのアクセスを行うことができるようになる。
【発明の効果】
【００１５】  本発明によれば、非オブジェクト指向言語のプログラムをオブジェクト指向言語のプログラムと連携できるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施の形態にかかる非オブジェクト指向言語プログラム連携装置が実施するオブジェクト指向言語プログラムのオブジェクトへのアクセス状態を示す図である。
【図２Ａ】図２Ａは、実施の形態にかかる非オブジェクト指向言語プログラムが実施する連携処理の内容を示すフローチャートである。
【図２Ｂ】図２Ｂは、実施の形態にかかる非オブジェクト指向言語プログラムが実施する連携処理を説明する図である。
【図３】図３は、非オブジェクト指向言語プログラム連携装置のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１７】（実施の形態）  以下に添付図面を参照して、この発明にかかる非オブジェクト指向言語プログラム連携装置、非オブジェクト指向言語プログラム連携方法および非オブジェクト指向言語プログラムの連携プログラムの好適な実施の形態を詳細に説明する。
【００１８】（状態遷移付きシーケンス図の例）  図１は、実施の形態にかかる非オブジェクト指向言語プログラム連携装置が実施するオブジェクト指向言語プログラムのオブジェクトへのアクセス状態を示す図である。
【００１９】  図１の左側には、非オブジェクト指向言語プログラムとしてラダープログラム１０１やＦＢＤプログラム１０２の記述例（ラダー図、ＦＢＤ図）を示し、図１の右側には、オブジェクト指向言語プログラム１０３としてＣ＋＋やＪａｖａの記述例を示している。
【００２０】  図１に示すように、ラダープログラム１０１では、回路の接続構成にしたがって回路別の接続関係を示すラダー図を用い、例えば、接点１１１の操作により、リレー１１２，１１３が作動する。
【００２１】  実施の形態では、非オブジェクト指向言語プログラム（ラダープログラム１０１やＦＢＤプログラム１０２）について、オブジェクト指向型の開発環境を提供する。このため、図１のラダープログラム１０１（ラダー図）について、オブジェクト指向言語プログラム１０３の記述例に沿って各部を表現すると、接点１１１はオブジェクト（ＭｙＯｂｊ．ｍｅｍｂｅｒＡ）、リレー１１２，１１３は、それぞれオブジェクトに対する所定の関数（ＭＯＶ  ０  ＭｙＯｂｊ．ｍｅｍｂｅｒＢ）、（ＣＡＬＬ  ＭｙＯｂｊ．ＦｕｎｃＡ（１００））となる。
【００２２】  このように、非オブジェクト指向言語プログラム（ラダープログラム１０１）は、１．オブジェクトの変数を参照（指定）する場合は、「オブジェクト名．変数名」２．オブジェクトの操作（Ｍｅｔｈｏｄ）を指定する場合は、「オブジェクト名．操作名（引数）」と指定する。すなわち、非オブジェクト指向言語プログラム側が上記１．で記述できるようにオブジェクト指向言語プログラム（例えばＣ＋＋言語）側では、オブジェクトのクラス（Ｃｌａｓｓ）定義１３１を設定しておく。
【００２３】  ＦＢＤプログラム１０２についてもラダープログラム１０１と同様の機能を表現する。このＦＢＤプログラム１０２は、ファンクションブロック（関数）１２１に対する入力（実アドレス，変数）１２２の処理結果を出力（実アドレス，変数）１２３の形で表現する。
【００２４】  オブジェクト指向言語プログラム１０３側の記述例は、非オブジェクト指向言語プログラム（ラダープログラム１０１やＦＢＤプログラム１０２）の記述例（プログラム内容）に対応したものである。このオブジェクト指向言語プログラム１０３の記述例を順に説明すると、最初にクラス（ＭｙＣｌａｓｓ）の定義（オブジェクトの設計図）１３１を行う。このクラス定義１３１では、メンバ（ｍｅｍｂｅｒＡ，Ｂ）のデータ定義、および関数（ＦｕｎｃＡ，Ｂ）を定義する。
【００２５】  次に、オブジェクトの生成の記述（ＭｙＯｂｊ）１３２を行う。次に、プログラム記述１３３を行う。このプログラム記述１３３の例では、オブジェクトの中のメンバ変数の参照、オブジェクトの中のメンバ変数への代入、オブジェクトの中のメンバ関数（Ｍｅｔｈｏｄ）の呼び出しが含まれている。このプログラム記述（サービス関数）１３３は、自分のプログラム（オブジェクト指向言語プログラム１０３）内のオブジェクト（ＭｙＯｂｊ）１３２に直接アクセスする。
【００２６】  図１に示すように、オブジェクト指向言語プログラム１０３内で定義されているオブジェクト（ＭｙＯｂｊ）を非オブジェクト指向言語プログラム（ラダープログラム１０１やＦＢＤプログラム１０２）側からアクセスする場合を例に説明すると、非オブジェクト指向言語プログラム（ラダープログラム１０１やＦＢＤプログラム１０２）からオブジェクト指向言語プログラム１０３にオブジェクトへのアクセス要求１４１を出す。
【００２７】  この際、これらオブジェクト指向言語プログラム１０３と、非オブジェクト指向言語プログラム（ラダープログラム１０１やＦＢＤプログラム１０２）間で予め取り決めたアクセス方式（通信方式や関数ＣＡＬＬ等）を用いる。
【００２８】  そして、オブジェクト指向言語プログラム１０３は、アクセス要求１４１に基づく処理実行の結果１４２を非オブジェクト指向言語プログラム（ラダープログラム１０１やＦＢＤプログラム１０２）に返す。
【００２９】  上記のように、非オブジェクト指向言語プログラム（ラダープログラム１０１やＦＢＤプログラム１０２）側では、オブジェクト指向言語プログラム１０３で生成されたオブジェクトへのアクセスを可能とする記述を行う。
【００３０】  図２Ａは、実施の形態にかかる非オブジェクト指向言語プログラムが実施する連携処理の内容を示すフローチャートである。図２Ｂは、実施の形態にかかる非オブジェクト指向言語プログラムが実施する連携処理を説明する図である。
【００３１】  ここでは、非オブジェクト指向言語プログラムとして、ラダープログラム１０１に基づく記述を処理エンジン（ソフトウェア）２００が実行処理し、オブジェクト指向言語プログラム１０３で定義されている関数にアクセスする処理について説明する。
【００３２】  図２Ｂに示すように、処理エンジン２００は、ラダープログラム１０１の中間コード２１０を生成しメモリに格納しておく。接点１１１としてオブジェクト（ＭｙＯｂｊ．ｍｅｍｂｅｒＡ）、リレー１１２としてオブジェクトに対する関数（ＭＯＶ  ０  Ｄ０）、リレー１１３としてオブジェクトに対する関数（ＭＯＶ  ０  ＭｙＯｂｊ．ｍｅｍｂｅｒＢ）とする。
【００３３】  また、処理エンジン２００は、非オブジェクト指向言語プログラム（ラダープログラム１０１）がアクセス可能なエリア（エリア１）２１１と、オブジェクト指向言語プログラム１０３がアクセス可能なオブジェクト（変数や関数）が格納されたエリア（エリア２）２１２と、エリア２の変数へのアクセスや関数の呼び出しを行うサービス関数のエリア（エリア３）２１３と、を所定のメモリ上に領域確保しておく。
【００３４】  これらのメモリエリア（エリア１〜３）は、非オブジェクト指向言語プログラム（ラダープログラム１０１）の処理エンジン２００が予め領域確保しておく。このほか、非オブジェクト指向言語プログラム（ラダープログラム１０１）の処理エンジン２００と、オブジェクト指向言語プログラム１０３側の処理エンジンとが別であれば、いずれかの処理エンジンが予め領域確保すればよい。
【００３５】  図２Ａに示すように、処理エンジン２００は、一つ目の中間コード（ＭＯＶ  ０  Ｄ０）１１２のプログラムを解釈する（ステップＳ２０１）。この際、中間コードには変数（エリア１）２１１や関数（エリア２，３）２１２，２１３が格納されているようにしておく。
【００３６】  次に、処理エンジン２００は、エリア１（２１１）に割り当てられているので、エリア１のＤ０のメモリに値「０」を書き込む（ステップＳ２０２）。
【００３７】  次に、処理エンジン２００は、次の中間コード（ＭＯＶ  ０  ＭｙＯｂｊ．ｍｅｍｂｅｒＢ）１１３のプログラムを解釈する（ステップＳ２０３）。
【００３８】  そして、処理エンジン２００は、解釈した中間コード（ＭｙＯｂｊ．ｍｅｍｂｅｒＢ）はエリア１（２１１）には格納されていないので、エリア３（２１３）のサービス関数をＣＡＬＬして、中間コード（ＭｙＯｂｊ．ｍｅｍｂｅｒＢ）に値「０」をセットする（ステップＳ２０４）。
【００３９】  なお、処理エンジン２００は、オブジェクト指向言語プログラム１０３上で、サービス関数１３３のＣＡＬＬ（アクセス要求）１４１に基づく処理を実行し、処理実行の結果１４２を非オブジェクト指向言語プログラム（ラダープログラム１０１）側に返す。
【００４０】  以上のように、非オブジェクト指向言語プログラム（ラダープログラム１０１）の記述に基づく処理時に、非オブジェクト指向言語プログラム（ラダープログラム１０１）がアクセス可能なメモリ（エリア１）と、オブジェクト指向言語プログラム１０３がアクセス可能なメモリ（エリア２，３）と、に分ける。そして、中間コードの解釈時に、非オブジェクト指向言語プログラム（ラダープログラム１０１）がアクセス可能なメモリ（エリア１）に割り当てられていればその値をセットし、非オブジェクト指向言語プログラム（ラダープログラム１０１）がアクセス可能なメモリ（エリア１）に割り当てられていなければエリア３のサービス関数をＣＡＬＬする。
【００４１】  これにより、非オブジェクト指向言語プログラムとして、ラダープログラム１０１がオブジェクト指向言語プログラム１０３で定義されている関数にアクセスすることができるようになる。すなわち、非オブジェクト指向言語プログラム（ラダープログラム１０１）の言語仕様にないオブジェクトへのアクセスが可能となる。上記例では、ラダープログラム１０１について説明したが、ＦＢＤプログラム１０２についても同様にオブジェクト指向言語プログラム１０３で定義されている関数へのアクセスが可能となる。
【００４２】  また、実施の形態によれば、派性、継承といったオブジェクト指向処理についても、オブジェクト指向言語プログラム１０３内で実施することができる。そして、非オブジェクト指向言語（ＦＢＤ）プログラム１０２（処理エンジン２００）から、オブジェクト指向言語プログラム１０３に対して任意の派性、継承した処理（クラス、関数）を呼ぶことができる。例えば、上記のＭｙＣｌａｓｓを継承した新たなＹｏｕｒＣｌａｓｓを、上記ｍｅｍｂｅｒＡ，Ｂを継承したｍｅｍｂｅｒＣとして簡単に追加することができる。
【００４３】（非オブジェクト指向言語プログラム連携装置のハードウェア構成）  図３は、非オブジェクト指向言語プログラム連携装置のハードウェア構成例を示すブロック図である。図３において、非オブジェクト指向言語プログラム連携装置３００は、制御部（ＣＰＵ）３０１と、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）３０２と、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）３０３と、半導体メモリやディスクドライブ等の記憶部３０４と、通信インターフェース（Ｉ／Ｆ）３０５と、を含む。これらＣＰＵ３０１〜通信インターフェース３０５、キーボード３０６、ディスプレイ３０７は、バス３０８によってそれぞれ接続されている。
【００４４】  ＣＰＵ３０１は、非オブジェクト指向言語プログラム連携装置３００の全体の制御を司る演算処理装置である。ＲＯＭ３０２は、非オブジェクト指向言語プログラム連携装置３００のプログラム等を記憶する不揮発性メモリである。ＲＡＭ３０３は、ＣＰＵ３０１によるプログラムの演算処理実行時のワークエリアとして使用される揮発性メモリである。記憶部３０４には、処理実行の結果等が格納保持される。
【００４５】  通信インターフェース３０５は、ネットワーク３１０とのインターフェースを司り、データの入出力を制御する。具体的に、通信インターフェース３０５は、通信回線を通じてネットワーク３１０となるＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＷＡＮ）、インターネットなどに接続され、ネットワーク３１０を介して他の装置に接続される。このネットワークには、上述した非オブジェクト指向言語プログラム（ラダープログラム１０１やＦＢＤプログラム１０２）の処理エンジン２００と、オブジェクト指向言語プログラムの処理エンジンとの間の通信路を含む。
【００４６】  キーボード３０６は、非オブジェクト指向言語プログラム連携装置３００の処理操作等に用いる入力装置である。ディスプレイ３０７は、ＣＰＵ３０１のプログラム実行により、記憶部３０４から読み出した処理中あるいは処理実行結果を表示する装置である。ディスプレイ３０７には、例えば、Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ（ＴＦＴ）液晶表示部、プラズマ表示部、有機ＥＬ表示部などを採用することができる。
【００４７】  非オブジェクト指向言語プログラム（ラダープログラム１０１やＦＢＤプログラム１０２）の処理エンジン２００は、図３に示したＣＰＵ３０１がＲＯＭ３０２のプログラム実行により、非オブジェクト指向言語プログラム（ラダープログラム１０１やＦＢＤプログラム１０２）の処理を実行するとともに、上述したオブジェクト指向言語プログラム１０３で定義されている関数にアクセスする処理を行う。また、このＣＰＵ３０１は、オブジェクト指向言語プログラム１０３についても実行する構成としてもよい。また、上述したメモリ１〜３は、ＲＡＭ３０３の各領域を用いることができる。
【００４８】  また、上記の説明では、非オブジェクト指向言語プログラム（ラダープログラム１０１やＦＢＤプログラム１０２）からオブジェクト指向言語プログラム１０３で定義されている関数にアクセスする処理を行うことについて説明した。これに限らず、オブジェクト指向言語プログラム１０３側から、非オブジェクト指向言語プログラム（ラダープログラム１０１やＦＢＤプログラム１０２）に対しデータのやり取り（変換）を行うこともできる。
【００４９】  以上説明したように、ラダープログラムやＦＢＤプログラムなどの非オブジェクト指向言語プログラムであっても、オブジェクト指向言語のクラス定義に基づいて生成されたオブジェクトへのアクセスが行えるようになる。これにより、ラダープログラムやＦＢＤプログラムを用いた各独自な仕様のプログラム言語を用いた開発を行う際に、汎用化されているＣ＋＋やＪａｖａなどのオブジェクト指向言語プログラムと連携したプログラム開発を行うことができるようになる。例えば、ラダープログラムやＦＢＤプログラムの操作に慣れていない者でもオブジェクト指向の概念を用いてプログラム開発が行えるようになる。
【００５０】  上記実施の形態では、非オブジェクト指向言語プログラムとして、ラダー（ＬＤ）、ファンクションブロック（ＦＢＤ）の例について説明したが、他のストラクチャードテキスト（ＳＴ）、インストラクションリスト（ＩＬ）、シーケンシャルファンクションチャート（ＳＦＣ）等の非オブジェクト指向言語プログラムについても同様に適用することができる。
【産業上の利用可能性】
【００５１】  以上のように、本発明は、制御システムを非オブジェクト指向言語プログラムを用いたシステム開発に用いて好適であり、ＰＬＣなどの制御システムのプログラム開発に適している。
【符号の説明】
【００５２】  １０１  ラダープログラム（ラダー図）  １０２  ＦＢＤプログラム（ＦＢＤ図）  １０３  オブジェクト指向言語プログラム  １１１  接点（オブジェクト）  １１２，１１３  リレー（オブジェクトに対する関数）  ２００  処理エンジン  ３００  非オブジェクト指向言語プログラム連携装置  ３０１  制御部（ＣＰＵ）  ３０２  ＲＯＭ  ３０３  ＲＡＭ  ３０４  記憶部  ３０５  通信インターフェース  ３０６  キーボード  ３０７  ディスプレイ  ３０８  バス  ３１０  ネットワーク
【図１】
2016162935.tif 000003
【図２Ａ】
2016162935.tif 000004
【図２Ｂ】
2016162935.tif 000005
【図３】
2016162935.tif 000006
【国際調査報告】
2016162935.tif 000007
2016162935.tif 000008