(57)【特許請求の範囲】
【請求項１】
ＦＡネットワークシステムを構成するためのＦＡ機器であって、
演算実行部と、
その演算実行部が演算処理するためのプログラム，パラメータやＦＡ機器が作成・取得したデータ等のＦＡ機器が保持するデータをファイルとして記憶する記憶手段と、
前記記憶手段に記憶されているファイルのディレクトリ情報を備えたディレクトリ情報記憶手段と、
外部からのディレクトリ読み出し要求に従い前記ディレクトリ情報記憶手段をアクセスし、該当するディレクトリ情報をレスポンスとして返信する手段と、
外部からのファイルの読み出し要求に従い、前記記憶手段にアクセスして該当するファイルのデータを読み出しとともにレスポンスとして返信する読み出し手段と、
外部からのファイルの書き込み要求に従い、前記記憶手段にアクセスし、書き込みを行なう書き込み手段と、
を備え、
前記ディレクトリ情報には、前記ファイルのデータを外部と送受する際のファイルフォーマットを特定するフォーマット情報を含み、
前記読み出し手段は、前記記憶手段に格納されたファイルのファイルフォーマットと、前記フォーマット情報で特定されるファイルフォーマットが相違する場合、読み出したデータを前記フォーマット情報で特定されるファイルフォーマットに変換し、変換後のデータを送信する機能を備え、
前記書き込み手段は、前記記憶手段に格納するファイルのファイルフォーマットと、前記書き込み要求とともに取得したデータのファイルフォーマットとが相違する場合、取得したデータを予め設定されたファイルフォーマットに変換し、変換後のデータを前記記憶手段に書き込む機能を備えた、
ことを特徴とするＦＡ機器。
【請求項２】
ＦＡネットワークシステムを構成するためのＦＡ機器であって、
複数のモジュールを備え、各モジュールには、演算実行部と、その演算実行部が演算処理するためのプログラム，パラメータやＦＡ機器が作成・取得したデータ等のＦＡ機器が保持するデータをファイルとして記憶する記憶手段と、前記記憶手段に記憶されているファイルのディレクトリ情報を備えたディレクトリ情報記憶手段と、を備え、
前記複数のモジュールのうちの１つが親のモジュールとなるとともに残りが子のモジュールとなり、その親のモジュールが、外部のツール装置とファイルを構成するデータの送受を行なうようにし、
前記親のモジュールの前記ディレクトリ情報は、自身の記憶手段に格納されたファイルについてのディレクトリ情報と、子のモジュール自身の記憶手段に格納されたファイルについてのディレクトリ情報と、を備え、
前記親のモジュールは、
外部からのディレクトリ読み出し要求に従い前記ディレクトリ情報記憶手段をアクセスし、該当するディレクトリ情報をレスポンスとして返信する手段と、
外部からのファイルの読み出し要求に従い、前記親のモジュールの記憶手段にアクセスするか、前記子のモジュールに対して読み出しコマンドを発行することで該当するファイルのデータを取得するともにレスポンスとして返信する読み出し手段と、
外部からのファイルの書き込み要求に従い、前記親のモジュールの記憶手段にアクセスするか、前記子のモジュールに対して書き込みコマンドを発行することで書き込みを行なう書き込み手段と、
を備え、
前記親のモジュールのディレクトリ情報記憶手段に格納されたディレクトリ情報には、前記ファイルのデータを外部と送受する際のファイルフォーマットを特定するフォーマット情報を含み、
前記読み出し手段は、前記取得したファイルのファイルフォーマットと、前記フォーマット情報で特定されるファイルフォーマットが相違する場合、取得したデータを前記フォーマット情報で特定されるファイルフォーマットに変換し、変換後のデータを送信する機能を備え、
前記書き込み手段は、前記親のモジュールまたは子のモジュールの記憶手段に格納するファイルのファイルフォーマットと、前記書き込み要求とともに取得したデータのファイルフォーマットとが相違する場合、取得したデータを予め設定されたファイルフォーマットに変換し、変換後のデータを前記親のモジュールの記憶手段に書き込むか、前記変換後のデータとともに前記子のモジュールに対して書き込みコマンドを送る機能を備えた、
ことを特徴とするＦＡ機器。
【請求項３】
前記親のモジュールが記憶保持する、前記子のモジュール自身の記憶手段に格納されたファイルについてのディレクトリ情報中に、ファイルごとに前記子のモジュールの記憶手段に対する書き込みを許可するか否かの属性情報を持ち、
前記書き込み手段は、子のモジュールに対する書き込み要求を受けた際に、書き込み要求を受けたファイルの前記属性情報を確認し、書き込みが許可されていないファイルの場合には、受け取ったデータを前記子のモジュールに送らないようにする機能を備えたことを特徴とする請求項２に記載のＦＡ機器。
【請求項４】
予めファイルの種類に応じた複数のフォルダを用意し、前記記憶手段に格納されるファイルは、その種類に合わせていずれかのフォルダに振り分け、その振り分けた情報を前記ディレクトリ情報に持たせるようにしたことを特徴とする請求項１〜３のいずれか１項に記載のＦＡ機器。
【請求項５】
請求項１から４のいずれかに記載のＦＡ機器と、そのＦＡ機器と通信するツール装置と、を備えたシステムであって、
前記ツール装置は、前記ＦＡ機器に対してディレクトリ情報の読み出し要求をして取得したディレクトリ情報に基づき、そのＦＡ機器の記憶手段に格納されたファイルのリストを表示する機能と、
リストとして表示されたファイルに読み書きするためのコマンドを前記ＦＡ機器に送る機能と、
を備えたことを特徴とするファイルアクセスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＦＡ機器並びにそれを用いたファイルアクセスシステムに関するもので、ＦＡ機器に記憶されたデータ（ファイル）に対してアクセスするツール装置として、汎用のパソコン等を用いることができるようにしたものに関する。
【背景技術】
【０００２】
ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）におけるネットワークシステムは、生産設備内の入力機器及び出力機器の制御を司る１または複数のＰＬＣ（Programmable Logic Controller）と、そのＰＬＣにより動作が制御される機器とが、制御系のネットワークに接続される。それらＰＬＣと機器は、その制御系のネットワークを介してサイクリックに通信を行なうことで、ＩＮデータ及びＯＵＴデータ（以下Ｉ／Ｏデータという）の送受を行ない、生産設備を制御する。
【０００３】
また、最近では、次世代の産業用コントローラとして、ＰＡＣ（Programmable Automation Controller）と称されるコントローラが開発されている。このＰＡＣは、パーソナルコンピュータが持つ高速性や高機能や機能拡張性に加え、ＰＬＣが持つ高精度や耐久性を備えている。そのＰＡＣもＰＬＣと同様に、ネットワークを介して生産設備の機器と通信を行なうことで、Ｉ／Ｏデータの送受を行ない、生産設備を制御する。
【０００４】
上記のＰＬＣやＰＡＣ等の産業用コントローラは、複数のユニットを連結して構成されるタイプのものがある。この複数のユニットは、少なくとも１つのＣＰＵユニットを有し、更に、電源ユニット，モータユニット，カウンタユニット，画像ユニット，通信ユニット，Ｉ／Ｏユニット等がある。これらの複数のユニットは、産業用コントローラに要求される仕様に応じて適宜の組み合わせで連結することで、産業用コントローラを構成する。ＣＰＵユニットは、産業用コントローラの制御を統括するもので、ラダー言語等で作製されたユーザプログラムを実行する。このＣＰＵユニットは例えば、ＩＮデータである入力機器のＯＮ信号またはＯＦＦ信号を入力し、入力したＯＮ／ＯＦＦ情報をユーザプログラムによって論理演算し、演算結果であるＯＵＴデータを出力機器へ出力する。その出力が出力機器に対する動作指示となって出力機器が動作することにより、生産設備を制御する。また、モータユニットは、１台以上のサーボドライブ（サーボモータとその制御装置）を接続でき、モータの制御を行うものである。カウンタユニットは、１台以上のロータリーエンコーダを接続し、回転量や移動量などを計測するものである。画像ユニットは、１台以上のカメラを接続し、移動量や部品個数などを計測するものである。通信ユニットは、ネットワークに接続された他の装置とデータの送受を行なうものである。Ｉ／Ｏユニットは、センサやスイッチなどの入力機器を接続してそれらのオン・オフ信号を入力信号として取り込む入力ユニットやアクチュエータやリレーなどの出力機器を接続してそれらに対して出力信号を送り出す出力ユニット等がある。
【０００５】
上記の入力機器や出力機器は、ＰＬＣを構成するＩ／Ｏユニットに直接接続される場合と、ネットワークを介して接続される場合がある。そのネットワークを介して接続する形態として、たとえば、マスタ−スレーブ通信により行うことができる。この場合、ＰＬＣを構成するマスタユニット（マスタ）とスレーブとをフィールドネットワークに接続し、そのフィールドネットワークを介してマスタとスレーブとの間で通信を可能とする。マスタ−スレーブ方式のフィールドネットワークでは、生産現場に設置されるスレーブで生産設備のデータ収集および制御を行い、マスタが各スレーブを集中管理するという方式が一般的である。
【０００６】
さらに、入力機器や出力機器は、ＯＮ／ＯＦＦデータを扱うものと、温度センサ，視覚センサ，ＲＦＩＤ等のアナログデータを扱うものがある。言い換えると、ＯＮ／ＯＦＦ等の１ビットデータを扱うものと、アナログデータ（Ａ／Ｄ変換によりデジタル化した複数ビットからなるデータを含む）その他のワードデータを扱うものがある。さらには、ＦＡネットワークを構成する外部機器としては、これら入力機器や出力機器以外にも、温度調節器や、ＰＴ（プログラマブル表示器）等の各種の設定を行なう機器もある。これら各種の外部機器やＰＬＣ，ＰＡＣ等の産業用コントローラ並びにその産業用コントローラを構成するユニット・モジュール等の、ＦＡネットワークシステムを構成する装置・機器を一括してＦＡ機器と称する。
【０００７】
生産現場では、設備が故障し稼働がストップしてしまうと甚大なコスト被害をこうむる。したがって設備の状態を常時監視し、故障の予兆が現れたときに完全に故障となる前に対策を施すという予防保全の考えが重要となる。係る装置の故障の有無や故障の予兆を監視する技術として、たとえば特許文献１に開示された技術がある。
【０００８】
この特許文献１等に開示された技術は、外部機器に記憶保持された動作等に関する情報が、ネットワークを介してＰＬＣ等のコントローラや、モニタ装置などへ送られるように構成することで、外部から外部機器の状態をモニタリングすることができる。また、ＰＬＣその他のＦＡネットワークシステムを構成するＦＡ機器に対しては、ツール装置を接続することで、そのＦＡ機器の記憶手段に対してデータの読み書きが行なえる。
【特許文献１】特開２００３−２９５９１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ＦＡネットワークシステムでは、ＰＬＣ同士やＰＬＣにつながる機器が多様なネットワークやモジュールで構成されるようになってきたため、上述したようにＦＡ機器が持つ情報を収集することはできるものの、実際に各構成モジュールの保有する情報がどこにどのような形で存在するかを把握するのが困難になってきている。
【００１０】
また、ＦＡ機器（ＰＬＣ等のコントローラやその構成ユニットを含む）に内蔵されるメモリにアクセスし、そのメモリに格納された情報を読み書きするためには、通常、当該ＦＡ機器に対応するツール装置を用いて行なわれる。従って、近年では、ＦＡネットワークシステムは、複数のメーカから提供される機器（ＰＬＣその他のＦＡ機器）で構成されるようになってきたため、各メーカが用意したツール装置を使い分けて使用しなければならない。ツール装置は、アプリケーションプログラム（ツール）をパーソナルコンピュータ（パソコン）にインストールして実現されるので、実際には、１つのパソコンに、複数の異なるユーザから提供されたツールが組み込まれることになり、ユーザは、アクセスしようとするＦＡ機器に対応するツールを立ち上げ、その立ち上げたツールを用いて当該ＦＡ機器のメモリにアクセスする。このように、複数のツールを使い分けなければならないので煩雑となるばかりでなく、ツールは、メーカごとに操作性も異なることから、ユーザの操作環境が複雑化・煩雑化している。
【００１１】
従来パソコンで処理していた上位系のＭＥＳ（Manufacturing Execution System：製造実行システム）とのつなぎ機能をタッチパネルやＰＬＣに付加分散するケースが増えてきている。すると、タッチパネルやＰＬＣで記憶する必要のあるデータは大容量化し、パソコン上と同様ファイルとして管理する場合も多くなってきているが、係るファイルを効率よく管理・アクセスすることができない。
【００１２】
例えばＦＡ機器の１つである視覚センサにおいては、パラメータや計測値データなどの他に、撮像して得られた画像などのマルチメディアデータを取り扱うため、機器内部に記憶されている画像データを、専用ツールを使用してパソコンに読み込んでファイルとして取り扱う場合が多い。しかし、ＲＡＭに記憶されている画像データを、専用ツールを用いることなく、リアルタイムで読み出して表示するようなことできなかった。
【００１３】
また、ＦＡ機器の１つである高機能温度調節器においては、パラメータや現在値データなどの他に、温度プロファイルを取り扱うために、機器内部にあるデータを、パソコンに読み込んでファイルとして取り扱うために各社が用意した専用ツールを用い無ければ成らず、煩雑である。
【００１４】
更に、ＲＦＩＤやバーコードリーダなどの情報機器においては、品目等に関する文字データを取り扱うために、機器内部にあるデータをＰＬＣ経由もしくは直接パソコンに読み込んでファイルとして取り扱えれば便利であるが、従来、係るファイルの読み出し等が汎用的・簡易に行なうことができなかった。
【００１５】
この発明は、専用ツール装置を用いることなく、汎用のパソコン等によってＦＡ機器のメモリデバイスに格納されたデータ（ファイル）にアクセスして読み書きをしたり、ＦＡ機器のメモリデバイスに格納された各ファイルのフィルシステム構造を容易に理解することができるＦＡ機器並びにファイルアクセスシステムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記の目的を達成するため、本発明に係るＦＡ機器は、（１）ＦＡネットワークシステムを構成するためのＦＡ機器であって、演算実行部と、その演算実行部が演算処理するためのプログラム，パラメータやＦＡ機器が作成・取得したデータ等のＦＡ機器が保持するデータをファイルとして記憶する記憶手段と、記憶手段に記憶されているファイルのディレクトリ情報を備えたディレクトリ情報記憶手段と、外部からのディレクトリ読み出し要求に従いディレクトリ情報記憶手段をアクセスし、該当するディレクトリ情報をレスポンスとして返信する手段と、外部からのファイルの読み出し要求に従い、記憶手段にアクセスして該当するファイルのデータを読み出しとともにレスポンスとして返信する読み出し手段と、外部からのファイルの書き込み要求に従い、記憶手段にアクセスし、書き込みを行なう書き込み手段と、を備える。ディレクトリ情報には、ファイルのデータを外部と送受する際のファイルフォーマットを特定するフォーマット情報を含む。読み出し手段は、記憶手段に格納されたファイルのファイルフォーマットと、フォーマット情報で特定されるファイルフォーマットが相違する場合、読み出したデータをフォーマット情報で特定されるファイルフォーマットに変換し、変換後のデータを送信する機能を備え、書き込み手段は、記憶手段に格納するファイルのファイルフォーマットと、書き込み要求とともに取得したデータのファイルフォーマットとが相違する場合、取得したデータを予め設定されたファイルフォーマットに変換し、変換後のデータを記憶手段に書き込む機能を備えるようにした。
【００１７】
本発明によれば、ディレクトリ情報にファイルのデータを外部と送受する際のファイルフォーマットを特定するフォーマット情報を含むようにしたので、ツール装置等の外部の装置は、本発明のＦＡ機器から取得したディレクトリ情報中のファイルフォーマットに従い、記憶手段に格納されたファイルをリスト表示するに際し、そのファイルフォーマットに従った表示をする。このファイルフォーマットを、ｘｍｌやｃｓｖのように汎用のフォーマットにしておくことで、ユーザは、汎用のアプリケーションプログラムを用いてアクセスすることができる。
【００１８】
一方、ＦＡ機器の記憶手段に格納されたデータのファイルフォーマットは、例えばバイナリ等の従来からＦＡ機器が扱っているものとすると、上記のディレクトリ情報中のファイルフォーマットと実際に記憶手段に格納するファイルフォーマットが異なることが多々ある。この場合に、ＦＡ機器に実装する書き込み手段並びに読み出し手段に、上記の相違するファイルフォーマット間を変換する機能を備えたので、ツール装置は、自己が有する汎用のアプリケーションに対応するデータをＦＡ機器との間で送受することができ、一方、ＦＡ機器は、係るデータをファイルフォーマットの変換をして記憶手段に読み書きすることで、ＦＡ機器の演算部が実行することができる。
【００１９】
従って、Ｗｉｎｄｏｗｓ（登録商標）の一般的な環境のみのパソコンで、ＦＡ機器をあたかも１つのストレージデバイスをアクセスするような簡単な操作で、目的とする情報を検索・表示・コピーが可能となる。そして、特定のフォルダ以下に存在する複数の情報を、ワイルドカード機能により一括してコピーすることで、簡単にバックアップ／リストア操作を行うことが可能となる。更に、ＦＡ機器内のデータを、Ｗｉｎｄｏｗｓ（登録商標）の一般的なダブルクリックなどの操作で、適応する表計算ソフトやイメージデータを扱う一般的なアプリケーション等で開いて実行（表示・編集など）させることが可能となる。
【００２０】
（２）ＦＡネットワークシステムを構成するためのＦＡ機器であって、複数のモジュールを備え、各モジュールには、演算実行部と、その演算実行部が演算処理するためのプログラム，パラメータやＦＡ機器が作成・取得したデータ等のＦＡ機器が保持するデータをファイルとして記憶する記憶手段と、記憶手段に記憶されているファイルのディレクトリ情報を備えたディレクトリ情報記憶手段と、を備えた。そして、複数のモジュールのうちの１つが親のモジュールとなるとともに残りが子のモジュールとなり、その親のモジュールが、外部のツール装置とファイルを構成するデータの送受を行なうようにし、親のモジュールのディレクトリ情報は、自身の記憶手段に格納されたファイルについてのディレクトリ情報と、子のモジュール自身の記憶手段に格納されたファイルについてのディレクトリ情報と、を備えるようにした。さらに、親のモジュールは、外部からのディレクトリ読み出し要求に従いディレクトリ情報記憶手段をアクセスし、該当するディレクトリ情報をレスポンスとして返信する手段と、外部からのファイルの読み出し要求に従い、親のモジュールの記憶手段にアクセスするか、子のモジュールに対して読み出しコマンドを発行することで該当するファイルのデータを取得するともにレスポンスとして返信する読み出し手段と、外部からのファイルの書き込み要求に従い、親のモジュールの記憶手段にアクセスするか、子のモジュールに対して書き込みコマンドを発行することで書き込みを行なう書き込み手段と、を備える。さらにまた、親のモジュールのディレクトリ情報記憶手段に格納されたディレクトリ情報には、ファイルのデータを外部と送受する際のファイルフォーマットを特定するフォーマット情報を含み、読み出し手段は、取得したファイルのファイルフォーマットと、フォーマット情報で特定されるファイルフォーマットが相違する場合、取得したデータをフォーマット情報で特定されるファイルフォーマットに変換し、変換後のデータを送信する機能を備え、書き込み手段は、親のモジュールまたは子のモジュールの記憶手段に格納するファイルのファイルフォーマットと、書き込み要求とともに取得したデータのファイルフォーマットとが相違する場合、取得したデータを予め設定されたファイルフォーマットに変換し、変換後のデータを親のモジュールの記憶手段に書き込むか、変換後のデータとともに子のモジュールに対して書き込みコマンドを送る機能を備えるようにした。
【００２１】
記憶手段は、実施形態ではメモリデバイス１３〜１５やストレージデバイス１６に対応する。ディレクトリ情報記憶手段は、実施形態ではワークメモリ１２に格納されるディレクトリ情報テーブルに対応する。各機能は、ＭＰＵ１１に実装された図１１以降のフローチャートの所定の処理ステップを実行する機能により実現される。
【００２２】
この発明によれば、複数のモジュール（ハードウェアモジュール）から構成されるＦＡ機器（ＰＬＣ等）の場合、ツール装置等の外部の装置とデータの送受を行なう親のモジュールにてファイルフォーマットの変換処理を一括して行なうことができ、ツール装置等の外部の装置は、係る複数のモジュールで構成されるＦＡ機器をあたかも１つのストレージデバイスをアクセスするような簡単な操作で、目的とする情報を検索・表示・コピーが可能となる。
【００２３】
（３）親のモジュールが記憶保持する、子のモジュール自身の記憶手段に格納されたファイルについてのディレクトリ情報中に、ファイルごとに子のモジュールの記憶手段に対する書き込みを許可するか否かの属性情報を持たせる。そして、書き込み手段は、子のモジュールに対する書き込み要求を受けた際に、書き込み要求を受けたファイルの属性情報を確認し、書き込みが許可されていないファイルの場合には、受け取ったデータを子のモジュールに送らないようにする機能を備えるとよい。このようにすると、親子のモジュール間での通信を削減できるとともに、各モジュールでの無駄な処理を削減できるので、処理効率が良くなる。
【００２４】
（４）（１）〜（３）の発明を前提とし、予めファイルの種類に応じた複数のフォルダを用意し、記憶手段に格納されるファイルは、その種類に合わせていずれかのフォルダに振り分け、その振り分けた情報をディレクトリ情報に持たせるようにするとよい。ツール装置等の外部の装置は、ディレクトリ情報から、取得した各ファイルのリストをフォルダごとに分けて表示することができ、目的のデータを見付けやすくなり、管理が容易となる。
【００２５】
（５）本発明のファイルアクセスシステムは、（１）から（４）のいずれかに記載のＦＡ機器と、そのＦＡ機器と通信するツール装置と、を備えたシステムであって、ツール装置は、ＦＡ機器に対してディレクトリ情報の読み出し要求をして取得したディレクトリ情報に基づき、そのＦＡ機器の記憶手段に格納されたファイルのリストを表示する機能と、リストとして表示されたファイルに読み書きするためのコマンドをＦＡ機器に送る機能と、を備えた。
【発明の効果】
【００２６】
本発明は、ＦＡ機器の記憶手段に格納されたファイルを特定するためのディレクトリ情報を持たせ、しかも、そのディレクトリ情報に、ファイルのデータを外部と送受する際のファイルフォーマットを特定するフォーマット情報を含むようにしたので、ツール装置等の外部の装置は、本発明のＦＡ機器から取得したディレクトリ情報中のファイルフォーマットに従い、記憶手段に格納されたファイルをリスト表示するに際し、そのファイルフォーマットに従った表示をする。このファイルフォーマットを、ｘｍｌやｃｓｖのように汎用のフォーマットにしておくことで、ユーザは、汎用のアプリケーションプログラムを用いてアクセスすることができる。よって、専用ツール装置を用いることなく、汎用のパソコン等によってＦＡ機器のメモリデバイスに格納されたデータ（ファイル）にアクセスして読み書きをしたり、ＦＡ機器のメモリデバイスに格納された各ファイルのフィルシステム構造を容易に理解したりすることができる。
【発明を実施するための最良の形態】
【００２７】
図１は、本発明の第１実施形態を示している。本実施形態のＦＡ機器１０は、ＰＬＣ等の産業用コントローラ自身或いはＰＬＣ等を構成する所定のユニットや、温度調節器，視覚センサ，ＲＦＩＤ，タッチパネル，プログラマブル表示器等のＦＡネットワークシステムを構成する各種の機器である。本実施形態のＦＡ機器１０は、演算実行するＭＰＵ１１と、各種の記憶手段を備えたものである。記憶手段としては、図示の例では、ＭＰＵ１１が演算実行する際に使用するワークメモリ１２と、ユーザプログラムを格納するユーザメモリ１３と、ユーザデータを格納するユーザデータ記憶部１４と、パラメータを記憶するパラメータ記憶部１５と、フラッシュメモリ等のストレージデバイス１６等がある。ユーザデータは、例えば、ＰＬＣ（ＣＰＵユニット）の場合にはＩ／Ｏデータ等であり、温度調節器の場合には制御対象の機器の現在値やその履歴データ等であり、視覚センサの場合には撮像した画像データ等であり、ＲＦＩＤの場合には読み取ったデータ等である。パラメータは、Ｉ／Ｏテーブルやシステム設定などの設定情報である。ストレージデバイス１６は、着脱可能に装着される記憶媒体であり、無い場合ももちろんある。ユーザメモリ１３と、ユーザデータ記憶部１４と、パラメータ記憶部１５と、ストレージデバイス１６が、本実施形態で管理・アクセスするファイルシステムの対象である。
【００２８】
また、本実施形態のＦＡ機器１０は、外部インタフェースとしてＵＳＢなどのパソコンにおける汎用デバイスインタフェース１７と、イーサネット（登録商標）等のネットワークインタフェース１８を備えている。これにより、ツール装置２０は、ＵＳＢケーブル２１を用いて直接、或いは、ネットワーク２２を経由してＦＡ機器１０と通信することができる。
【００２９】
本実施形態の外部機器１０は、Ｗｉｎｄｏｗｓ（登録商標）のファイルシステムのストレージデバイスと同様に、ＦＡ機器１０内のＲＡＭディスク化していないメモリデバイス１３〜１５やストレージデバイス１６を、ディレクトリ構造で定義し、ツール装置２０がＵＳＢケーブル２１などを介して当該デバイスに格納されたデータに対しファイルとして読み書きする機能を備える。ネットワーク２２を介してｆｔｐなどのファイル転送プロトコルにおけるサーバ機能や、ファイルアクセスのためのプロトコルであるＣＩＦＳプロトコルにおける共有フォルダ機能を備えることで、ネットワーク環境においても、ツール装置２０が、メモリデバイス１３〜１５やストレージデバイス１６に格納されたデータをファイルとして読み書きできるようにしている。
【００３０】
上記機能をＦＡ機器１０（ＭＰＵ１１）に備えることで、ツール装置を構成するパソコンに組み込まれたＷｉｎｄｏｗｓ（登録商標）標準のエクスプローラなどのファイラソフトを用いて、ＦＡ機器に格納されている情報の在り処をツリー構造で表示し、各フォルダ内に表示された情報を、ファイルとして読み書きすることができる。
【００３１】
すなわち、ＵＳＢケーブル２１で接続したローカル配置の場合、図２（ａ）に示すように、従来のソフトウエア構成に比し、ＦＡ機器のファイルシステムとＵＳＢドライバを修正する。つまり、ファイルシステムは、メモリデバイス１３〜１５やストレージデバイス１６をファイルとして見えるようにするための機能を追加している。係る機能の具体的な構成・アルゴリズムは後述する。また、ＵＳＢドライバは、ファイルの読み書き（転送）を行なうためのドライバ機能を備える。なお、既存のＦＡ機器においてもＵＳＢドライバ実装されているが、そのＵＳＢドライバは、ＦＩＮＳ等のＦＡ専用の通信プロトコルに対応するもののみであったが、本実施形態では、汎用のファイルを扱うことができるようにしている。同様に、ネットワークを用いたリモート配置の場合、図２（ｂ）に示すように、従来のソフトウエア構成に比し、ＦＡ機器のファイルシステムを修正する。そして、ツール装置２０は、通常のパソコンとして組み込まれている機能をそのまま用いることかできる。
【００３２】
ネットワーク環境においてメモリデバイスに対するアクセスを許容するため、ＦＡ機器１０は、以下に示すようなｆｔｐコマンドを実行する機能を有する。このｆｔｐコマンド自体は、通常のものと同様である。
【００３３】
“ｄｉｒ／ｌｓコマンド”は、指定デバイスレイヤにおけるアイテムの一覧をフォルダ一覧ライクで取得するためのコマンドである。“ｃｄコマンド”は、現在位置を指定デバイスレイヤに移動するためのコマンドである。“ｐｗｄコマンド”は、現在デバイスレイヤを取得するためのコマンドである。
【００３４】
“ｇｅｔ／ｍｇｅｔコマンド”は、指定デバイスのアイテムをＡＳＣＩＩ／Ｂｉｎａｒｙモードで読み出すためのコマンドである。なお、ＡＳＣＩＩ／Ｂｉｎａｒｙの指定は、クライアント側でサーバ側デバイスの格納フォームに合わせて発行する。また、ｍｇｅｔはファイル名を「＊（アスタリスク）」で指定して複数アイテムを対象とする。一例を示すと、以下の通りである。
“get ftp://192.168.1.1/CP1L-M40DR-A/System/Config/IOtbl.cfg c:\temp\*.*”と記述されたマンドを受信した場合、サーバであるＦＡ機器は、Ｉ／Ｏテーブルを読み出し、クライアントにファイル転送する処理を行なう。
“mget ftp://192.168.1.1/CP1L-M40DR-A/System/Mem/*.* c:\temp\*.*”と記述されたマンドを受信した場合、サーバであるＦＡ機器は、ＰＬＣのＭｅｍフォルダ以下の全メモリを読み出し、クライアントにファイル転送する。
“get ftp://192.168.1.1/CP1L-M40DR-A/System/Data/PID01.csv c:\temp\*.*”と記述されたコマンドを受信した場合、サーバであるＦＡ機器は、ＰＬＣで定義されたオブジェクトのデータを読み出して、クライアントにファイル転送する。
【００３５】
“ｐｕｔ／ｍｐｕｔコマンド”は、指定デバイスのアイテムにＡＳＣＩＩ／Ｂｉｎａｒｙモードで書き込むためのコマンドである。なお、ＡＳＣＩＩ／Ｂｉｎａｒｙの指定は、クライアント側でサーバ側デバイスの格納フォームに合わせて発行する。ｍｐｕｔはファイル名を「＊（アスタリスク）」で指定して複数アイテムを対象とする。一例を示すと、以下の通りである。
“put c:\temp\IOtbl.cfg ftp://192.168.1.1/CP1L-M40DR-A/System/Config/*.*”と記述されたマンドを受信した場合、サーバであるＦＡ機器は、クライアントのＩ／ＯテーブルファイルをクライアントのＣｏｎｆｉｇフォルダ下にファイル転送して書き込む。
“mput c:\temp\*.* ftp://192.168.1.1/CP1L-M40DR-A/System/Mem/*.*”と記述されたマンドを受信した場合、サーバであるＦＡ機器は、クライアントのｔｅｍｐ以下のすべてのファイルをＰＬＣのＭｅｍフォルダ下にファイル転送して書き込む。
“put c:\temp\PID01.csv ftp://192.168.1.1/CP1L-M40DR-A/System/Data/*.*”と記述されたマンドを受信した場合、サーバであるＦＡ機器は、ＰＬＣで定義されたオブジェクトのデータイメージのファイルをＰＬＣのＤａｔａフォルダ下のメモリに書き込む。
【００３６】
図３は、本実施形態のＦＡ機器１０のファイルシステム構造の一例を示す図である。図４は、ＰＬＣシステム構成におけるファイルシステム構造の一例を示す図である。本実施形態は、外部機器を特定する“型式名”の下位に、“Ｍｅｍｃａｒｄ”と“Ｓｙｓｔｅｍ”のフォルダを用意した。そして、“Ｍｅｍｃａｒｄ”は、“Ｓｙｓ”と“Ｕｓｅｒ”の２つのフォルダを備え、“Ｓｙｓｔｅｍ”は“Ｃｏｎｆｉｇ”，“Ｐｒｏｇ”，“Ｍｅｍ”，“Ｄａｔａ”の４つのフォルダを備えている。もちろん、ＦＡ機器の種類によっては、“Ｍｅｍｃａｒｄ”が無い場合もあるし、“Ｃｏｎｆｉｇ”，“Ｐｒｏｇ”，“Ｍｅｍ”，“Ｄａｔａ”のうちの１または複数のフォルダがない場合もある。また、必要に応じて更に別のフォルダを設けることもできる。
【００３７】
ここで、“型式名”フォルダには、インテリジェントなハードウェアモジュールの型式名が記述される。一例を示すと、“CP1L-M40DR-A”のように、ＦＡ機器に付された型式名である。“Ｍｅｍｃａｒｄ”は、ストレージデバイス１６についてのデータが格納されるフォルダである。“Ｓｙｓ”は、ロギングデータファイル，オートブートファイル，ｈｔｍｌファイルなどのシステムで使用するファイルが格納されるフォルダである。また、“Ｕｓｅｒ”は、ＰＬＣアプリケーションプログラムに関わるフォルダ構成であり、レシピフォームなどのアプリケーション用フォームファイルやデータファイルやマルチメディアファイルなどが格納される。
【００３８】
“Ｓｙｓｔｅｍ”は、ＰＬＣシステムデータであるＰＬＣ物理構成に準じたフォルダ構成とする。ハードモジュールのメモリ領域をファイルとしてアクセスできる。書込はデフォルトで禁止されているが、Ｓｙｓｔｅｍフォルダの属性変更をすることで書込は可能となる。属性変更内容は、電源ＯＮ中のみ有効とし、新規作成や削除は禁止し、同一名での書込（更新）のみ可能とする。
【００３９】
“Ｃｏｎｆｉｇ”は、Ｉ／ＯテーブルやＰＣシステム設定などの設定情報に関するフォルダである。このフォルダに振り分けられるファイルは、バイナリファイルで構成され拡張子を「ｃｆｇ」とする。“Ｐｒｏｇ”は、プログラム内容に関するフォルダである。このフォルダに振り分けられるファイルは、バイナリファイルで構成され拡張子を「ｐｒｇ」とする。“Ｍｅｍ”は、ファームウェアで定義されたメモリ領域全体の内容に関するフォルダである。このフォルダに振り分けられるファイルは、バイナリファイルで構成され拡張子を「ｍｅｍ」とする。“Ｄａｔａ”は、オブジェクト（構造体や配列含む）として定義された特定のレジスタ／リレー領域の内容に関するフォルダである。このフォルダに振り分けられるファイルは、バイナリファイルで構成され拡張子を「ｄａｔ」とする。なお、バイナリファイルに替え、或いはバイナリファイルとともに表計算アプリケーションプログラムで一般に使用されるファイル形式（拡張子「ｃｓｖ」）を備えても良い。つまり、同じ内容のデータとして、２つのファイル型式のデータを備えることを許容する。この“Ｄａｔａ”フォルダに格納されるデータとしては、例えば、収集データや履歴データその他のロギングデータや、ファンクションブロックの構造体やＭＥＳにおけるレシピデータなどがある。
【００４０】
所定のメモリデバイス１３〜１５やストレージデバイス１６に記憶保持される各ファイルは、それぞれ上述のどのフォルダに振り分けられるのかについての情報も備えている。これにより、後述するように、所定のフォルダをダブルクリック等して開くことで、そのフォルダに属するファイルのリストを表示することができる。
【００４１】
上記のファイル構造によれば、ＣＰＵユニットと高機能ユニットを備えたＰＬＣの場合、図４に示すようなファイルの階層構造（例えばＷｉｎｄｏｗｓ（登録商標）のファイルシステムである￥￥で特定されるマイクロソフト社のＵＮＣ表示、ＵＲＩパス表示等）にて表現され、またはファイルをディレクトリ単位で階層構造で管理して表現される。この例では、ＰＬＣは、ＣＰＵユニット（モジュール）と、１つの高機能ユニット（モジュール）を備えている。そこで、その１つのＰＬＣを特定する論理モジュールに対応するフォルダを共通フォルダ（フォルダ名：ｐｌｃ０１）として設定し、その下位に、ＣＰＵモジュール用の型式名のフォルダ（CJ2H-CPU67）が作成される。このＣＰＵモジュールは、ストレージデバイス１６を実装されるタイプであるので、“Ｍｅｍｃａｒｄ”フォルダと“Ｓｙｓｔｅｍ”フォルダを備える。そして、ストレージデバイス１６に記憶されているファイルは、“Ｕｓｅｒ”フォルダに位置される。また、所定のメモリデバイスに記憶されているデータ（例えば、Ｉ／Ｏテーブルやシステム設定データ等）は、“Ｃｏｎｆｉｇ”フォルダ等に割り当てられる。
【００４２】
一方、この例の高機能モジュールは、ストレージデバイスが備えていないため、ファイルシステム構成においても、ストレージデバイスに対応する“Ｍｅｍｃａｒｄ”のフォルダが無く、“Ｓｙｓｔｅｍ”フォルダのみとなる。そして、所定のメモリデバイスに記憶されているデータ（例えば、Ｉ／Ｏテーブルやシステム設定データ等）は、“Ｃｏｎｆｉｇ”フォルダ等に割り当てられる。ここで、高機能モジュールとは、高機能ユニットとも称されるもので、ＣＰＵユニットにおけるサイクリックな制御とは独立し、自己に接続された外部機器等に対する制御を実行するもので、モーションコントローラ等がある。高機能モジュールは、ＣＰＵユニットと同様に制御プログラムを実行するＭＰＵを備えるし、当該制御プログラムを格納したり、設定データ等を格納したり、制御の実行にともない各種のデータを取得したりするので、それらを記憶するメモリデバイスを備える。
【００４３】
図５から図９は、ＦＡ機器１０にアクセスしたツール装置２０の表示装置に表示されるファイルシステム構造の一例を示している。各図に示すように、左側のウインドウ領域には、各フォルダがツリー状に配置される。図５は、ＰＬＣのメモリの表示例であり、図では、“Ｓｙｓｔｅｍ”フォルダの中の“Ｍｅｍ”フォルダがダブルクリック等により選択されて開き、その“Ｍｅｍ”フォルダ中に存在するファイルの一覧が、右側のウインドウ領域にバイナリーイメージにて表示されている。図から明らかなように、この例では、ＰＬＣのストレージデバイスやメモリデバイスは、Ｄドライブに割り当てられている。ＵＳＢメモリと同じイメージとなり、ツール装置２０を操作するユーザは、通常のパソコンに装着されるＵＳＢメモリに格納されたファイルにアクセスするのと同じ操作で、ＰＬＣのメモリデバイスに記憶されたデータに対してアクセスすることができる。
【００４４】
図６は、ＦＡ機器の１つであるタッチパネルの“ｓｙｓｔｅｍ”フォルダの中の“Ｍｅｍ”フォルダが選択され、メモリデバイスに格納されたデータが、ファイル形式で一覧表示されている。図７は、ＦＡ機器の１つである温度調節器の“ｓｙｓｔｅｍ”フォルダの中の“Ｄａｔａ”フォルダが選択され、メモリデバイスに格納されたデータが、ファイル形式で一覧表示されている。図示の例において、“Ｐａｒａｍ．ｄａｔ”は、時間経過に伴う設定温度の変化などのパラメータが格納されるファイルである。“Ｐａｒａｍ．ｃｓｖ” として、表形式のファイルとしても良い。“Ｐｒｏｆｉｌｅ．ｃｓｖ”は、実際に計測した温度変化の履歴を格納する表形式のファイルである。“Ｖａｒ．ｄａｔ”は、現在値（温度）などが格納されるファイルである。
【００４５】
図８は、ＦＡ機器の１つである視覚センサの“ｓｙｓｔｅｍ”フォルダの中の“Ｐｉｃｔ”フォルダが選択され、メモリデバイスに格納されたデータが、ファイル形式で一覧表示されている。このフォルダに振り分けられたデータは、視覚センサが撮像して得られたイメージデータである。イメージデータとして一般的なファイル形式であるビットマップファイルとして用意されている。なお、図示の例では、“Ｐｉｃｔ”フォルダとしたが、このイメージデータを“Ｄａｔａ”フォルダに振り分けるようにしてももちろん良い。
【００４６】
図９は、ＦＡ機器の１つであるＲＦＩＤ機器の“ｓｙｓｔｅｍ”フォルダの中の“Ｄａｔａ”フォルダが選択され、メモリデバイスに格納されたデータが、ファイル形式で一覧表示されている。図示の例において、“Ｒｅｃｉｐｅ．ｄａｔ”と“Ｒｅｃｉｐｅ．ｘｍｌ”は、ファイル形式が異なるもののともに同じ内容のレシピデータである。このように複数種類のファイル形式を用意することで、ユーザはいずれか使いやすいファイル形式のデータを見ることができ、操作性が向上する。但し、ファイル書き込み（変更）を認める場合、一方のみのファイルが更新されてしまうと、２つのファイルの内容が異なってしまうので、書き込み自体を禁止するか、書き込みをする場合には、両方のファイルに対して同じ内容を維持するための機能（一方のファイルを更新した場合、ファイル変換（コンバート）ソフト等を用いて、他方のファイル形式のファイルも更新する等）を備えるか、仕様により、ユーザが両方のファイルに対して必ず同じ内容の修正を行なうようにさせる必要がある。
【００４７】
上述したように、Ｗｉｎｄｏｗｓ（登録商標）の一般的な環境のみのパソコンで、ＦＡ機器をあたかも１つのストレージデバイスをアクセスするような簡単な操作で、目的とする情報を検索・表示・コピーが可能となる。そして、特定のフォルダ以下に存在する複数の情報を、ワイルドカード機能により一括してコピーすることで、簡単にバックアップ／リストア操作を行うことが可能となる。更に、ＦＡ機器内のデータを、Ｗｉｎｄｏｗｓ（登録商標）の一般的なダブルクリックなどの操作で、適応する表計算ソフトやイメージデータを扱う一般的なアプリケーション等で開いて実行（表示・編集など）させることが可能となる。
【００４８】
上述したように、ツール装置２０（一般的な環境のみのパソコンを含む）の表示装置の表示画面に、エクスプローラ等のファイル閲覧ソフト（ファイラソフト）を用いてＦＡ機器１０のメモリデバイス等の格納されたデータをツリー構造で表示するために、本実施形態のＦＡ機器１０は、以下に示す機能を組み込むようにした。
【００４９】
まず、ワークメモリ１２に、図１０に示すようなディレクトリ情報テーブルを設ける。ディレクトリ情報テーブルは、ＦＡ機器１０のメモリデバイス１３〜１５並びにストレージデバイス１６に格納された全てのファイルについて作成され、１つのファイルごとに１レコード作成される。図示するように、１レコードは、次のレコードへのポインタと、前のレコードへのポインタと、ファイル名と、ファイル属性と、ファイルサイズと、タイムスタンプと、を含んで構成される。前後のレコードへのポインタを設けることで、リスト構造をとり、全てのファイルについてのレコード情報を収集できる。つまり、ディレクトリ情報テーブルを参照することで、ＦＡ機器が保有するデータ（ファイル）を認識できる。また、ファイルの削除・追加に伴い、このレコードも削除・追加し、それに伴い前後のレコードへのポインタ情報も更新する。また、各フォルダも、個々に１つのレコードとしてディレクトリ情報として記憶保持される。
【００５０】
ファイル属性は、ファイルの書き込みの許可／禁止の区別や、提供するファイルフォーマットの種類（拡張子）や、実際のメモリデバイスに格納されているファイルフォーマット等がある。ＦＡ機器では、メモリデバイス，ストレージデバイスに格納されるデータのファイルフォーマットは、通常、バイナリファイルとなっている。また、ファイルが属するフォルダの種類もファイル属性に記録される。なお、拡張子とフォルダの種類が一対一に対応するようにした場合、拡張子から振り分けられるべきフォルダ特定されるので、当該ファイルが属するフォルダの種類についての情報を別途用意しなくても良い。また、記憶エリアを特定する情報（メモリデバイスの種類とメモリアドレス等）も格納するようにすると良い。
【００５１】
そして、ツール装置２０は、ＦＡ機器１０に対してディレクトリ読み出し要求を発行し、ＦＡ機器からのレスポンスとしてディレクトリ情報を取得する。このディレクトリ情報に基づき、ツール装置２０は、対しようとするＦＡ機器が、どのようなフォルダが存在しているかを認識し、図５から図９の左側のウインドウに示すように各フォルダをツリー状に配置して表示することができる。
【００５２】
また、取得したファイル属性から、各ファイルがどのフォルダに属するかがわかるので、ツール装置２０は、図５から図９の左側のウインドウに表示された所定のフォルダが選択された場合、そのフォルダに属するファイルのファイル名等の情報を右側のウインドウにリスト表示することができる。このとき、ファイル名に、ファイル属性に格納されている拡張子を関連付けて表示する。すなわち、拡張子を実際に表示するか否かは、ツール装置２０の設定により決定されるが、拡張子を関連付けることで、ＦＡ機器のメモリデバイス等に格納されているデータのファイルフォーマットに関係なく、右側のウインドウでリスト表示された際には、関連付けられた拡張子のファイルとして表示する（アイコンが対応するものに変わったり、種類名が対応するものとして表示されたりする）。よって、ツール装置２０を操作するユーザは、例えば、図７に示される“Ｐａｒａｍ．ｃｓｖ” を見た場合、表計算ソフトで操作できると認識できる。
【００５３】
一方、このディレクトリ情報テーブルの作成は、電源ＯＮ時に、ＭＰＵ１１が行なう。具体的には、ＭＰＵ１１が、図１１に示すフローチャートを実行する機能を備える。前提として、ＦＡ機器１０は、自分がどういうフォルダやファイルを持っているかについて、予めシステムが固有に認識している。つまり、“Ｄａｔａ”フォルダに格納されるデータは、ＦＡネットワークシステムの稼働に伴い逐次データが追加されたり、更新されたりし、電源投入時にメモリデバイスに格納されていないものがある。また、Ｉ／Ｏメモリのように例えばＭｅｍ内の情報は、ファイル自身は固定的に存在するが内容は常時変化する可能性が高く、最新のタイムスタンプで保持する性質のものである。
【００５４】
これに対し、編集したときの情報を意図的に保持するような情報は、固定バックアップ情報として所定の記憶媒体に保持される。“Ｃｏｎｆｉｇ”，“Ｐｒｏｇ”等のフォルダに格納された各データ（ファイル）は、多くの場合、ＦＡネットワークシステムの稼働に伴い変更されていくようなものでもなく、データ自体の内容は固定であるという意味で固定バックアップ情報として所定の記憶媒体に保持されている。そして内容が編集時と同一であることを検証するために、各ファイルを特定するファイル名や、サム値や、そのファイルの作成・更新した日時情報等が関連付けて備えているようにする。
【００５５】
そこで、ＭＰＵ１１は、電源が投入されたならば、メモリデバイス１３〜１５に格納された各ファイル（Ｓｙｓｔｅｍ下のファイルアクセスデバイス）を順次処理対象にし（Ｓ１）、その処理対象のファイルが固定バックアップ情報として記録されているものか否かを判断する（Ｓ２）。固定バックアップ情報に該当するものの場合、ＭＰＵ１１は、メモリデバイスに記憶されているファイルのサム値を求め、固定バックアップ情報として保持しているサム値が正しいか否かを判断する（Ｓ３）。そして、サム値が正しい場合（Ｓ３がＹｅｓ）、ＭＰＵ１１は処理対象のファイルについてのディレクトリ情報を作成し（Ｓ４）、ファイル化フラグをＯＮにする（Ｓ５）。つまり、ディレクトリ情報に格納するタイムスタンプを、当該処理対象のファイルが作成・更新されたときのタイムスタンプとする。この処理ステップＳ１〜Ｓ５までの処理を実行することで、正常な１つのファイルについてのディレクトリ情報が１レコード分作成され、これが、ワークメモリ１２に登録される。このとき、１番目（先頭）のディレクトリ情報の場合には、前レコードポインタはＮｕｌｌとなり、２番目以降のディレクトリ情報を登録するに際し、処理対象のファイルについての前レコードポインタと、前回登録・作成したディレクトリ情報の次レコードポインタに、それぞれ該当するポインタ情報を登録する。
【００５６】
一方、処理対象のファイルが固定バックアップ情報でなかったり、サム値が異常であったりした場合には、ファイル化フラグをＯＦＦにし、現在の日時情報に基づいて最新タイムスタンプで作成する（Ｓ８）。
【００５７】
そして、認識デバイスを更新する（Ｓ６）。つまり、次のファイルを処理対象にする。そして、処理対象が残っている場合（Ｓ７）、処理ステップＳ１に戻り次の処理対象についてのディレクトリ情報の作成処理を行なう。上記の処理を繰り返し実行することで、メモリデバイス１３〜１５に格納される各ファイルについてのディレクトリ情報からなるディレクトリ情報テーブルが作成される。
【００５８】
図１２は、ＭＰＵ１１に実装されるＳｙｓｔｅｍフォルダ下のメモリデバイス更新処理機能を示している。すなわち、ＦＡ機器は、システムの稼働にともない、ファイルが追加されたり、ファイルの内容が変更されたりする。また、ファイルが追加された場合には、当該ファイルについてのディレクトリ情報をディレクトリ情報テーブルに追加する必要が生じ、さらに、ファイルの内容が変更されたことに伴い、ファイルサイズやサム値等も変更され、登録済みのディレクトリ情報や固定バックアップ情報を修正する必要が生じることもある。そこで、ＭＰＵ１１は、図１２に示すように、係るファイルについての追加・変更等の更新処理と、ディレクトリ情報や固定バックアップ情報の更新処理等を行なう機能を備えるようにした。
【００５９】
つまり、ＭＰＵ１１は、メモリ変更要求を受けたか否かを判断する（Ｓ１１）。メモリ変更要求でない場合には、そのまま処理を終了し、メモリ変更要求を受けた場合には、ＭＰＵ１１は、その要求が所定のｆｔｐコマンド等を用いたファイル自体の一括した書き込み要求か否かを判断する（Ｓ１２）。ファイル書き込み要求の場合には、ＭＰＵ１１は、そのファイル属性が書き込み許可になっているか否かを判断し（Ｓ１３）、書き込み許可になっていない場合（Ｓ１３でＮｏ）、処理を終了する。書き込み許可になっている場合（Ｓ１３でＹｅｓ）、書き込み要求コマンドに従い、取得したファイルを所定のメモリデバイスに書き込み、メモリ内容の更新を行なう（Ｓ１４）。また、処理ステップＳ１２の分岐判断でＮｏ、つまり、既存のファイルのデータ・内容の更新処理の場合は、処理ステップＳ１２からＳ１４に飛び、ＭＰＵ１１は、該当するメモリ変更要求に従ってメモリ内容の更新をする。
【００６０】
次いで、ＭＰＵ１１は、メモリ内容の更新したファイルが、固定バックアップ情報に該当するものか否かを判断し（Ｓ１５）、Ｄａｔａフォルダに振り分けられるファイル等、固定バックアップ情報に該当しない場合には、そのまま処理を終了する。一方、固定バックアップ情報に該当する場合には、ＭＰＵ１１は、更新したメモリ内容のサム値を算出して固定バックアップ情報の更新を行ない（Ｓ１６）、その更新したファイルについてのディレクトリ情報の更新並びにファイル化フラグＯＮ（そのファイルの電源ＯＮ，更新時のタイムスタンプで作成）にする処理を行なう（Ｓ１７，Ｓ１８）。このＳ１７，Ｓ１８の処理は、例えば、ファイル書き込み要求により新規にファイルが作成された場合には、Ｓ４，Ｓ５と同様の処理を行ない、新規にディレクトリ情報を追加することになり、既存のファイルに対する変更の場合には、該当するディレクトリ情報のうちの変更された部位の更新処理を行なうことになる。
【００６１】
図１３は、ツール装置２０からの要求に伴いＭＰＵ１１が行なうファイル関連処理機能を示している。すなわち、ＭＰＵ１１は、ファイルイベントが発生するのを待ち（Ｓ２１）、イベントが発生したならば、そのイベントの内容がディレクトリ読み出しか否かを判断し（Ｓ２２）、ディレクトリ読み出しの場合には、ワークメモリ１２に格納したディレクトリ情報を読み出すとともに、読み出したディレクトリ情報をレスポンスとして返送する（Ｓ２３）。
【００６２】
ディレクトリ読み出しでない場合には、ＭＰＵ１１は、ファイル読み出しか否かを判断し（Ｓ２４）、ファイル読み出しの場合には、読み出し要求のファイルが、Ｓｙｓｔｅｍ下のフォルダにあるファイルか否かを判断する（Ｓ２５）。そして、Ｓｙｓｔｅｍ下でない場合には、ＭＰＵ１１は、通常の読み出し処理を行ない今回の処理を終了する（Ｓ２６）。一方、Ｓｙｓｔｅｍ下ファイルの場合には、ＭＰＵ１１は、該当するファイルを取得するとともに、所定のファイルフォーマットの変換を行ない（Ｓ２７）、変換後のファイルフォーマットのメモリ内容をレスポンスとして返送する（Ｓ２８）。すなわち、メモリデバイスに格納された各内容は、本実施形態では、ＦＡ機器が従来から持つファイルフォーマットにしている。つまり、上述したように、ツール装置２０の表示画面には、ファイル名に所定の拡張子を付したリストで表示するようにしたが、ＦＡ機器のメモリデバイスには必ずしも該当する拡張子のフォーマットで格納されているとは限らない。そこで、ＦＡ機器１０のＭＰＵ１１は、Ｓｙｓｔｅｍ下のファイルに対して読み出し要求があった場合、ツール装置２０に表示されている拡張子に対応するように（係る拡張子のファイルになるように）、所定のファイルフォーマット変換（コンバート）を行なうのである。ＭＰＵ１１は、係る変換機能も備えている。
【００６３】
また、取得したファイルイベントがファイル読み出しでない場合（Ｓ２４でＮｏ）、ＭＰＵ１１は、ファイル書き込みか否かを判断する（Ｓ２９）。そして、ファイル書き込みでもない場合には、ＭＰＵ１１は、イベントに対応するその他の通常の処理を行ない、今回の処理を終了する（Ｓ３０）。ファイル書き込みの場合には、書き込み要求のファイルが、Ｓｙｓｔｅｍ下のフォルダにあるファイルか否かを判断する（Ｓ３１）。そして、Ｓｙｓｔｅｍ下でない場合には、通常の書き込み処理を行ない今回の処理を終了する（Ｓ３２）。一方、Ｓｙｓｔｅｍ下ファイルの場合には、ＭＰＵ１１は、取得したファイル（ツール装置からは、一般的な汎用のファイルフォーマットのデータを取得）を、書き込み対象のメモリフォーマットに変換する（Ｓ３３：Ｓ２６と逆のフォーマット変換）。そして、ＭＰＵ１１は、変換後のフォーマットのデータに基づき、Ｓｙｓｔｅｍ下フォルダメモリデバイス更新処理を実行する（Ｓ３４）。この処理ステップＳ３４の具体的な処理アルゴリズムは、上述した図１２に示したフローチャートである。そして、係る処理が終了後、ＭＰＵ１１は、実行終了レスポンスを返送する（Ｓ３５）。
【００６４】
図１４は、ＦＡ機器の第２実施形態を示している。ＦＡ機器が、ＰＬＣのように複数のユニット（個々のユニット自体もＦＡ機器を構成する）が連結され、１つのＦＡ機器（複合モジュール構成機器）を構成するものに適用したものである。図１４では、各ユニットをモジュールと称している。各モジュール（ＦＡ機器：ユニット）１０′，１０″は、内部バス１０ａにより連結されている。よって、各ＦＡ機器１０′，１０″は、内部バス１０ａと接続され通信を行なうための内部バスインタフェース１９を備えている。この場合において、ＣＰＵユニット（モジュール-1）のように、親となるＦＡ機器１０′と、高機能ユニット（モジュール-2）のように子となるＦＡ機器１０″とを区別し、親となるＦＡ機器１０′（モジュール-1）には、連係された子となるＦＡ機器１０″（モジュール-2）の情報についても、Ｉ／Ｏテーブルに基づきディレクトリ構造で表示しファイルとしてアクセスする機能を提供する。子となるＦＡ機器１０″（モジュール-2）は、上述した第１実施形態のＦＡ機器１０と同じ機能を持たせる。
【００６５】
図１５は、第２実施形態の複合モジュール構成機器からなるＦＡ機器のファイルシステム構造の一例を示している。図３と比較すると明らかなように、個々のモジュール（ＦＡ機器１０′，１０″）についての型式名のフォルダと、Ｍｅｍｃａｒｄフォルダ及びＳｙｓｔｅｍフォルダの間に、号機番号フォルダを設けている。号機番号は、ユニット番号とも称されるもので、複合モジュール構成機器（たとえばＰＬＣ）内での個々のモジュール（ユニット）を特定するための番号である。ハードウェアモジュールのスイッチなどで設定された番号が格納される。なお、設定不要なモジュールはこのフォルダが省略されるため、図３に示すように、先に説明した第１実施形態のように単一のモジュールから構成されるＦＡ機器では当該フォルダが省略されている。本実施形態によれば、複数のハードウェアモジュールで構成されたＰＬＣシステムをあたかも１つのストレージデバイスをアクセスするような簡単な操作で、目的とする情報を検索・表示・コピーが可能となる。
【００６６】
図１６は、親のＦＡ機器（モジュール）が持つディレクトリ情報テーブルのデータ構造の一例を示している。図から明らかなように、自己のメモリデバイスに格納された各ファイルのデレクトリ情報の後ろに続いて、子のＦＡ機器（モジュール）についてのディレクトリ情報（子ディレクトリ情報）も備えている。さらに、子ディレクトリ情報の最終の次レコードポインタ（Ｎｕｌｌ）と先頭の前レコードポインタ（Ｎｕｌｌ）を書き替えて、自己のファイルについてのレコードと、子のレコードをまとめた１つのチェーンを作成している。具体的には、先頭の子ディレクトリ情報の前レコードポインタは、最終の自ディレクトリを指す情報が格納され、自ディレクトリ情報の最終のレコードの次レコードポインタは、子ディレクトリ情報の先頭のレコードを特定するポインタとしている。また、子ディレクトリ情報の最終のレコードの次レコードポインタは、自ディレクトリ情報の先頭のレコードを指す情報が格納され、その自ディレクトリ情報の先頭のレコードの前レコードポインタは、子ディレクトリ情報の最終のレコードを指す情報となっている。また、子の最終号機チェーンの最終のレコードの次レコードポインタは、続く子ディレクトリがないので、ＮＵＬＬ（バイナリデータをゼロ「０」）にするとともに、親の先頭の前レコードポインタもＮＵＬＬ（バイナリデータをゼロ「０」）にする。それによりテーブルの先頭と最終が判断できるようにする。なお、子のＦＡ機器のディレクトリ情報テーブルは、自己のメモリデバイスに格納されるファイルについてのディレクトリ情報のみが格納される。
【００６７】
各ＦＡ機器１０において、ディレクトリ情報テーブルの作成は、電源ＯＮ時に、ＭＰＵ１１が行なう。子のＦＡ機器１０″のＭＰＵ１１は、図１１に示したフローチャートを実行し、自己のメモリデバイス等に格納されたデータ（ファイル）についてディレクトリ情報を作成する。また、親のＦＡ機器１０′のＭＰＵ１１は、自己のメモリデバイス等に格納されたデータ（ファイル）については、図１１のフローチャートを実行してディレクトリ情報を作成する。そして、子のディレクトリ情報については、当該子のＦＡ機器１０″に対してディレクトリ読み出しコマンドを送り、その子のＦＡ機器からレスポンスとして返送されてきたディレクトリ情報を取得するとともに、ディレクトリ情報テーブルに格納することで作成する。具体的には、ＭＰＵ１１は、図１７に示す処理を実行する機能を備える。
【００６８】
まず、ＭＰＵ１１は、Ｉ／Ｏテーブルを１レコード読み出し（Ｓ６１）、その読み出したモジュールが高機能モジュールか否かを判断する（Ｓ６２）。本実施形態では、複合モジュール構成機器としてＰＬＣを想定し、親のＦＡ機器はＣＰＵモジュール（ＣＰＵユニット）、子のＦＡ機器は高機能モジュール（高機能ユニット）がそれぞれ対応するものとしたため、この処理ステップＳ６２の分岐判断は、“高機能モジュール？”としたが、一般化するならば、“子のＦＡ機器（モジュール）に該当する機器？”などとなる。そして、この判断は、該当する機器の一覧リストを別途記憶保持しておき、Ｉ／Ｏテーブルから読み出した処理対象のモジュール（機器）が一覧リストに載っているか否かにより判断することができる。
【００６９】
高機能モジュールでない場合には、Ｓ６２の分岐判断はＮｏとなるので、処理ステップＳ６７に飛び、Ｉ／Ｏテーブルのポインタを更新し、テーブルの最終になっていなければ処理ステップＳ６１に戻り、次の１レコードについての判断を行なう（Ｓ６７，Ｓ６８，Ｓ６１）。
【００７０】
一方、Ｉ／Ｏテーブルから読み出した処理対象が高機能モジュールの場合（Ｓ６２でＹｅｓ）、ＭＰＵ１１は、ディレクトリ読み出しコマンドをセットし、内部バス１０ａ経由で送信する（Ｓ６３）。ＭＰＵ１１は、高機能モジュールからのレスポンスを待ち（Ｓ６４）、レスンポンスが正常終了したならば（Ｓ６５でＹｅｓ）、レスポンスとして取得した高機能モジュールから送られてきた当該高機能モジュールのディレクトリ情報を、図１６に示す自己のディレクトリ情報テーブル（親ディレクトリ情報テーブル）中の子ディレクトリ情報に追加登録する（Ｓ６６）。これにより、１つの高機能モジュールについての子ディレクトリ情報が一括して登録される。もちろん、この登録処理に際し、レコードポインタを適宜設定し、自ディレクトリ情報と子ディレクトリ情報が全体としてチェーン構造がとれるようにする。
【００７１】
そして、１つの高機能モジュールについてのディレクトリ情報の登録が完了したならば、次ステップＳ６７に飛び、Ｉ／Ｏテーブルのポインタを更新し、テーブルの最終になっていなければ処理ステップＳ６１に戻り、次の１レコードについての判断を行なう（Ｓ６７，Ｓ６８，Ｓ６１）。
【００７２】
一方、高機能モジュールとの間の通信が正常終了しなかった場合（Ｓ５６でＮｏ）、そのレスポンスの内容が未定義レスポンスの場合には未対応モジュール処理を実行し（Ｓ６９，Ｓ７０）、未定義レスポンスでない場合には、そのレスポンスの内容にしたがって高機能モジュールの異常登録を行なう（Ｓ６９，Ｓ７１）。
【００７３】
図１８は、高機能モジュール（子）側のＭＰＵに組み込まれるファイル関連処理機能を示している。高機能モジュール（子のＦＡ機器）のＭＰＵは、コマンドを受信するのを待ち（Ｓ５１）、コマンドを受信したならばその受信したコマンドがディレクトリ読み出しか否かを判断する（Ｓ５２）。ディレクトリ読み出しの場合（図１７のＳ６３の実行により発行されたコマンド）、自己のディレクトリ情報テーブルからディレクトリを読み出すとともに、それにレスポンスコードをセットし、ＣＰＵユニットに対してレスポンスを返す（Ｓ５８）。
【００７４】
一方、受信したコマンドがディレクトリ読み出しでない場合、ＭＰＵは、ファイル関連コマンドか否かを判断し（Ｓ５４）、ファイル関連コマンドの場合には通常のファイル関連処理を実行し（Ｓ５５）、ファイル関連コマンドでない場合には、通常のメモリの読み出し／書き込み処理を実行する（Ｓ５６）。本実施形態は、ツール装置２０とのデータの送受は、親であるＣＰＵユニット（モジュール）が行なうので、ここでのファイル関連処理やメモリの読み出し／書き込み処理は、一般に行なわれるＣＰＵユニットからの指示に従って行なわれるメモリデバイスに対する読み書きである（ファイルフォーマットの変換等は行なわない）。もちろん、複合モジュール機器であっても、高機能モジュールに対して直接ツール装置２０がアクセス（ＵＳＢケーブル／ネットワーク経由）することは可能であり、その場合には、上述した左記の実施形態に従い、高機能モジュールのＭＰＵがツール装置２０との間で適宜ファイルフォーマットの変換処理等を行ないながらファイル／メモリの読み書き等を行なうことになる。
【００７５】
図１９，図２０は、親のＦＡ機器１０′であるＣＰＵユニット（モジュール-1）のＭＰＵ１１が、ツール装置２０からの要求に伴い行なうファイル関連処理機能を示している。すなわち、ＭＰＵ１１は、ファイルイベントが発生するのを待ち（Ｓ８１）、イベントが発生したならば、そのイベントの内容がディレクトリ読み出しか否かを判断し（Ｓ８２）、ディレクトリ読み出しの場合には、ワークメモリ１２に格納したディレクトリ情報を読み出すとともに、レスポンスとして返送する（Ｓ８３）。このとき返すレスポンス情報には、自レスポンス情報と、子レスポンス情報の両方を含むため、ツール装置２０は、ＣＰＵユニット（モジュール）と高機能ユニット（モジュール）の両方のディレクトリ情報を取得し、表示することができる。
【００７６】
ディレクトリ読み出しでない場合には、ＭＰＵ１１は、ファイル読み出しか否かを判断し（Ｓ８４）、ファイル読み出しの場合には、読み出し要求を受けたファイルが自ディレクトリファイルについてのものか否かを判断する（Ｓ８５）。そして、自ディレクトリファイルの場合（Ｓ８５でＹｅｓ）、ＭＰＵ１１は、読み出し要求のファイルが、Ｓｙｓｔｅｍ下のフォルダにあるファイルか否かを判断する（Ｓ９３）。そして、Ｓｙｓｔｅｍ下でない場合には、ＭＰＵ１１は、通常の読み出し処理を行ない今回の処理を終了する（Ｓ９６）。一方、Ｓｙｓｔｅｍ下ファイルの場合には、ＭＰＵ１１は、該当するファイルを取得するとともに、所定のファイルフォーマットの変換を行ない（Ｓ９５）、変換後のファイルフォーマットのメモリ内容をレスポンスとして返送する（Ｓ９６）。
【００７７】
また、読み出し要求を受けたファイルが自ディレクトリファイルでない場合（Ｓ８５はＮｏ）、ＭＰＵ１１は読み出し要求を受けたファイルが格納されている高機能モジュール宛に、対応するコマンド（ファイル読み出しコマンド）を発行し（Ｓ８６）、レスポンスを待つ（Ｓ８７）。そして、レスポンスを受信したならば、ＭＰＵ１１は、正常終了したか否かを確認し（Ｓ８８）、正常終了した場合には読み出し要求のファイルが、Ｓｙｓｔｅｍ下のフォルダにあるファイルか否かを判断する（Ｓ８９）。そして、Ｓｙｓｔｅｍ下ファイルの場合には、ＭＰＵ１１は、レスポンスとして取得したデータに対し、所定のファイルフォーマットの変換を行ない（Ｓ９０）、変換後のファイルフォーマットのデータをレスポンスとしてツール装置に返送する（Ｓ９１）。一方、Ｓｙｓｔｅｍ下でない場合には、上記のファイルフォーマットの変換は必要ないので、通常通り、ＭＰＵ１１は、高機能ユニットから取得したデータとレスポンスをツール装置２０に返送する。正常終了していない場合（Ｓ８８でＮｏ）には、ＭＰＵ１１は、高機能ユニットの異常登録を行なう（Ｓ９２）。
【００７８】
一方、取得したファイルイベントがファイル読み出しでない場合（Ｓ８４でＮｏ）、ＭＰＵ１１は、ファイル書き込みか否かを判断する（Ｓ１０１）。そして、ファイル書き込みでもない場合には、ＭＰＵ１１は、イベントに対応するその他の通常の処理を行ない、今回の処理を終了する（Ｓ１０２）。ファイル書き込みの場合には、書き込み要求のファイルが、Ｓｙｓｔｅｍ下のフォルダにあるファイルか否かを判断する（Ｓ１０３）。Ｓｙｓｔｅｍ下ファイルの場合には、ＭＰＵ１１は、取得したファイル（ツール装置からは、一般的な汎用のファイルフォーマットのデータを取得）を、書き込み対象のメモリフォーマットに変換する（Ｓ１０４：Ｓ９０と逆のフォーマット変換）。係る変換処理後、或いは、Ｓｙｓｔｅｍ下ファイルでない場合（Ｓ１０３でＮｏ）、ファイルの書き込み対象が自ディレクトリファイルについてのものか否かを判断する（Ｓ１０５）。そして、自ディレクトリファイルの場合（Ｓ１０５でＹｅｓ）、上述した第１実施形態と同様に、ＭＰＵ１１は、Ｓｙｓｔｅｍ下か否かを確認し（Ｓ１０６）、Ｓｙｓｔｅｍ下でない場合には、通常の書き込み処理を行ない今回の処理を終了する（Ｓ１０７）。一方、Ｓｙｓｔｅｍ下ファイルの場合には、ＭＰＵ１１は、Ｓｙｓｔｅｍ下フォルダメモリデバイス更新処理を実行する（Ｓ１０７）。Ｓｙｓｔｅｍ下フォルダメモリデバイス更新処理は、例えば第１実施形態で説明した図１２に示すフローチャートを実行することができるものとする。もちろん、このＳ１０７では、Ｓ１０１でファイル書き込みがＹｅｓとなっているので、通常、Ｓ１２の判断は常にＹｅｓとなるので、係る処理ステップをなくすなど、適宜修正しても良いし、同じ処理フローを使用することで、プログラムの共有を図るべくそのまま使用しても良い。また、Ｓ１４のメモリ内容の更新では、Ｓｙｓｔｅｍ下ファイルの場合、Ｓ１０４の実行ですでにフォーマット変換されているので、そのデータで更新する。この１０７の処理が完了後、ＭＰＵ１１は、ツール装置２０に対して実行終了レスポンスを返送し、今回の処理を終了する（Ｓ１０８）。
【００７９】
一方、書き込み要求を受けたファイルが自ディレクトリファイルでない場合（Ｓ１０５はＮｏ）、ＭＰＵは、処理対象となるファイルが書き込み許可されているものか否かを判断する（Ｓ１０６）。ＣＰＵユニットは、ワークメモリ１２に記憶保持したディレクトリ情報テーブルに、子ディレクトリ情報も併せて格納しているので、その情報中のファイル属性を確認し、書き込み許可されているか否かを判断できる。そして、書き込み許可されていないファイルの場合、ＣＰＵユニットのＭＰＵは、実行終了レスポンス（書き込み不可を返送する（Ｓ１０８）。もちろん、書き込み要求を受けたファイルを高機能モジュール側に転送した場合、高機能モジュール側から書き込み不可のレスポンスを受けるので、それをツール装置２０に返送しても良いが、ＣＰＵユニット側で書き込み可否の判断を行なうことで、無駄な処理を無くし、内部バス間の通信負荷を軽減するとともに、各ユニットでのＭＰＵの処理負荷の軽減を図ることができ、さらに、より早くレスポンスを返すことかできるようになる。
【００８０】
そして、書き込み許可されたファイルの場合には、ＣＰＵユニットのＭＰＵ１１は、書き込み要求を受けたファイルが格納されている高機能モジュール宛に、対応するコマンド（ファイル書き込みコマンド）を発行し（Ｓ１１１）、レスポンスを待つ（Ｓ１１２）。そして、レスポンスを受信したならば、ＭＰＵ１１は、正常終了したか否かを確認し（Ｓ１１３）、正常終了した場合には、実行終了レスポンス（正常終了）をツール装置２０に返送する（Ｓ１０８）。また、正常終了していない場合（Ｓ１１３でＮｏ）には、ＭＰＵ１１は、高機能ユニットの異常登録を行なう（Ｓ１１４）。
【図面の簡単な説明】
【００８１】
【図１】本発明の好適な第１実施形態を示すハードウェアブロック図である。
【図２】（ａ）は、ローカル配置のソフトウェアブロック図であり、（ｂ）はリモート配置のソフトウェアブロック図である。
【図３】ＦＡ機器のファイルシステム構造の一例を示す図である。
【図４】ＰＬＣシステム構成におけるファイルシステム構造例を示す図である。
【図５】ＵＳＢドライブとして割り付けたオールインワンタイプＰＬＣのメモリ表示例を示す図である。
【図６】マイクロソフト社（登録商標）のＵＮＣ表記によるタッチパネルのメモリ表示例を示す図である。
【図７】マイクロソフト社（登録商標）のＵＮＣ表記による温度調節器のメモリ表示を示す図である。
【図８】マイクロソフト社（登録商標）のＵＮＣ表記による視覚センサのメモリ表示例を示す図である。
【図９】マイクロソフト社（登録商標）のＵＮＣ表記によるＲＦＩＤ機器のメモリ表示例を示す図である。
【図１０】ディレクトリ情報テーブルのデータ構造を示す図である。
【図１１】電源ＯＮ時にＭＰＵが実行するメモリデバイスファイル化認識処理（ディレクトリ情報テーブル作成）機能を示すフローチャートである。
【図１２】Ｓｙｓｔｅｍフォルダ下のメモリデバイス更新処理機能を示すフローチャートである。
【図１３】ファイル関連処理機能を示すフローチャートである。
【図１４】本発明の第２実施形態を示すハードウェアブロック図である。
【図１５】ＰＬＣなどの複合モジュール構成機器のファイルシステム構造の一例を示す図である。
【図１６】親ディレクトリ情報テーブルの一例を示す図である。
【図１７】親のＦＡ機器における子のディレクトリ情報についてのテーブル作成機能を示すフローチャートである。
【図１８】高機能モジュール（子）側のファイル関連処理機能を示すフローチャートである。
【図１９】ＣＰＵモジュール（親）側のファイル関連処理機能を示すフローチャートである。
【図２０】ＣＰＵモジュール（親）側のファイル関連処理機能を示すフローチャートである。
【符号の説明】
【００８２】
１０  ＦＡ機器
１０′  ＦＡ機器（親）：ＣＰＵモジュール
１０″  ＦＡ機器（子）：高機能モジュール
１１  ＭＰＵ
１２  ワークメモリ
１３  ユーザメモリ
１４  ユーザデータ記憶部
１５  パラメータ記憶部
１６  ストレージデバイス
１７  汎用デバイスインタフェース
１８  ネットワークインタフェース
１９  内部バスインタフェース
２０  ツール装置
２１  ＵＳＢケーブル
２２  ネットワーク
【図１】
0005146656.tif 000002
【図２】
0005146656.tif 000003
【図３】
0005146656.tif 000004
【図４】
0005146656.tif 000005
【図５】
0005146656.tif 000006
【図６】
0005146656.tif 000007
【図７】
0005146656.tif 000008
【図８】
0005146656.tif 000009
【図９】
0005146656.tif 000010
【図１０】
0005146656.tif 000011
【図１１】
0005146656.tif 000012
【図１２】
0005146656.tif 000013
【図１３】
0005146656.tif 000014
【図１４】
0005146656.tif 000015
【図１５】
0005146656.tif 000016
【図１６】
0005146656.tif 000017
【図１７】
0005146656.tif 000018
【図１８】
0005146656.tif 000019
【図１９】
0005146656.tif 000020
【図２０】
0005146656.tif 000021